summaryrefslogtreecommitdiff
Unidiff
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 )
638 638
639 // Apply show only new installed packages filter 639 // Apply show only new installed packages filter
640 if ( showUpgradedPkgs ) 640 if ( showUpgradedPkgs )
641 { 641 {
642 if ( !package->isInstalled() || 642 if ( !package->isInstalled() || !package->getNewVersionAvailable() )
643 compareVersions( package->getInstalledVersion(), package->getVersion() ) != 1 )
644 continue; 643 continue;
645 } 644 }
646 645
647 // Apply the section filter 646 // Apply the section filter
@@ -662,10 +661,9 @@ void MainWindow :: serverSelected( int, bool raiseProgress )
662 if ( package->isInstalled() ) 661 if ( package->isInstalled() )
663 { 662 {
664 // If a different version of package is available, show update available icon 663 // If a different version of package is available, show update available icon
665 // Otherwise, show installed icon 664 // Otherwise, show installed icon
666 if ( package->getVersion() != package->getInstalledVersion() && 665 if ( package->getNewVersionAvailable())
667 compareVersions( package->getInstalledVersion(), package->getVersion() ) == 1)
668 { 666 {
669 667
670 item->setPixmap( 0, updatedIcon ); 668 item->setPixmap( 0, updatedIcon );
671 } 669 }
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 )
49 packageStoredLocally = false; 49 packageStoredLocally = false;
50 installedToRoot = false; 50 installedToRoot = false;
51 installed = false; 51 installed = false;
52 installedTo = 0; 52 installedTo = 0;
53 differentVersionAvailable = false;
53} 54}
54 55
55Package::~Package() 56Package::~Package()
56{ 57{
@@ -88,9 +89,9 @@ void Package :: setLocalPackage( Package *p )
88{ 89{
89 localPackage = p; 90 localPackage = p;
90 91
91 if ( localPackage ) 92 if ( localPackage )
92 if ( localPackage->getVersion() != getVersion() ) 93 if ( localPackage->getVersion() < getVersion() && !installed )
93 differentVersionAvailable = true; 94 differentVersionAvailable = true;
94 else 95 else
95 differentVersionAvailable = false; 96 differentVersionAvailable = false;
96} 97}
@@ -99,9 +100,9 @@ void Package :: setVersion( const QString &v )
99{ 100{
100 version = v; 101 version = v;
101 102
102 if ( localPackage ) 103 if ( localPackage )
103 if ( localPackage->getVersion() != getVersion() ) 104 if ( localPackage->getVersion() < getVersion() && !installed )
104 differentVersionAvailable = true; 105 differentVersionAvailable = true;
105 else 106 else
106 differentVersionAvailable = false; 107 differentVersionAvailable = false;
107} 108}
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:
46 void setDependancies( QString &deps ) { dependancies = deps; } 46 void setDependancies( QString &deps ) { dependancies = deps; }
47 void setPackageSize( const QString &size ) { packageSize = size; } 47 void setPackageSize( const QString &size ) { packageSize = size; }
48 void setSection( const QString &sect) { section = sect; } 48 void setSection( const QString &sect) { section = sect; }
49 49
50 Package *getLocalPackage() { return localPackage; } 50 Package *getLocalPackage() { return localPackage; }
51 QString getPackageName() { return packageName; } 51 QString getPackageName() { return packageName; }
52 QString getVersion() { return version; } 52 QString getVersion() { return version; }
53 QString getStatus() { return status; } 53 QString getStatus() { return status; }
54 QString getDescription() { return description; } 54 QString getDescription() { return description; }
55 QString getFilename() { return filename; } 55 QString getFilename() { return filename; }
56 QString getDependancies() { return dependancies; } 56 QString getDependancies() { return dependancies; }
57 QString getPackageSize() { return packageSize; } 57 QString getPackageSize() { return packageSize; }
58 QString getSection() { return section; } 58 QString getSection() { return section; }
59 bool getNewVersionAvailable() { return differentVersionAvailable; }
59 60
60 bool isInstalled(); 61 bool isInstalled();
61 bool isPackageStoredLocally(){ return packageStoredLocally; } 62 bool isPackageStoredLocally(){ return packageStoredLocally; }
62 bool isInstalledToRoot() { return installedToRoot; } 63 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
183 currPackage->setInstalledToRoot( true ); 183 currPackage->setInstalledToRoot( true );
184 } 184 }
185 else 185 else
186 { 186 {
187 if (currPackage->getStatus().find( "deinstall" ) != -1 ) 187 if ( currPackage->isInstalled() )
188 currPackage->setInstalledTo( dest ); 188 currPackage->setInstalledTo( dest );
189 } 189 }
190 } 190 }
191 else if ( key == "Version" ) 191 else if ( key == "Version" )