summaryrefslogtreecommitdiff
authordrw <drw>2003-04-20 23:58:21 (UTC)
committer drw <drw>2003-04-20 23:58:21 (UTC)
commit9163bfcc25b78477a75a153f2a75be30ad297c6a (patch) (side-by-side diff)
tree668e10a9bb0ca7937e3f630a62d3afbbbbf06438
parent6b78c023f67433b8f38d9e77598b8530988bfec8 (diff)
downloadopie-9163bfcc25b78477a75a153f2a75be30ad297c6a.zip
opie-9163bfcc25b78477a75a153f2a75be30ad297c6a.tar.gz
opie-9163bfcc25b78477a75a153f2a75be30ad297c6a.tar.bz2
Finally fixed it so that packages are not incorrectly marked as having an update available
Diffstat (more/less context) (ignore 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.h19
-rw-r--r--noncore/settings/aqpkg/server.cpp2
4 files changed, 16 insertions, 16 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
@@ -638,10 +638,9 @@ 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;
}
// Apply the section filter
@@ -662,10 +661,9 @@ void MainWindow :: serverSelected( int, bool raiseProgress )
if ( package->isInstalled() )
{
// 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
@@ -49,8 +49,9 @@ Package::Package( char *name )
packageStoredLocally = false;
installedToRoot = false;
installed = false;
installedTo = 0;
+ differentVersionAvailable = false;
}
Package::~Package()
{
@@ -88,9 +89,9 @@ void Package :: setLocalPackage( Package *p )
{
localPackage = p;
if ( localPackage )
- if ( localPackage->getVersion() != getVersion() )
+ if ( localPackage->getVersion() < getVersion() && !installed )
differentVersionAvailable = true;
else
differentVersionAvailable = false;
}
@@ -99,9 +100,9 @@ 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
@@ -46,17 +46,18 @@ public:
void setDependancies( QString &deps ) { dependancies = deps; }
void setPackageSize( const QString &size ) { packageSize = size; }
void setSection( const QString &sect) { section = sect; }
- Package *getLocalPackage() { return localPackage; }
- QString getPackageName() { return packageName; }
- QString getVersion() { return version; }
- QString getStatus() { return status; }
- QString getDescription() { return description; }
- QString getFilename() { return filename; }
- QString getDependancies() { return dependancies; }
- QString getPackageSize() { return packageSize; }
- QString getSection() { return section; }
+ Package *getLocalPackage() { return localPackage; }
+ QString getPackageName() { return packageName; }
+ QString getVersion() { return version; }
+ QString getStatus() { return status; }
+ QString getDescription() { return description; }
+ QString getFilename() { return filename; }
+ QString getDependancies() { return dependancies; }
+ QString getPackageSize() { return packageSize; }
+ QString getSection() { return section; }
+ bool getNewVersionAvailable() { return differentVersionAvailable; }
bool isInstalled();
bool isPackageStoredLocally() { return packageStoredLocally; }
bool isInstalledToRoot() { return installedToRoot; }
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
@@ -183,9 +183,9 @@ void Server :: readPackageFile( Server *local, bool clearAll, bool installingToR
currPackage->setInstalledToRoot( true );
}
else
{
- if (currPackage->getStatus().find( "deinstall" ) != -1 )
+ if ( currPackage->isInstalled() )
currPackage->setInstalledTo( dest );
}
}
else if ( key == "Version" )