Diffstat (limited to 'noncore/settings/aqpkg/server.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/settings/aqpkg/server.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
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() ); |