summaryrefslogtreecommitdiff
path: root/noncore/settings/aqpkg/networkpkgmgr.cpp
Side-by-side diff
Diffstat (limited to 'noncore/settings/aqpkg/networkpkgmgr.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/aqpkg/networkpkgmgr.cpp10
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
@@ -516,8 +516,9 @@ 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() )
{
@@ -529,9 +530,13 @@ InstallData NetworkPackageManager :: dealWithItem( QCheckListItem *item )
else
{
InstallData item;
item.option = "D";
+ if ( !p->isPackageStoredLocally() )
item.packageName = p->getInstalledPackageName();
+ else
+ item.packageName = name;
+
if ( p->getInstalledTo() )
{
item.destination = p->getInstalledTo();
cout << "dest - " << p->getInstalledTo()->getDestinationName() << endl;
@@ -543,8 +548,13 @@ 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
}