-rw-r--r-- | noncore/settings/aqpkg/mainwin.cpp | 12 | ||||
-rw-r--r-- | noncore/settings/aqpkg/opie-aqpkg.control | 2 | ||||
-rw-r--r-- | noncore/settings/aqpkg/package.cpp | 1 | ||||
-rw-r--r-- | noncore/settings/aqpkg/packagewin.cpp | 7 | ||||
-rw-r--r-- | noncore/settings/aqpkg/server.cpp | 13 |
5 files changed, 30 insertions, 5 deletions
diff --git a/noncore/settings/aqpkg/mainwin.cpp b/noncore/settings/aqpkg/mainwin.cpp index 45a6663..42093cf 100644 --- a/noncore/settings/aqpkg/mainwin.cpp +++ b/noncore/settings/aqpkg/mainwin.cpp @@ -1011,8 +1011,13 @@ InstallData *MainWindow :: dealWithItem( QCheckListItem *item ) else { InstallData *newitem = new InstallData(); newitem->option = "D"; + + // If local file, remove using package name, not filename + if ( p->isPackageStoredLocally() ) + name = item->text(); + if ( !p->isPackageStoredLocally() ) newitem->packageName = p->getInstalledPackageName(); else newitem->packageName = name; @@ -1040,8 +1045,12 @@ InstallData *MainWindow :: dealWithItem( QCheckListItem *item ) else if ( val == -1 ) { // Version available is older - remove only newitem->option = "D"; + + // If local file, remove using package name, not filename + if ( p->isPackageStoredLocally() ) + name = item->text(); } else { QString caption; @@ -1079,8 +1088,11 @@ InstallData *MainWindow :: dealWithItem( QCheckListItem *item ) return 0x0; break; case 1: // Remove newitem->option = "D"; + // If local file, remove using package name, not filename + if ( p->isPackageStoredLocally() ) + name = item->text(); break; case 2: // Reinstall or Upgrade newitem->option = secondOption; break; diff --git a/noncore/settings/aqpkg/opie-aqpkg.control b/noncore/settings/aqpkg/opie-aqpkg.control index b8ad1e8..46bffdd 100644 --- a/noncore/settings/aqpkg/opie-aqpkg.control +++ b/noncore/settings/aqpkg/opie-aqpkg.control @@ -1,11 +1,11 @@ Package: opie-aqpkg Files: bin/aqpkg pics/aqpkg apps/Settings/aqpkg.desktop Priority: optional Section: Settings -Version: $QPE_VERSION-$SUB_VERSION Depends: task-opie-minimal Replaces: aqpkg Architecture: arm Maintainer: Andy Qua (andy.qua@blueyonder.co.uk) Description: A Package Manager +Version: $QPE_VERSION$EXTRAVERSION diff --git a/noncore/settings/aqpkg/package.cpp b/noncore/settings/aqpkg/package.cpp index adda832..5a521d3 100644 --- a/noncore/settings/aqpkg/package.cpp +++ b/noncore/settings/aqpkg/package.cpp @@ -115,8 +115,9 @@ void Package :: setLocalPackage( Package *p ) void Package :: setVersion( const QString &v ) { version = v; + differentVersionAvailable = false; if ( localPackage ) if ( localPackage->getVersion() < getVersion() && !installed ) differentVersionAvailable = true; diff --git a/noncore/settings/aqpkg/packagewin.cpp b/noncore/settings/aqpkg/packagewin.cpp index 9553cd1..499d647 100644 --- a/noncore/settings/aqpkg/packagewin.cpp +++ b/noncore/settings/aqpkg/packagewin.cpp @@ -43,13 +43,14 @@ PackageWindow::PackageWindow( Package *package, const QString &server ) { QString str; if ( package ) { + Package *local = package->getLocalPackage(); setCaption( package->getPackageName() ); QString destName; - if ( package->getLocalPackage() ) + if ( local ) { - if ( package->getLocalPackage()->getInstalledTo() ) + if ( local->getInstalledTo() ) destName = package->getLocalPackage()->getInstalledTo()->getDestinationName(); } else { @@ -85,9 +86,9 @@ PackageWindow::PackageWindow( Package *package, const QString &server ) else { str.append( tr( "<p><b>Version Available</b> - " ) ); str.append( package->getVersion() ); - if ( package->getLocalPackage() ) + if ( local ) { if ( package->isInstalled() ) { str.append( tr( "<p><b>Version Installed</b> - " ) ); diff --git a/noncore/settings/aqpkg/server.cpp b/noncore/settings/aqpkg/server.cpp index 4693db1..0282236 100644 --- a/noncore/settings/aqpkg/server.cpp +++ b/noncore/settings/aqpkg/server.cpp @@ -118,9 +118,9 @@ void Server :: readLocalIpks( Server *local ) // for these are packagename_version_arm.ipk QString file = (*it)->file(); // Changed to display the filename (excluding the path) - QString packageName = Utils::getFilenameFromIpkFilename( file ); + QString packageName = Utils::getPackageNameFromIpkFilename( file ); QString ver = Utils::getPackageVersionFromIpkFilename( file ); Package *package = new Package( packageName ); package->setVersion( ver ); package->setFilename( file ); @@ -243,8 +243,11 @@ void Server :: readPackageFile( Server *local, bool clearAll, bool installingToR void Server :: buildLocalPackages( Server *local ) { Package *curr; QListIterator<Package> it( packageList ); + + QList<Package> *locallist = &local->getPackageList(); + for ( ; it.current(); ++it ) { curr = it.current(); QString name = curr->getPackageName(); @@ -258,8 +261,16 @@ void Server :: buildLocalPackages( Server *local ) Package *p = local->getPackage( name ); curr->setLocalPackage( p ); if ( p ) { + // Replace local version + if ( curr->getVersion() > p->getVersion() ) + { + int pos = locallist->at(); + locallist->remove( p ); + locallist->insert( pos, curr ); + } + // Set some default stuff like size and things if ( p->getInstalledVersion() == curr->getVersion() ) { p->setPackageSize( curr->getPackageSize() ); |