From d7cca919f20d602bd755b7690c25e31f6e9520b1 Mon Sep 17 00:00:00 2001 From: andyq Date: Tue, 22 Oct 2002 18:00:55 +0000 Subject: Changed so that refreshing server packages shows status dialog --- diff --git a/noncore/settings/aqpkg/installdlgimpl.cpp b/noncore/settings/aqpkg/installdlgimpl.cpp index e122064..a924daf 100644 --- a/noncore/settings/aqpkg/installdlgimpl.cpp +++ b/noncore/settings/aqpkg/installdlgimpl.cpp @@ -97,16 +97,13 @@ InstallDlgImpl::InstallDlgImpl( vector &packageList, DataManager *d } output->setText( remove + install + upgrade ); - - connect( &ipkg, SIGNAL(outputText(const QString &)), this, SLOT(displayText(const QString &))); } -InstallDlgImpl::InstallDlgImpl( QWidget *parent, const char *name, bool modal, WFlags fl ) +InstallDlgImpl::InstallDlgImpl( Ipkg *ipkg, QString initialText, QWidget *parent, const char *name, bool modal, WFlags fl ) : InstallDlg( parent, name, modal, fl ) { - upgradePackages = true; - output->setText( "Upgrading installed packages" ); - connect( &ipkg, SIGNAL(outputText(const QString &)), this, SLOT(displayText(const QString &))); + pIpkg = ipkg; + output->setText( initialText ); } @@ -155,14 +152,12 @@ void InstallDlgImpl :: installSelected() btnInstall->setEnabled( false ); - if ( upgradePackages ) + if ( pIpkg ) { output->setText( "" ); - Ipkg ipkg; - connect( &ipkg, SIGNAL(outputText(const QString &)), this, SLOT(displayText(const QString &))); - ipkg.setOption( "upgrade" ); - ipkg.runIpkg(); + connect( pIpkg, SIGNAL(outputText(const QString &)), this, SLOT(displayText(const QString &))); + pIpkg->runIpkg(); } else { @@ -181,47 +176,52 @@ void InstallDlgImpl :: installSelected() cfg.writeEntry( "dest", dest ); #endif + pIpkg = new Ipkg; + connect( pIpkg, SIGNAL(outputText(const QString &)), this, SLOT(displayText(const QString &))); + // First run through the remove list, then the install list then the upgrade list vector::iterator it; - ipkg.setOption( "remove" ); + pIpkg->setOption( "remove" ); for ( it = removeList.begin() ; it != removeList.end() ; ++it ) { - ipkg.setDestination( it->destination->getDestinationName() ); - ipkg.setDestinationDir( it->destination->getDestinationPath() ); - ipkg.setPackage( it->packageName ); + pIpkg->setDestination( it->destination->getDestinationName() ); + pIpkg->setDestinationDir( it->destination->getDestinationPath() ); + pIpkg->setPackage( it->packageName ); int tmpFlags = flags; if ( it->destination->linkToRoot() ) tmpFlags |= MAKE_LINKS; - ipkg.setFlags( tmpFlags ); - ipkg.runIpkg(); + pIpkg->setFlags( tmpFlags ); + pIpkg->runIpkg(); } - ipkg.setOption( "install" ); - ipkg.setDestination( dest ); - ipkg.setDestinationDir( destDir ); - ipkg.setFlags( instFlags ); + pIpkg->setOption( "install" ); + pIpkg->setDestination( dest ); + pIpkg->setDestinationDir( destDir ); + pIpkg->setFlags( instFlags ); for ( it = installList.begin() ; it != installList.end() ; ++it ) { - ipkg.setPackage( it->packageName ); - ipkg.runIpkg(); + pIpkg->setPackage( it->packageName ); + pIpkg->runIpkg(); } flags |= FORCE_REINSTALL; - ipkg.setOption( "reinstall" ); + pIpkg->setOption( "reinstall" ); for ( it = updateList.begin() ; it != updateList.end() ; ++it ) { - ipkg.setDestination( it->destination->getDestinationName() ); - ipkg.setDestinationDir( it->destination->getDestinationPath() ); - ipkg.setPackage( it->packageName ); + pIpkg->setDestination( it->destination->getDestinationName() ); + pIpkg->setDestinationDir( it->destination->getDestinationPath() ); + pIpkg->setPackage( it->packageName ); int tmpFlags = flags; if ( it->destination->linkToRoot() && it->recreateLinks ) tmpFlags |= MAKE_LINKS; - ipkg.setFlags( tmpFlags ); - ipkg.runIpkg(); + pIpkg->setFlags( tmpFlags ); + pIpkg->runIpkg(); } + + delete pIpkg; } btnInstall->setEnabled( true ); diff --git a/noncore/settings/aqpkg/installdlgimpl.h b/noncore/settings/aqpkg/installdlgimpl.h index 3a5d8b8..6716ced 100644 --- a/noncore/settings/aqpkg/installdlgimpl.h +++ b/noncore/settings/aqpkg/installdlgimpl.h @@ -38,7 +38,7 @@ class InstallDlgImpl : public InstallDlg { public: InstallDlgImpl( vector &packageList, DataManager *dataManager, QWidget * parent = 0, const char* name = 0, bool modal = false, WFlags fl = 0 ); - InstallDlgImpl( QWidget * parent = 0, const char* name = 0, bool modal = false, WFlags fl = 0 ); + InstallDlgImpl( Ipkg *ipkg, QString initialText, QWidget * parent = 0, const char* name = 0, bool modal = false, WFlags fl = 0 ); ~InstallDlgImpl(); bool showDlg(); @@ -52,7 +52,7 @@ private: vector removeList; vector updateList; int flags; - Ipkg ipkg; + Ipkg *pIpkg; bool upgradePackages; bool runIpkg( QString &option, const QString& package, const QString& dest, int flags ); diff --git a/noncore/settings/aqpkg/ipkg.cpp b/noncore/settings/aqpkg/ipkg.cpp index 02d4258..eacef76 100644 --- a/noncore/settings/aqpkg/ipkg.cpp +++ b/noncore/settings/aqpkg/ipkg.cpp @@ -105,8 +105,9 @@ bool Ipkg :: runIpkg( ) cmd += " " + package; cmd += " 2>&1"; - - emit outputText( QString( "Dealing with package " ) + package ); + + if ( package != "" ) + emit outputText( QString( "Dealing with package " ) + package ); qApp->processEvents(); diff --git a/noncore/settings/aqpkg/networkpkgmgr.cpp b/noncore/settings/aqpkg/networkpkgmgr.cpp index 52d95a8..6874ded 100644 --- a/noncore/settings/aqpkg/networkpkgmgr.cpp +++ b/noncore/settings/aqpkg/networkpkgmgr.cpp @@ -268,28 +268,26 @@ void NetworkPackageManager :: updateServer() // Update the current server // Display dialog - ProgressDlg *dlg = new ProgressDlg( this ); - QString status = "Updating package lists..."; - dlg->show(); - dlg->setText( status ); +// ProgressDlg *progDlg = new ProgressDlg( this ); +// QString status = "Updating package lists..."; +// progDlg->show(); +// progDlg->setText( status ); // Disable buttons to stop silly people clicking lots on them :) // First, write out ipkg_conf file so that ipkg can use it dataMgr->writeOutIpkgConf(); - QString option = "update"; - QString dummy = ""; Ipkg ipkg; - connect( &ipkg, SIGNAL(outputText(const QString &)), this, SLOT(displayText(const QString &))); - ipkg.setOption( option ); + ipkg.setOption( "update" ); - ipkg.runIpkg( ); + InstallDlgImpl dlg( &ipkg, "Refreshing server package lists", this, "Upgrade", true ); + dlg.showDlg(); // Reload data dataMgr->reloadServerData( serversList->currentText() ); serverSelected(-1); - delete dlg; +// delete progDlg; } void NetworkPackageManager :: upgradePackages() @@ -309,7 +307,10 @@ void NetworkPackageManager :: upgradePackages() dataMgr->writeOutIpkgConf(); // Now run upgrade - InstallDlgImpl dlg( this, "Upgrade", true ); + Ipkg ipkg; + ipkg.setOption( "upgrade" ); + + InstallDlgImpl dlg( &ipkg, "Upgrading installed packages", this, "Upgrade", true ); dlg.showDlg(); // Reload data -- cgit v0.9.0.2