Diffstat (limited to 'noncore/settings/aqpkg/networkpkgmgr.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/settings/aqpkg/networkpkgmgr.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/noncore/settings/aqpkg/networkpkgmgr.cpp b/noncore/settings/aqpkg/networkpkgmgr.cpp index 3d06aef..dee834e 100644 --- a/noncore/settings/aqpkg/networkpkgmgr.cpp +++ b/noncore/settings/aqpkg/networkpkgmgr.cpp @@ -517,6 +517,7 @@ InstallData NetworkPackageManager :: dealWithItem( QCheckListItem *item ) // If the package has a filename then it is a local file if ( p->isPackageStoredLocally() ) name = p->getFilename(); + QString option; QString dest = "root"; if ( !p->isInstalled() ) @@ -530,7 +531,11 @@ InstallData NetworkPackageManager :: dealWithItem( QCheckListItem *item ) { InstallData item; item.option = "D"; + if ( !p->isPackageStoredLocally() ) item.packageName = p->getInstalledPackageName(); + else + item.packageName = name; + if ( p->getInstalledTo() ) { item.destination = p->getInstalledTo(); @@ -544,6 +549,11 @@ InstallData NetworkPackageManager :: dealWithItem( QCheckListItem *item ) // Now see if version is newer or not int val = compareVersions( p->getInstalledVersion(), p->getVersion() ); + + // If the version requested is older and user selected a local ipk file, then reinstall the file + if ( p->isPackageStoredLocally() && val == -1 ) + val = 0; + if ( val == -2 ) { // Error - should handle |