author | andyq <andyq> | 2002-11-02 09:09:41 (UTC) |
---|---|---|
committer | andyq <andyq> | 2002-11-02 09:09:41 (UTC) |
commit | f8538844857840a2cdefe8e3b0dfa90a30163ae1 (patch) (side-by-side diff) | |
tree | 57ea5c6cbd9195a3808180f8b999d6cda991df5c | |
parent | bf9388acdebf6e55345dff3bd1cd652b45a2202a (diff) | |
download | opie-f8538844857840a2cdefe8e3b0dfa90a30163ae1.zip opie-f8538844857840a2cdefe8e3b0dfa90a30163ae1.tar.gz opie-f8538844857840a2cdefe8e3b0dfa90a30163ae1.tar.bz2 |
Fixed bug where package should be removed but gets reinstalled
-rw-r--r-- | noncore/settings/aqpkg/networkpkgmgr.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/noncore/settings/aqpkg/networkpkgmgr.cpp b/noncore/settings/aqpkg/networkpkgmgr.cpp index b5d7352..3d06aef 100644 --- a/noncore/settings/aqpkg/networkpkgmgr.cpp +++ b/noncore/settings/aqpkg/networkpkgmgr.cpp @@ -522,99 +522,100 @@ InstallData NetworkPackageManager :: dealWithItem( QCheckListItem *item ) if ( !p->isInstalled() ) { InstallData item; item.option = "I"; item.packageName = name; return item; } else { InstallData item; item.option = "D"; item.packageName = p->getInstalledPackageName(); if ( p->getInstalledTo() ) { item.destination = p->getInstalledTo(); cout << "dest - " << p->getInstalledTo()->getDestinationName() << endl; cout << "dest - " << p->getInstalledTo()->getDestinationPath() << endl; } else { item.destination = p->getLocalPackage()->getInstalledTo(); } // Now see if version is newer or not int val = compareVersions( p->getInstalledVersion(), p->getVersion() ); if ( val == -2 ) { // Error - should handle } else if ( val == -1 ) { // Version available is older - remove only - item.option = "R"; + item.option = "D"; } else { QString caption; QString text; QString secondButton; QString secondOption; if ( val == 0 ) { // Version available is the same - option to remove or reinstall caption = "Do you wish to remove or reinstall\n%s?"; text = "Remove or ReInstall"; secondButton = "ReInstall"; secondOption = "R"; } else if ( val == 1 ) { // Version available is newer - option to remove or upgrade caption = "Do you wish to remove or upgrade\n%s?"; text = "Remove or Upgrade"; secondButton = "Upgrade"; secondOption = "U"; } // Sticky option not implemented yet, but will eventually allow // the user to say something like 'remove all' if ( stickyOption == "" ) { QString msgtext; msgtext.sprintf( caption, (const char *)name ); switch( QMessageBox::information( this, text, msgtext, "Remove", secondButton ) ) { case 0: // Try again or Enter + // option 0 = Remove item.option = "D"; break; case 1: // Quit or Escape item.option = secondOption; break; } } else { // item.option = stickyOption; } } // Check if we are reinstalling the same version if ( item.option != "R" ) item.recreateLinks = true; else item.recreateLinks = false; // User hit cancel (on dlg - assume remove) return item; } } void NetworkPackageManager :: displayText( const QString &t ) { cout << t << endl; } void NetworkPackageManager :: letterPushed( QString t ) |