Problems with QWizard...

Gary Greene <[email protected]> Sun, 16 Apr 2006 17:44:43 -0400
Newsgroups gmane.comp.kde.devel.general,gmane.comp.kde.devel.perl
Organization Shore Line Technologies, LLC.
Message-ID <[email protected]>
I'm working on an app that uses a qwizard for the main window. This is a 
PerlQt/PerlKDE application. I'm on Qt 3.3.4, Perl 5.8.8, and PerlQt 3.009.b2. 
When I reimplement the help() slot to load khelpcenter I get the following 
error: khelpcenter: ERROR: Communication problem with khelpcenter, it 
probably crashed. The main window code is attached.

-- 
Gary L. Greene, Jr.
Sent from uriel.tolharadys.net
 17:33:12 up 2 days,  5:30,  6 users,  load average: 1.12, 0.60, 0.22

============================================================
Developer and Project Lead for PhoeNUX OS.
 check out http://www.phoenuxos.com/ for more info.
EMAIL : [email protected]
============================================================

 
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
signature.asc (application/pgp-signature, 190 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.9.18 (GNU/Linux)

iD8DBQBEQrrL+psNrGG9CbMRAgGOAKCqeWKAOG4rtJ2hlhqmWcyC6wKTWQCfbita
ORB2+EX7IRCVNgQjiRt7re0=
=TtE6
-----END PGP SIGNATURE-----
CuteDisk.pm (application/x-perl-module, 10.1 KB)
package CuteDisk::CuteDisk;
use strict;
use utf8;

use Qt;
use Qt::isa qw(Qt::Wizard);
use Qt::attributes qw(
    topImg
    noDiskImg
    completedImg
    mainPage
    applyPage
    diskLbl
    sizeLbl
    frmtLbl
    mntPntLbl
    mntOnBootLbl
    advOptLbl
    devNodeLbl
    pleaseWaitLbl
    chgLbl
    regLbl
    fstabLbl
    drvCmboBox
    partIconView
    actionsBttnGrp
    delVolBttn
    resizeVolBttn
    frmtVolBttn
    mntPntBttn
    advOptBttn
    addVolBttn
    displayGrpBx
    chgPhysVolPixmap
    regChgSysPixmap
    fstabChgPixmap
    totalProgress
    AddPartDlg
    AdvOptionsDlg
    MntPntDlg
    FrmtDlg
    RsizePartDlg
);
use CuteDisk::AddPartition;
use CuteDisk::AdvOptDlg;
use CuteDisk::MountPoint;
use CuteDisk::FormatDlg;
use CuteDisk::ResizePartition;

use Qt::slots
    help                  => [],
    deletePartitionAction => [];

sub NEW {
    shift->SUPER::NEW( @_[ 0..3 ] );

    AddPartDlg = CuteDisk::AddPartition();
    AddPartDlg->hide();
    AdvOptionsDlg = CuteDisk::AdvOptDlg();
    AdvOptionsDlg->hide();
    MntPntDlg = CuteDisk::MountPoint();
    MntPntDlg->hide();
    FrmtDlg = CuteDisk::FormatDlg();
    FrmtDlg->hide();
    RsizePartDlg = CuteDisk::ResizePartition();
    RsizePartDlg->hide();

    topImg = Qt::Pixmap( "/usr/share/pixmaps/CuteDisk/CuteDisk.png" );
    noDiskImg = Qt::Pixmap( "/usr/share/pixmaps/CuteDisk/NoDisks.png" );
    completedImg = Qt::Pixmap( "/usr/share/pixmaps/CuteDisk/Completed.png" );

    if ( name() eq "unnamed" ) { setName( "CuteDisk" ); }

    setSizePolicy( Qt::SizePolicy( 0, 0, 0, 0, this->sizePolicy()->hasHeightForWidth() ) );
    setMinimumSize( Qt::Size( 625, 540 ) );
    setMaximumSize( Qt::Size( 625, 540 ) );
    setBaseSize( Qt::Size( 625, 560 ) );
    setIcon( topImg );
    my $font = Qt::Font( this->font );
    $font->setFamily( "Bitstream Vera Sans" );
    $font->setPointSize( 12 );
    $font->setBold( 1 );
    setTitleFont( $font );

    mainPage = Qt::Widget( this, "mainPage" );

    my $LayoutWidget = Qt::Widget( mainPage, '$LayoutWidget' );
    $LayoutWidget->setGeometry( Qt::Rect( 0, 0, 610, 450 ) );
    my $outerMainLayOut = Qt::VBoxLayout( $LayoutWidget, 11, 6, 'outerMainLayOut' );

    my $drvPartSelectionLayOut = Qt::VBoxLayout( undef, 0, 6, '$drvPartSelectionLayOut' );

    my $topLayOut = Qt::HBoxLayout( undef, 0, 6, 'topLayOut' );

    diskLbl = Qt::Label( $LayoutWidget, "diskLbl" );
    diskLbl->setSizePolicy( Qt::SizePolicy( 1, 3, 0, 0, diskLbl->sizePolicy()->hasHeightForWidth() ) );
    $topLayOut->addWidget( diskLbl );

    drvCmboBox = Qt::ComboBox( 0, $LayoutWidget, "drvCmboBox" );
    drvCmboBox->setSizePolicy( Qt::SizePolicy( 7, 0, 0, 0, drvCmboBox->sizePolicy()->hasHeightForWidth() ) );
    $topLayOut->addWidget( drvCmboBox );
    my $spacer = Qt::SpacerItem( 50, 28, &Qt::SizePolicy::Minimum, &Qt::SizePolicy::Minimum );
    $topLayOut->addItem( $spacer );
    $drvPartSelectionLayOut->addLayout( $topLayOut );

    partIconView = Qt::IconView( $LayoutWidget, "partIconView" );
    partIconView->setSizePolicy( Qt::SizePolicy( 7, 7, 120, 0, partIconView->sizePolicy()->hasHeightForWidth() ) );
    partIconView->setMinimumSize( Qt::Size( 0, 120 ) );
    partIconView->setResizeMode( &Qt::IconView::Adjust() );
    $drvPartSelectionLayOut->addWidget( partIconView );
    $outerMainLayOut->addLayout( $drvPartSelectionLayOut );

    my $lowerBttnGrp = Qt::HBoxLayout( undef, 0, 6, '$lowerBttnGrp' );

    actionsBttnGrp = Qt::ButtonGroup( $LayoutWidget, "actionsBttnGrp" );
    actionsBttnGrp->setSizePolicy( Qt::SizePolicy( 7, 7, 0, 0, actionsBttnGrp->sizePolicy()->hasHeightForWidth() ) );

    addVolBttn = Qt::PushButton( actionsBttnGrp, "addVolBttn" );
    addVolBttn->setGeometry( Qt::Rect( 10, 20, 180, 40 ) );

    delVolBttn = Qt::PushButton( actionsBttnGrp, "delVolBttn" );
    delVolBttn->setGeometry( Qt::Rect( 10, 60, 180, 40 ) );

    resizeVolBttn = Qt::PushButton( actionsBttnGrp, "resizeVolBttn" );
    resizeVolBttn->setGeometry( Qt::Rect( 10, 100, 180, 40 ) );

    frmtVolBttn = Qt::PushButton( actionsBttnGrp, "frmtVolBttn" );
    frmtVolBttn->setGeometry( Qt::Rect( 10, 140, 180, 40 ) );

    mntPntBttn = Qt::PushButton( actionsBttnGrp, "mntPntBttn" );
    mntPntBttn->setGeometry( Qt::Rect( 10, 180, 180, 40 ) );

    advOptBttn = Qt::PushButton( actionsBttnGrp, "advOptBttn" );
    advOptBttn->setGeometry( Qt::Rect( 10, 220, 180, 40 ) );

    $lowerBttnGrp->addWidget( actionsBttnGrp );

    displayGrpBx = Qt::GroupBox( $LayoutWidget, "displayGrpBx" );
    displayGrpBx->setSizePolicy( Qt::SizePolicy( 7, 7, 0, 0, displayGrpBx->sizePolicy()->hasHeightForWidth() ) );

    sizeLbl = Qt::Label( displayGrpBx, "sizeLbl" );
    sizeLbl->setGeometry( Qt::Rect( 20, 60, 358, 21 ) );

    frmtLbl = Qt::Label( displayGrpBx, "frmtLbl" );
    frmtLbl->setGeometry( Qt::Rect( 20, 90, 358, 21 ) );

    mntPntLbl = Qt::Label( displayGrpBx, "mntPntLbl" );
    mntPntLbl->setGeometry( Qt::Rect( 20, 120, 358, 21 ) );

    mntOnBootLbl = Qt::Label( displayGrpBx, "mntOnBootLbl" );
    mntOnBootLbl->setGeometry( Qt::Rect( 20, 150, 358, 21 ) );

    advOptLbl = Qt::Label( displayGrpBx, "advOptLbl" );
    advOptLbl->setGeometry( Qt::Rect(20, 180, 358, 70 ) );
    advOptLbl->setAlignment( int( &Qt::Label::WordBreak | &Qt::Label::AlignTop ) );

    devNodeLbl = Qt::Label( displayGrpBx, "devNodeLbl" );
    devNodeLbl->setGeometry( Qt::Rect( 21, 31, 358, 21 ) );
    $lowerBttnGrp->addWidget( displayGrpBx );
    $outerMainLayOut->addLayout( $lowerBttnGrp );
    addPage( mainPage, "" );

    applyPage = Qt::Widget( this, "applyPage" );

    my $LayoutWidget_2 = Qt::Widget( applyPage, '$LayoutWidget_2' );
    $LayoutWidget_2->setGeometry( Qt::Rect( 0, 10, 610, 200 ) );
    my $layout47 = Qt::VBoxLayout( $LayoutWidget_2, 11, 6, '$layout47' );

    pleaseWaitLbl = Qt::Label( $LayoutWidget_2, "pleaseWaitLbl" );
    $layout47->addWidget( pleaseWaitLbl );

    my $layout45 = Qt::HBoxLayout( undef, 0, 6, '$layout45' );

    chgLbl = Qt::Label( $LayoutWidget_2, "chgLbl" );
    chgLbl->setSizePolicy( Qt::SizePolicy( 7, 5, 0, 0, chgLbl->sizePolicy()->hasHeightForWidth() ) );
    $layout45->addWidget( chgLbl );

    chgPhysVolPixmap = Qt::Label( $LayoutWidget_2, "chgPhysVolPixmap" );
    chgPhysVolPixmap->setPixmap( completedImg );
    chgPhysVolPixmap->setScaledContents( 1 );
    $layout45->addWidget( chgPhysVolPixmap );
    $layout47->addLayout( $layout45 );

    my $layout44 = Qt::HBoxLayout( undef, 0, 6, '$layout44' );

    regLbl = Qt::Label( $LayoutWidget_2, "regLbl" );
    regLbl->setSizePolicy( Qt::SizePolicy( 7, 5, 0, 0, regLbl->sizePolicy()->hasHeightForWidth() ) );
    $layout44->addWidget( regLbl );

    regChgSysPixmap = Qt::Label( $LayoutWidget_2, "regChgSysPixmap" );
    regChgSysPixmap->setPixmap( completedImg );
    regChgSysPixmap->setScaledContents( 1 );
    $layout44->addWidget( regChgSysPixmap );
    $layout47->addLayout( $layout44 );

    my $layout43 = Qt::HBoxLayout( undef, 0, 6, '$layout43' );

    fstabLbl = Qt::Label( $LayoutWidget_2, "fstabLbl" );
    fstabLbl->setSizePolicy( Qt::SizePolicy( 7, 5, 0, 0, fstabLbl->sizePolicy()->hasHeightForWidth() ) );
    $layout43->addWidget( fstabLbl );

    fstabChgPixmap = Qt::Label( $LayoutWidget_2, "fstabChgPixmap" );
    fstabChgPixmap->setPixmap( completedImg );
    fstabChgPixmap->setScaledContents( 1 );
    $layout43->addWidget( fstabChgPixmap );
    $layout47->addLayout( $layout43 );

    totalProgress = Qt::ProgressBar( $LayoutWidget_2, "totalProgress" );
    totalProgress->setSizePolicy( Qt::SizePolicy( 7, 7, 0, 0, totalProgress->sizePolicy()->hasHeightForWidth() ) );
    totalProgress->setProgress( int( 0 ) );
    totalProgress->setIndicatorFollowsStyle( 1 );
    totalProgress->setPercentageVisible( 1 );
    $layout47->addWidget( totalProgress );
    addPage( applyPage, "" );

    languageChange();

    my $resize = Qt::Size( 625, 540 );
    $resize = $resize->expandedTo( minimumSizeHint() );
    resize( $resize );
    clearWState( &Qt::WState_Polished );

    Qt::Object::connect( addVolBttn, SIGNAL "released()", AddPartDlg, SLOT "show()" );
    Qt::Object::connect( delVolBttn, SIGNAL "released()", this, SLOT "deletePartitionAction()" );
    Qt::Object::connect( resizeVolBttn, SIGNAL "released()", RsizePartDlg, SLOT "show()" );
    Qt::Object::connect( frmtVolBttn, SIGNAL "released()", FrmtDlg, SLOT "show()" );
    Qt::Object::connect( mntPntBttn, SIGNAL "released()", MntPntDlg, SLOT "show()" );
    Qt::Object::connect( advOptBttn, SIGNAL "released()", AdvOptionsDlg, SLOT "show()" );
    Qt::Object::connect( this, SIGNAL "helpClicked()", this, SLOT "help()" );
}

#  Sets the strings of the subwidgets using the current
#  language.
sub languageChange {
    setCaption( trUtf8( "CuteDisk v0.1" ) );
    diskLbl->setText( trUtf8( "Hard Disk:" ) );
    drvCmboBox->clear();
    drvCmboBox->insertItem( trUtf8( "hda" ) );
    partIconView->clear();
    Qt::IconViewItem( partIconView, trUtf8( "No Volumes" ), noDiskImg );
    actionsBttnGrp->setTitle( trUtf8( "Actions" ) );
    delVolBttn->setText( trUtf8( "Remove Volume" ) );
    resizeVolBttn->setText( trUtf8( "Resize Volume" ) );
    frmtVolBttn->setText( trUtf8( "Format Volume" ) );
    mntPntBttn->setText( trUtf8( "Mount Point" ) );
    advOptBttn->setText( trUtf8( "Advanced Options" ) );
    addVolBttn->setText( trUtf8( "Add New Volume" ) );
    displayGrpBx->setTitle( trUtf8( "Details" ) );
    sizeLbl->setText( trUtf8( "Size:" ) );
    frmtLbl->setText( trUtf8( "Filesystem Format:" ) );
    mntPntLbl->setText( trUtf8( "Mount Point:" ) );
    mntOnBootLbl->setText( trUtf8( "Mount on Boot:" ) );
    advOptLbl->setText( trUtf8( "Advanced Options:" ) );
    devNodeLbl->setText( trUtf8( "Device Node:" ) );
    setTitle( mainPage, trUtf8( "Volume Management" ) );
    pleaseWaitLbl->setText( trUtf8( "Please wait while the changes you specified are applied...." ) );
    chgLbl->setText( trUtf8( "Making changes to the physical storage volumes:" ) );
    regLbl->setText( trUtf8( "Registering changes with the system:" ) );
    fstabLbl->setText( trUtf8( "Modifying global filesystem table:" ) );
    setTitle( applyPage, trUtf8( "Applying Changes" ) );
}

sub deletePartitionAction {
}

sub help {
    print "Starting the help center....\n";
    system( "khelpcenter man:/cutedisk" );
}

1;