-rw-r--r-- | noncore/settings/packagemanager/ChangeLog | 5 | ||||
-rw-r--r-- | noncore/settings/packagemanager/oipkg.cpp | 4 | ||||
-rw-r--r-- | noncore/settings/packagemanager/opackagemanager.cpp | 7 |
3 files changed, 11 insertions, 5 deletions
diff --git a/noncore/settings/packagemanager/ChangeLog b/noncore/settings/packagemanager/ChangeLog index 608cd98..38756b1 100644 --- a/noncore/settings/packagemanager/ChangeLog +++ b/noncore/settings/packagemanager/ChangeLog @@ -1,12 +1,17 @@ +2005-02-16 Dan Williams <drw@handhelds.org> + + * Fixed stupid bug where last package in status file was not shown as installed when it should be + * Removed printf's + 2005-01-02 Dan Williams <drw@handhelds.org> * Released version 0.6.1 * Implemented native package linking code to remove need for ipkg-link * Implement package in OIpkg (removed from InstallDlg) as this is ipkg specific * Many small code tweaks 2004-12-21 Dan Williams <drw@handhelds.org> * Released version 0.6.0 * Added support for Ipkg 'src/gz' feeds * Improve server and destination tabs UI's in configuration dialog diff --git a/noncore/settings/packagemanager/oipkg.cpp b/noncore/settings/packagemanager/oipkg.cpp index f2d7e39..e7e292e 100644 --- a/noncore/settings/packagemanager/oipkg.cpp +++ b/noncore/settings/packagemanager/oipkg.cpp @@ -354,24 +354,28 @@ OPackageList *OIpkg::installedPackages( const QString &destName, const QString & if ( key == "Description" ) { line = t.readLine(); while ( !line.isEmpty() && line.find( ':', 0 ) == -1 && !t.eof() ) line = t.readLine(); } else line = t.readLine(); } f.close(); + // Make sure to add to list last entry + if ( !name.isNull() && status.contains( " installed" ) ) + pl->append( new OPackage( name, QString::null, version, QString::null, destName ) ); + return pl; } OConfItem *OIpkg::findConfItem( OConfItem::Type type, const QString &name ) { // Find configuration item in list OConfItemListIterator configIt( *m_confInfo ); OConfItem *config = 0l; for ( ; configIt.current(); ++configIt ) { config = configIt.current(); if ( config->type() == type && config->name() == name ) diff --git a/noncore/settings/packagemanager/opackagemanager.cpp b/noncore/settings/packagemanager/opackagemanager.cpp index ac16954..c9fdec1 100644 --- a/noncore/settings/packagemanager/opackagemanager.cpp +++ b/noncore/settings/packagemanager/opackagemanager.cpp @@ -74,28 +74,27 @@ void OPackageManager::loadAvailablePackages() ++serverCount; emit statusBar( serverCount ); qApp->processEvents(); OPackageList *packageList = m_ipkg.availablePackages( server->name() ); if ( packageList ) { for ( OPackageListIterator packageIt( *packageList ); packageIt.current(); ++packageIt ) { OPackage *package = packageIt.current(); // Load package info - if ( !m_packages.find( package->name() ) ) { - printf( "ADD AVAILABLE '%s'\n", package->name().latin1()); + if ( !m_packages.find( package->name() ) ) m_packages.insert( package->name(), package ); - } else + else { // If new package is newer version, replace existing package OPackage *currPackage = m_packages[package->name()]; if ( compareVersions( package->version(), currPackage->version() ) == 1 ) m_packages.replace( package->name(), package ); } // Add category to list if it doesn't already exist if ( m_categories.grep( package->category() ).isEmpty() ) { m_categories << package->category(); categoryAdded = true; @@ -130,45 +129,43 @@ void OPackageManager::loadInstalledPackages() // Process destination only if it is active if ( destination->active() ) { // Update status QString status = tr( "Reading installed packages:\n\t" ); status.append( destination->name() ); emit statusText( status ); ++destCount; emit statusBar( destCount ); qApp->processEvents(); - printf( "DESGTINATION %s\n", destination->name().latin1()); OPackageList *packageList = m_ipkg.installedPackages( destination->name(), destination->value() ); if ( packageList ) { for ( OPackageListIterator packageIt( *packageList ); packageIt.current(); ++packageIt ) { OPackage *package = packageIt.current(); OPackage *currPackage = m_packages[package->name()]; if ( currPackage ) { // Package is in a current feed, update installed version, destination currPackage->setVersionInstalled( package->versionInstalled() ); currPackage->setDestination( package->destination() ); delete package; } else { // Package isn't in a current feed, add to list - printf( "ADD INSTALLED '%s'\n", package->name().latin1()); m_packages.insert( package->name(), package ); // Add category to list if it doesn't already exist if ( m_categories.grep( package->category() ).isEmpty() ) { m_categories << package->category(); categoryAdded = true; } } } } } |