summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/aqpkg/mainwin.cpp6
-rw-r--r--noncore/settings/aqpkg/package.cpp5
-rw-r--r--noncore/settings/aqpkg/package.h1
-rw-r--r--noncore/settings/aqpkg/server.cpp2
4 files changed, 7 insertions, 7 deletions
diff --git a/noncore/settings/aqpkg/mainwin.cpp b/noncore/settings/aqpkg/mainwin.cpp
index 6ea619c..fb40d52 100644
--- a/noncore/settings/aqpkg/mainwin.cpp
+++ b/noncore/settings/aqpkg/mainwin.cpp
@@ -639,8 +639,7 @@ void MainWindow :: serverSelected( int, bool raiseProgress )
// Apply show only new installed packages filter
if ( showUpgradedPkgs )
{
- if ( !package->isInstalled() ||
- compareVersions( package->getInstalledVersion(), package->getVersion() ) != 1 )
+ if ( !package->isInstalled() || !package->getNewVersionAvailable() )
continue;
}
@@ -663,8 +662,7 @@ void MainWindow :: serverSelected( int, bool raiseProgress )
{
// If a different version of package is available, show update available icon
// Otherwise, show installed icon
- if ( package->getVersion() != package->getInstalledVersion() &&
- compareVersions( package->getInstalledVersion(), package->getVersion() ) == 1)
+ if ( package->getNewVersionAvailable())
{
item->setPixmap( 0, updatedIcon );
diff --git a/noncore/settings/aqpkg/package.cpp b/noncore/settings/aqpkg/package.cpp
index 83e0706..3395870 100644
--- a/noncore/settings/aqpkg/package.cpp
+++ b/noncore/settings/aqpkg/package.cpp
@@ -50,6 +50,7 @@ Package::Package( char *name )
installedToRoot = false;
installed = false;
installedTo = 0;
+ differentVersionAvailable = false;
}
Package::~Package()
@@ -89,7 +90,7 @@ void Package :: setLocalPackage( Package *p )
localPackage = p;
if ( localPackage )
- if ( localPackage->getVersion() != getVersion() )
+ if ( localPackage->getVersion() < getVersion() && !installed )
differentVersionAvailable = true;
else
differentVersionAvailable = false;
@@ -100,7 +101,7 @@ void Package :: setVersion( const QString &v )
version = v;
if ( localPackage )
- if ( localPackage->getVersion() != getVersion() )
+ if ( localPackage->getVersion() < getVersion() && !installed )
differentVersionAvailable = true;
else
differentVersionAvailable = false;
diff --git a/noncore/settings/aqpkg/package.h b/noncore/settings/aqpkg/package.h
index f5a132f..110ae91 100644
--- a/noncore/settings/aqpkg/package.h
+++ b/noncore/settings/aqpkg/package.h
@@ -56,6 +56,7 @@ public:
QString getDependancies() { return dependancies; }
QString getPackageSize() { return packageSize; }
QString getSection() { return section; }
+ bool getNewVersionAvailable() { return differentVersionAvailable; }
bool isInstalled();
bool isPackageStoredLocally() { return packageStoredLocally; }
diff --git a/noncore/settings/aqpkg/server.cpp b/noncore/settings/aqpkg/server.cpp
index 9a239a5..e2b8096 100644
--- a/noncore/settings/aqpkg/server.cpp
+++ b/noncore/settings/aqpkg/server.cpp
@@ -184,7 +184,7 @@ void Server :: readPackageFile( Server *local, bool clearAll, bool installingToR
}
else
{
- if (currPackage->getStatus().find( "deinstall" ) != -1 )
+ if ( currPackage->isInstalled() )
currPackage->setInstalledTo( dest );
}
}