-rw-r--r-- | noncore/settings/aqpkg/installdlgimpl.cpp | 58 | ||||
-rw-r--r-- | noncore/settings/aqpkg/installdlgimpl.h | 4 | ||||
-rw-r--r-- | noncore/settings/aqpkg/ipkg.cpp | 5 | ||||
-rw-r--r-- | noncore/settings/aqpkg/networkpkgmgr.cpp | 23 |
4 files changed, 46 insertions, 44 deletions
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 @@ -94,22 +94,19 @@ InstallDlgImpl::InstallDlgImpl( vector<InstallData> &packageList, DataManager *d updateList.push_back( item ); upgrade += " " + item.packageName + "\n"; } } 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 ); } InstallDlgImpl::~InstallDlgImpl() { } @@ -152,20 +149,18 @@ void InstallDlgImpl :: installSelected() done( 1 ); return; } 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 { output->setText( "" ); Destination *d = dataMgr->getDestination( destination->currentText() ); QString dest = d->getDestinationName(); @@ -178,53 +173,58 @@ void InstallDlgImpl :: installSelected() // Save settings Config cfg( "aqpkg" ); cfg.setGroup( "settings" ); 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<InstallData>::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 ); btnInstall->setText( tr( "Close" ) ); } 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 @@ -35,13 +35,13 @@ public: }; class InstallDlgImpl : public InstallDlg { public: InstallDlgImpl( vector<InstallData> &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(); bool upgradeServer( QString &server ); protected: @@ -49,13 +49,13 @@ protected: private: DataManager *dataMgr; vector<InstallData> installList; vector<InstallData> removeList; vector<InstallData> updateList; int flags; - Ipkg ipkg; + Ipkg *pIpkg; bool upgradePackages; bool runIpkg( QString &option, const QString& package, const QString& dest, int flags ); void optionsSelected(); void installSelected(); 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 @@ -102,14 +102,15 @@ bool Ipkg :: runIpkg( ) else cmd += " " + option; if ( option != "upgrade" ) cmd += " " + package; cmd += " 2>&1"; - - emit outputText( QString( "Dealing with package " ) + package ); + + if ( package != "" ) + emit outputText( QString( "Dealing with package " ) + package ); qApp->processEvents(); // If we are removing packages and make links option is selected // create the links if ( option == "remove" || option == "reinstall" ) 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 @@ -265,34 +265,32 @@ void NetworkPackageManager :: serverSelected( int ) void NetworkPackageManager :: updateServer() { QString serverName = serversList->currentText(); // 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() { // We're gonna do an upgrade of all packages // First warn user that this isn't recommended @@ -306,13 +304,16 @@ void NetworkPackageManager :: upgradePackages() if ( warn.exec() == QMessageBox::Yes ) { // First, write out ipkg_conf file so that ipkg can use it 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 dataMgr->reloadServerData( LOCAL_SERVER ); dataMgr->reloadServerData( serversList->currentText() ); |