summaryrefslogtreecommitdiff
authorandyq <andyq>2002-11-02 09:09:41 (UTC)
committer andyq <andyq>2002-11-02 09:09:41 (UTC)
commitf8538844857840a2cdefe8e3b0dfa90a30163ae1 (patch) (side-by-side diff)
tree57ea5c6cbd9195a3808180f8b999d6cda991df5c
parentbf9388acdebf6e55345dff3bd1cd652b45a2202a (diff)
downloadopie-f8538844857840a2cdefe8e3b0dfa90a30163ae1.zip
opie-f8538844857840a2cdefe8e3b0dfa90a30163ae1.tar.gz
opie-f8538844857840a2cdefe8e3b0dfa90a30163ae1.tar.bz2
Fixed bug where package should be removed but gets reinstalled
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/aqpkg/networkpkgmgr.cpp3
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 )