-rw-r--r-- | noncore/settings/aqpkg/mainwin.cpp | 6 | ||||
-rw-r--r-- | noncore/settings/aqpkg/package.cpp | 5 | ||||
-rw-r--r-- | noncore/settings/aqpkg/package.h | 1 | ||||
-rw-r--r-- | noncore/settings/aqpkg/server.cpp | 2 |
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 ); } } |