summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/aqpkg/installdlgimpl.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/noncore/settings/aqpkg/installdlgimpl.cpp b/noncore/settings/aqpkg/installdlgimpl.cpp
index d4f751c..b92a245 100644
--- a/noncore/settings/aqpkg/installdlgimpl.cpp
+++ b/noncore/settings/aqpkg/installdlgimpl.cpp
@@ -30,16 +30,17 @@
#include "instoptionsimpl.h"
#include "destination.h"
#include "installdlgimpl.h"
#include "global.h"
InstallDlgImpl::InstallDlgImpl( vector<QString> &packageList, DataManager *dataManager, QWidget * parent, const char* name, bool modal, WFlags fl )
: InstallDlg( parent, name, modal, fl )
{
+ upgradePackages = false;
dataMgr = dataManager;
vector<Destination>::iterator dit;
QString defaultDest = "root";
#ifdef QWS
Config cfg( "aqpkg" );
cfg.setGroup( "settings" );
defaultDest = cfg.readEntry( "dest", "root" );
@@ -94,16 +95,25 @@ InstallDlgImpl::InstallDlgImpl( vector<QString> &packageList, DataManager *dataM
}
}
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 )
+ : InstallDlg( parent, name, modal, fl )
+{
+ upgradePackages = true;
+ output->setText( "Upgrading installed packages" );
+ connect( &ipkg, SIGNAL(outputText(const QString &)), this, SLOT(displayText(const QString &)));
+}
+
+
InstallDlgImpl::~InstallDlgImpl()
{
}
bool InstallDlgImpl :: showDlg()
{
showMaximized();
bool ret = exec();
@@ -141,16 +151,27 @@ void InstallDlgImpl :: installSelected()
if ( btnInstall->text() == "Close" )
{
done( 1 );
return;
}
btnInstall->setEnabled( false );
+ if ( upgradePackages )
+ {
+ output->setText( "" );
+
+ Ipkg ipkg;
+ connect( &ipkg, SIGNAL(outputText(const QString &)), this, SLOT(displayText(const QString &)));
+ ipkg.setOption( "upgrade" );
+ ipkg.runIpkg();
+ }
+ else
+ {
output->setText( "" );
Destination *d = dataMgr->getDestination( destination->currentText() );
QString dest = d->getDestinationName();
QString destDir = d->getDestinationPath();
#ifdef QWS
// Save settings
Config cfg( "aqpkg" );
@@ -179,16 +200,17 @@ void InstallDlgImpl :: installSelected()
flags |= FORCE_REINSTALL;
ipkg.setFlags( flags );
for ( it = updateList.begin() ; it != updateList.end() ; ++it )
{
ipkg.setPackage( *it );
ipkg.runIpkg();
}
+ }
btnInstall->setEnabled( true );
btnInstall->setText( tr( "Close" ) );
}
void InstallDlgImpl :: displayText(const QString &text )
{
QString t = output->text() + "\n" + text;