From 79588befde53765db0a92977c6890a4d226096e7 Mon Sep 17 00:00:00 2001 From: drw Date: Thu, 06 Feb 2003 01:19:25 +0000 Subject: Change all vector<> to QList<>. First step in removing dependency on libstdc++. --- diff --git a/noncore/settings/aqpkg/datamgr.cpp b/noncore/settings/aqpkg/datamgr.cpp index 2c83e28..79f36e1 100644 --- a/noncore/settings/aqpkg/datamgr.cpp +++ b/noncore/settings/aqpkg/datamgr.cpp @@ -37,46 +37,43 @@ DataManager::DataManager() { activeServer = ""; availableCategories = "#"; + + serverList.setAutoDelete( TRUE ); + destList.setAutoDelete( TRUE ); } DataManager::~DataManager() { } -vector::iterator DataManager :: getServer( const char *name ) +Server *DataManager :: getServer( const char *name ) { - vector::iterator it = serverList.begin(); - while ( it != serverList.end() ) + QListIterator it( serverList ); + while ( it.current() && it.current()->getServerName() != name ) { - if ( it->getServerName() == name ) - return it; - ++it; } - return serverList.end(); + return it.current(); } -vector::iterator DataManager :: getDestination( const char *name ) +Destination *DataManager :: getDestination( const char *name ) { - vector::iterator it = destList.begin(); - while ( it != destList.end() ) + QListIterator it( destList ); + while ( it.current() && it.current()->getDestinationName() != name ) { - if ( it->getDestinationName() == name ) - return it; - ++it; } - return destList.end(); + return it.current(); } void DataManager :: loadServers() { // First add our local server - not really a server but // the local config (which packages are installed) - serverList.push_back( Server( LOCAL_SERVER, "" ) ); - serverList.push_back( Server( LOCAL_IPKGS, "" ) ); + serverList.append( new Server( LOCAL_SERVER, "" ) ); + serverList.append( new Server( LOCAL_IPKGS, "" ) ); #ifdef QWS Config cfg( "aqpkg" ); @@ -109,13 +106,13 @@ void DataManager :: loadServers() // is next. // Should Handle #src, # src, src, and combinations of sscanf( lineStr, "%*[^r]%*[^ ] %s %s", alias, url ); - Server s( alias, url ); + Server *s = new Server( alias, url ); if ( lineStr.startsWith( "src" ) ) - s.setActive( true ); + s->setActive( true ); else - s.setActive( false ); + s->setActive( false ); - serverList.push_back( s ); + serverList.append( s ); } else if ( lineStr.startsWith( "dest" ) ) @@ -123,16 +120,16 @@ void DataManager :: loadServers() char alias[20]; char path[50]; sscanf( lineStr, "%*[^ ] %s %s", alias, path ); - Destination d( alias, path ); + Destination *d = new Destination( alias, path ); bool linkToRoot = true; #ifdef QWS QString key = alias; key += "_linkToRoot"; linkToRoot = cfg.readBoolEntry( key, true ); #endif - d.linkToRoot( linkToRoot ); + d->linkToRoot( linkToRoot ); - destList.push_back( d ); + destList.append( d ); } else if ( lineStr.startsWith( "option" ) || lineStr.startsWith( "#option" ) ) { @@ -169,15 +166,18 @@ void DataManager :: loadServers() void DataManager :: reloadServerData( ) { - emit progressSetSteps( serverList.size() ); + emit progressSetSteps( serverList.count() ); emit progressSetMessage( tr( "Reading configuration..." ) ); - vector::iterator it = serverList.begin(); QString serverName; int i = 0; - for ( it = serverList.begin() ; it != serverList.end() ; ++it ) + + Server *server; + QListIterator it( serverList ); + for ( ; it.current(); ++it ) { - serverName = it->getServerName(); + server = it.current(); + serverName = server->getServerName(); i++; emit progressUpdate( i ); qApp->processEvents(); @@ -188,11 +188,11 @@ void DataManager :: reloadServerData( ) // we've set up // The other servers files hold the contents of the server package list if ( serverName == LOCAL_SERVER ) - it->readStatusFile( destList ); + server->readStatusFile( destList ); else if ( serverName == LOCAL_IPKGS ) - it->readLocalIpks( &( *getServer( LOCAL_SERVER ) ) ); + server->readLocalIpks( getServer( LOCAL_SERVER ) ); else - it->readPackageFile( &( *getServer( LOCAL_SERVER ) ) ); + server->readPackageFile( getServer( LOCAL_SERVER ) ); } } @@ -217,31 +217,33 @@ void DataManager :: writeOutIpkgConf() out << "# that exists on the target system." << endl << endl; // Write out servers - vector::iterator it = serverList.begin(); - while ( it != serverList.end() ) + Server *server; + QListIterator it( serverList ); + while ( it.current() ) { - QString alias = it->getServerName(); + server = it.current(); + QString alias = server->getServerName(); // Don't write out local as its a dummy if ( alias != LOCAL_SERVER && alias != LOCAL_IPKGS ) { - QString url = it->getServerUrl();; + QString url = server->getServerUrl();; - if ( !it->isServerActive() ) + if ( !server->isServerActive() ) out << "#"; out << "src " << alias << " " << url << endl; } - it++; + ++it; } out << endl; // Write out destinations - vector::iterator it2 = destList.begin(); - while ( it2 != destList.end() ) + QListIterator it2( destList ); + while ( it2.current() ) { - out << "dest " << it2->getDestinationName() << " " << it2->getDestinationPath() << endl; - it2++; + out << "dest " << it2.current()->getDestinationName() << " " << it2.current()->getDestinationPath() << endl; + ++it2; } out << endl; diff --git a/noncore/settings/aqpkg/datamgr.h b/noncore/settings/aqpkg/datamgr.h index 90328ab..7fa42c1 100644 --- a/noncore/settings/aqpkg/datamgr.h +++ b/noncore/settings/aqpkg/datamgr.h @@ -21,6 +21,7 @@ #include using namespace std; +#include #include #include @@ -45,12 +46,12 @@ public: void setActiveServer( const QString &act ) { activeServer = act; } QString &getActiveServer( ) { return activeServer; } - Server *getLocalServer() { return &( *getServer( LOCAL_SERVER ) ); } - vector &getServerList() { return serverList; } - vector::iterator getServer( const char *name ); + Server *getLocalServer() { return ( getServer( LOCAL_SERVER ) ); } + QList &getServerList() { return serverList; } + Server *getServer( const char *name ); - vector &getDestinationList() { return destList; } - vector::iterator getDestination( const char *name ); + QList &getDestinationList() { return destList; } + Destination *getDestination( const char *name ); void loadServers(); void reloadServerData( ); @@ -86,8 +87,8 @@ private: bool httpProxyEnabled; bool ftpProxyEnabled; - vector serverList; - vector destList; + QList serverList; + QList destList; signals: void progressSetSteps( int ); diff --git a/noncore/settings/aqpkg/installdlgimpl.cpp b/noncore/settings/aqpkg/installdlgimpl.cpp index 19fe46a..9339086 100644 --- a/noncore/settings/aqpkg/installdlgimpl.cpp +++ b/noncore/settings/aqpkg/installdlgimpl.cpp @@ -41,7 +41,7 @@ #include "utils.h" #include "global.h" -InstallDlgImpl::InstallDlgImpl( vector &packageList, DataManager *dataManager, const char *title ) +InstallDlgImpl::InstallDlgImpl( QList &packageList, DataManager *dataManager, const char *title ) : QWidget( 0, 0, 0 ) { setCaption( title ); @@ -50,7 +50,6 @@ InstallDlgImpl::InstallDlgImpl( vector &packageList, DataManager *d pIpkg = 0; upgradePackages = false; dataMgr = dataManager; - vector::iterator dit; QString defaultDest = "root"; #ifdef QWS @@ -74,45 +73,52 @@ InstallDlgImpl::InstallDlgImpl( vector &packageList, DataManager *d // setup destination data int defIndex = 0; int i; - for ( i = 0 , dit = dataMgr->getDestinationList().begin() ; dit != dataMgr->getDestinationList().end() ; ++dit, ++i ) + QListIterator dit( dataMgr->getDestinationList() ); + for ( i = 0; dit.current(); ++dit, ++i ) { - destination->insertItem( dit->getDestinationName() ); - if ( dit->getDestinationName() == defaultDest ) + destination->insertItem( dit.current()->getDestinationName() ); + if ( dit.current()->getDestinationName() == defaultDest ) defIndex = i; } destination->setCurrentItem( defIndex ); - vector::iterator it; + QListIterator it( packageList ); // setup package data QString remove = tr( "Remove\n" ); QString install = tr( "Install\n" ); QString upgrade = tr( "Upgrade\n" ); - for ( it = packageList.begin() ; it != packageList.end() ; ++it ) + for ( ; it.current(); ++it ) { - InstallData item = *it; - if ( item.option == "I" ) + InstallData *item = it.current(); + InstallData *newitem = new InstallData(); + + newitem->option = item->option; + newitem->packageName = item->packageName; + newitem->destination = item->destination; + newitem->recreateLinks = item->recreateLinks; + + if ( item->option == "I" ) { - installList.push_back( item ); - install.append( QString( " %1\n" ).arg( item.packageName ) ); + installList.append( newitem ); + install.append( QString( " %1\n" ).arg( item->packageName ) ); } - else if ( item.option == "D" ) + else if ( item->option == "D" ) { - removeList.push_back( item ); - remove.append( QString( " %1\n" ).arg( item.packageName ) ); + removeList.append( newitem ); + remove.append( QString( " %1\n" ).arg( item->packageName ) ); } - else if ( item.option == "U" || item.option == "R" ) + else if ( item->option == "U" || item->option == "R" ) { - updateList.push_back( item ); + updateList.append( newitem ); QString type; - if ( item.option == "R" ) + if ( item->option == "R" ) type = tr( "(ReInstall)" ); else type = tr( "(Upgrade)" ); - upgrade.append( QString( " %1 %2\n" ).arg( item.packageName ).arg( type ) ); + upgrade.append( QString( " %1 %2\n" ).arg( item->packageName ).arg( type ) ); } } - output->setText( QString( "%1\n%2\n%3\n" ).arg( remove ).arg( install ).arg( upgrade ) ); displayAvailableSpace( destination->currentText() ); @@ -213,7 +219,7 @@ void InstallDlgImpl :: installSelected() emit reloadData( this ); return; } - + // Disable buttons btnOptions->setEnabled( false ); // btnInstall->setEnabled( false ); @@ -229,7 +235,7 @@ void InstallDlgImpl :: installSelected() else { output->setText( "" ); - vector::iterator d = dataMgr->getDestination( destination->currentText() ); + Destination *d = dataMgr->getDestination( destination->currentText() ); QString dest = d->getDestinationName(); QString destDir = d->getDestinationPath(); int instFlags = flags; @@ -247,16 +253,18 @@ void InstallDlgImpl :: installSelected() connect( pIpkg, SIGNAL(outputText(const QString &)), this, SLOT(displayText(const QString &))); // First run through the remove list, then the install list then the upgrade list - vector::iterator it; pIpkg->setOption( "remove" ); - for ( it = removeList.begin() ; it != removeList.end() ; ++it ) + QListIterator it( removeList ); + InstallData *idata; + for ( ; it.current(); ++it ) { - pIpkg->setDestination( it->destination->getDestinationName() ); - pIpkg->setDestinationDir( it->destination->getDestinationPath() ); - pIpkg->setPackage( it->packageName ); + idata = it.current(); + pIpkg->setDestination( idata->destination->getDestinationName() ); + pIpkg->setDestinationDir( idata->destination->getDestinationPath() ); + pIpkg->setPackage( idata->packageName ); int tmpFlags = flags; - if ( it->destination->linkToRoot() ) + if ( idata->destination->linkToRoot() ) tmpFlags |= MAKE_LINKS; pIpkg->setFlags( tmpFlags ); @@ -267,25 +275,28 @@ void InstallDlgImpl :: installSelected() pIpkg->setDestination( dest ); pIpkg->setDestinationDir( destDir ); pIpkg->setFlags( instFlags ); - for ( it = installList.begin() ; it != installList.end() ; ++it ) + QListIterator it2( installList ); + for ( ; it2.current(); ++it2 ) { - pIpkg->setPackage( it->packageName ); + pIpkg->setPackage( it2.current()->packageName ); pIpkg->runIpkg(); } flags |= FORCE_REINSTALL; - for ( it = updateList.begin() ; it != updateList.end() ; ++it ) + QListIterator it3( updateList ); + for ( ; it3.current() ; ++it3 ) { - if ( it->option == "R" ) + idata = it3.current(); + if ( idata->option == "R" ) pIpkg->setOption( "reinstall" ); else pIpkg->setOption( "upgrade" ); - pIpkg->setDestination( it->destination->getDestinationName() ); - pIpkg->setDestinationDir( it->destination->getDestinationPath() ); - pIpkg->setPackage( it->packageName ); + pIpkg->setDestination( idata->destination->getDestinationName() ); + pIpkg->setDestinationDir( idata->destination->getDestinationPath() ); + pIpkg->setPackage( idata->packageName ); int tmpFlags = flags; - if ( it->destination->linkToRoot() && it->recreateLinks ) + if ( idata->destination->linkToRoot() && idata->recreateLinks ) tmpFlags |= MAKE_LINKS; pIpkg->setFlags( tmpFlags ); pIpkg->runIpkg(); @@ -307,7 +318,6 @@ void InstallDlgImpl :: installSelected() void InstallDlgImpl :: displayText(const QString &text ) { - //output->setText( QString( "%1\n%2" ).arg( output->text() ).arg( text ) ); QString newtext = QString( "%1\n%2" ).arg( output->text() ).arg( text ); output->setText( newtext ); output->setCursorPosition( output->numLines(), 0 ); @@ -316,7 +326,7 @@ void InstallDlgImpl :: displayText(const QString &text ) void InstallDlgImpl :: displayAvailableSpace( const QString &text ) { - vector::iterator d = dataMgr->getDestination( text ); + Destination *d = dataMgr->getDestination( text ); QString destDir = d->getDestinationPath(); long blockSize = 0; diff --git a/noncore/settings/aqpkg/installdlgimpl.h b/noncore/settings/aqpkg/installdlgimpl.h index 4c9f087..d7509bb 100644 --- a/noncore/settings/aqpkg/installdlgimpl.h +++ b/noncore/settings/aqpkg/installdlgimpl.h @@ -17,11 +17,11 @@ #ifndef INSTALLDLGIMPL_H #define INSTALLDLGIMPL_H -#include using namespace std; -#include +#include #include +#include class QComboBox; class QLabel; @@ -45,7 +45,7 @@ class InstallDlgImpl : public QWidget { Q_OBJECT public: - InstallDlgImpl( vector &packageList, DataManager *dataManager, const char *title = 0 ); + InstallDlgImpl( QList &packageList, DataManager *dataManager, const char *title = 0 ); InstallDlgImpl( Ipkg *ipkg, QString initialText, const char *title = 0 ); ~InstallDlgImpl(); @@ -55,9 +55,9 @@ protected: private: DataManager *dataMgr; - vector installList; - vector removeList; - vector updateList; + QList installList; + QList removeList; + QList updateList; int flags; Ipkg *pIpkg; bool upgradePackages; diff --git a/noncore/settings/aqpkg/mainwin.cpp b/noncore/settings/aqpkg/mainwin.cpp index 361946c..8ae5815 100644 --- a/noncore/settings/aqpkg/mainwin.cpp +++ b/noncore/settings/aqpkg/mainwin.cpp @@ -543,24 +543,28 @@ void MainWindow :: updateProgress( int progress ) void MainWindow :: updateData() { - m_progress->setTotalSteps( mgr->getServerList().size() ); + m_progress->setTotalSteps( mgr->getServerList().count() ); serversList->clear(); packagesList->clear(); - vector::iterator it; int activeItem = -1; - int i; + int i = 0; QString serverName; - for ( i = 0, it = mgr->getServerList().begin() ; it != mgr->getServerList().end() ; ++it, ++i ) + + QListIterator it( mgr->getServerList() ); + Server *server; + + for ( ; it.current(); ++it, ++i ) { - serverName = it->getServerName(); + server = it.current(); + serverName = server->getServerName(); m_status->setText( tr( "Building server list:\n\t%1" ).arg( serverName ) ); m_progress->setProgress( i ); qApp->processEvents(); // cout << "Adding " << it->getServerName() << " to combobox" << endl; - if ( !it->isServerActive() ) + if ( !server->isServerActive() ) { // cout << serverName << " is not active" << endl; i--; @@ -592,20 +596,20 @@ void MainWindow :: serverSelected( int, bool raiseProgress ) QString serverName = serversList->currentText(); currentlySelectedServer = serverName; - vector::iterator s = mgr->getServer( serverName ); + Server *s = mgr->getServer( serverName ); - vector &list = s->getPackageList(); - vector::iterator it; + QList &list = s->getPackageList(); + QListIterator it( list ); // Display progress widget while loading list - bool doProgress = ( list.size() > 200 ); + bool doProgress = ( list.count() > 200 ); if ( doProgress ) { if ( raiseProgress ) { stack->raiseWidget( progressWindow ); } - m_progress->setTotalSteps( list.size() ); + m_progress->setTotalSteps( list.count() ); m_status->setText( tr( "Building package list for:\n\t%1" ).arg( serverName ) ); } @@ -619,7 +623,8 @@ void MainWindow :: serverSelected( int, bool raiseProgress ) #endif int i = 0; - for ( it = list.begin() ; it != list.end() ; ++it ) + Package *package; + for ( ; it.current(); ++it ) { // Update progress after every 100th package (arbitrary value, seems to give good balance) i++; @@ -633,43 +638,46 @@ void MainWindow :: serverSelected( int, bool raiseProgress ) } QString text = ""; + + package = it.current(); // Apply show only uninstalled packages filter - if ( showUninstalledPkgs && it->isInstalled() ) + if ( showUninstalledPkgs && package->isInstalled() ) continue; // Apply show only installed packages filter - if ( showInstalledPkgs && !it->isInstalled() ) + if ( showInstalledPkgs && !package->isInstalled() ) continue; // Apply show only new installed packages filter if ( showUpgradedPkgs ) { - if ( !it->isInstalled() || - compareVersions( it->getInstalledVersion(), it->getVersion() ) != 1 ) + if ( !package->isInstalled() || + compareVersions( package->getInstalledVersion(), package->getVersion() ) != 1 ) continue; } // Apply the section filter if ( categoryFilterEnabled && categoryFilter != "" ) { - if ( it->getSection() == "" || categoryFilter.find( it->getSection().lower() ) == -1 ) + if ( package->getSection() == "" || categoryFilter.find( package->getSection().lower() ) == -1 ) continue; } // If the local server, only display installed packages - if ( serverName == LOCAL_SERVER && !it->isInstalled() ) + if ( serverName == LOCAL_SERVER && !package->isInstalled() ) continue; - QCheckListItem *item = new QCheckListItem( packagesList, it->getPackageName(), QCheckListItem::CheckBox ); + QCheckListItem *item = new QCheckListItem( packagesList, package->getPackageName(), + QCheckListItem::CheckBox ); - if ( it->isInstalled() ) + if ( package->isInstalled() ) { // If a different version of package is available, show update available icon // Otherwise, show installed icon - if ( it->getVersion() != it->getInstalledVersion() && - compareVersions( it->getInstalledVersion(), it->getVersion() ) == 1) + if ( package->getVersion() != package->getInstalledVersion() && + compareVersions( package->getInstalledVersion(), package->getVersion() ) == 1) { item->setPixmap( 0, updatedIcon ); @@ -680,15 +688,15 @@ void MainWindow :: serverSelected( int, bool raiseProgress ) } QString destName = ""; - if ( it->getLocalPackage() ) + if ( package->getLocalPackage() ) { - if ( it->getLocalPackage()->getInstalledTo() ) - destName = it->getLocalPackage()->getInstalledTo()->getDestinationName(); + if ( package->getLocalPackage()->getInstalledTo() ) + destName = package->getLocalPackage()->getInstalledTo()->getDestinationName(); } else { - if ( it->getInstalledTo() ) - destName = it->getInstalledTo()->getDestinationName(); + if ( package->getInstalledTo() ) + destName = package->getInstalledTo()->getDestinationName(); } if ( destName != "" ) new QCheckListItem( item, QString( tr( "Installed To - %1" ).arg( destName ) ) ); @@ -698,26 +706,26 @@ void MainWindow :: serverSelected( int, bool raiseProgress ) item->setPixmap( 0, nullIcon ); } - if ( !it->isPackageStoredLocally() ) + if ( !package->isPackageStoredLocally() ) { - new QCheckListItem( item, QString( tr( "Description - %1" ).arg( it->getDescription() ) ) ); - new QCheckListItem( item, QString( tr( "Size - %1" ).arg( it->getPackageSize() ) ) ); - new QCheckListItem( item, QString( tr( "Section - %1" ).arg( it->getSection() ) ) ); + new QCheckListItem( item, QString( tr( "Description - %1" ).arg( package->getDescription() ) ) ); + new QCheckListItem( item, QString( tr( "Size - %1" ).arg( package->getPackageSize() ) ) ); + new QCheckListItem( item, QString( tr( "Section - %1" ).arg( package->getSection() ) ) ); } else - new QCheckListItem( item, QString( tr( "Filename - %1" ).arg( it->getFilename() ) ) ); + new QCheckListItem( item, QString( tr( "Filename - %1" ).arg( package->getFilename() ) ) ); if ( serverName == LOCAL_SERVER ) { - new QCheckListItem( item, QString( tr( "V. Installed - %1" ).arg( it->getVersion() ) ) ); + new QCheckListItem( item, QString( tr( "V. Installed - %1" ).arg( package->getVersion() ) ) ); } else { - new QCheckListItem( item, QString( tr( "V. Available - %1" ).arg( it->getVersion() ) ) ); - if ( it->getLocalPackage() ) + new QCheckListItem( item, QString( tr( "V. Available - %1" ).arg( package->getVersion() ) ) ); + if ( package->getLocalPackage() ) { - if ( it->isInstalled() ) - new QCheckListItem( item, QString( tr( "V. Installed - %1" ).arg( it->getInstalledVersion() ) ) ); + if ( package->isInstalled() ) + new QCheckListItem( item, QString( tr( "V. Installed - %1" ).arg( package->getInstalledVersion() ) ) ); } } @@ -755,7 +763,7 @@ void MainWindow :: searchForPackage( const QString &text ) { // cout << "searching for " << text << endl; // look through package list for text startng at current position - vector workingPackages; +// vector workingPackages; QCheckListItem *start = (QCheckListItem *)packagesList->currentItem(); // if ( start != 0 ) // start = (QCheckListItem *)start->nextSibling(); @@ -957,11 +965,12 @@ void MainWindow :: downloadRemotePackage() // grab details from dialog // QString package = dlg.getPackageLocation(); - InstallData item; - item.option = "I"; - item.packageName = package; - vector workingPackages; - workingPackages.push_back( item ); + InstallData *item = new InstallData(); + item->option = "I"; + item->packageName = package; + QList workingPackages; + workingPackages.setAutoDelete( TRUE ); + workingPackages.append( item ); InstallDlgImpl *dlg = new InstallDlgImpl( workingPackages, mgr, tr( "Download" ) ); connect( dlg, SIGNAL( reloadData( InstallDlgImpl * ) ), this, SLOT( reloadData( InstallDlgImpl * ) ) ); @@ -979,19 +988,19 @@ void MainWindow :: applyChanges() // Now for each selected item // deal with it - vector workingPackages; + QList workingPackages; + workingPackages.setAutoDelete( TRUE ); for ( QCheckListItem *item = (QCheckListItem *)packagesList->firstChild(); item != 0 ; item = (QCheckListItem *)item->nextSibling() ) { if ( item->isOn() ) { - InstallData data = dealWithItem( item ); - workingPackages.push_back( data ); + workingPackages.append( dealWithItem( item ) ); } } - if ( workingPackages.size() == 0 ) + if ( workingPackages.count() == 0 ) { // Nothing to do QMessageBox::information( this, tr( "Nothing to do" ), @@ -1011,12 +1020,12 @@ void MainWindow :: applyChanges() // If not installed - install // If installed and different version available - upgrade // If installed and version up to date - remove -InstallData MainWindow :: dealWithItem( QCheckListItem *item ) +InstallData *MainWindow :: dealWithItem( QCheckListItem *item ) { QString name = item->text(); // Get package - vector::iterator s = mgr->getServer( serversList->currentText() ); + Server *s = mgr->getServer( serversList->currentText() ); Package *p = s->getPackage( name ); // If the package has a filename then it is a local file @@ -1027,29 +1036,29 @@ InstallData MainWindow :: dealWithItem( QCheckListItem *item ) QString dest = "root"; if ( !p->isInstalled() ) { - InstallData item; - item.option = "I"; - item.packageName = name; - return item; + InstallData *newitem = new InstallData();; + newitem->option = "I"; + newitem->packageName = name; + return newitem; } else { - InstallData item; - item.option = "D"; + InstallData *newitem = new InstallData();; + newitem->option = "D"; if ( !p->isPackageStoredLocally() ) - item.packageName = p->getInstalledPackageName(); + newitem->packageName = p->getInstalledPackageName(); else - item.packageName = name; + newitem->packageName = name; if ( p->getInstalledTo() ) { - item.destination = p->getInstalledTo(); + newitem->destination = p->getInstalledTo(); // cout << "dest - " << p->getInstalledTo()->getDestinationName() << endl; // cout << "dest - " << p->getInstalledTo()->getDestinationPath() << endl; } else { - item.destination = p->getLocalPackage()->getInstalledTo(); + newitem->destination = p->getLocalPackage()->getInstalledTo(); } // Now see if version is newer or not @@ -1066,7 +1075,7 @@ InstallData MainWindow :: dealWithItem( QCheckListItem *item ) else if ( val == -1 ) { // Version available is older - remove only - item.option = "D"; + newitem->option = "D"; } else { @@ -1102,28 +1111,28 @@ InstallData MainWindow :: dealWithItem( QCheckListItem *item ) { case 0: // Try again or Enter // option 0 = Remove - item.option = "D"; + newitem->option = "D"; break; case 1: // Quit or Escape - item.option = secondOption; + newitem->option = secondOption; break; } } else { -// item.option = stickyOption; +// newitem->option = stickyOption; } } // Check if we are reinstalling the same version - if ( item.option != "R" ) - item.recreateLinks = true; + if ( newitem->option != "R" ) + newitem->recreateLinks = true; else - item.recreateLinks = false; + newitem->recreateLinks = false; // User hit cancel (on dlg - assume remove) - return item; + return newitem; } } diff --git a/noncore/settings/aqpkg/mainwin.h b/noncore/settings/aqpkg/mainwin.h index d0777fb..db06e16 100644 --- a/noncore/settings/aqpkg/mainwin.h +++ b/noncore/settings/aqpkg/mainwin.h @@ -92,7 +92,7 @@ private: bool filterByCategory( bool val ); void downloadSelectedPackages(); void downloadRemotePackage(); - InstallData dealWithItem( QCheckListItem *item ); + InstallData *dealWithItem( QCheckListItem *item ); // Progress widget QWidget *progressWindow; diff --git a/noncore/settings/aqpkg/server.cpp b/noncore/settings/aqpkg/server.cpp index fc5ed12..04f5ab7 100644 --- a/noncore/settings/aqpkg/server.cpp +++ b/noncore/settings/aqpkg/server.cpp @@ -59,17 +59,19 @@ void Server :: cleanUp() packageList.clear(); } -void Server :: readStatusFile( vector &destList ) +void Server :: readStatusFile( QList &destList ) { cleanUp(); - vector::iterator dit; + Destination *dest; + QListIterator dit( destList ); bool rootRead = false; - for ( dit = destList.begin() ; dit != destList.end() ; ++dit ) + for ( ; dit.current(); ++dit ) { + dest = dit.current(); bool installingToRoot = false; - QString path = dit->getDestinationPath(); + QString path = dest->getDestinationPath(); if ( path.right( 1 ) != "/" ) path += "/"; @@ -80,7 +82,7 @@ void Server :: readStatusFile( vector &destList ) } packageFile = path + "usr/lib/ipkg/status"; - readPackageFile( 0, false, installingToRoot, &( *dit ) ); + readPackageFile( 0, false, installingToRoot, &( *dest ) ); } // Ensure that the root status file is read @@ -115,12 +117,12 @@ void Server :: readLocalIpks( Server *local ) // Changed to display the filename (excluding the path) QString packageName = Utils::getFilenameFromIpkFilename( file ); QString ver = Utils::getPackageVersionFromIpkFilename( file ); - packageList.push_back( Package( packageName ) ); - packageList.back().setVersion( ver ); - packageList.back().setFilename( file ); - packageList.back().setPackageStoredLocally( true ); - - } + Package *package = new Package( packageName ); + package->setVersion( ver ); + package->setFilename( file ); + package->setPackageStoredLocally( true ); + packageList.append( package ); + } #else QString names[] = { "advancedfm_0.9.1-20020811_arm.ipk", "libopie_0.9.1-20020811_arm.ipk", "libopieobex_0.9.1-20020811.1_arm.ipk", "opie-addressbook_0.9.1-20020811_arm.ipk" }; for ( int i = 0 ; i < 4 ; ++i ) @@ -180,10 +182,10 @@ void Server :: readPackageFile( Server *local, bool clearAll, bool installingToR currPackage = getPackage( value ); if ( !currPackage ) { - packageList.push_back( Package( value ) ); - currPackage = &(packageList.back()); + Package *package = new Package( value ); + packageList.append( package ); + currPackage = package; currPackage->setInstalledTo( dest ); - if ( installingToRoot ) currPackage->setInstalledToRoot( true ); } @@ -239,32 +241,35 @@ void Server :: readPackageFile( Server *local, bool clearAll, bool installingToR void Server :: buildLocalPackages( Server *local ) { - for ( unsigned int i = 0 ; i < packageList.size() ; ++i ) + Package *curr; + QListIterator it( packageList ); + for ( ; it.current(); ++it ) { - QString name = packageList[i].getPackageName(); + curr = it.current(); + QString name = curr->getPackageName(); // If the package name is an ipk name, then convert the filename to a package name if ( name.find( ".ipk" ) != -1 ) - name = Utils::getPackageNameFromIpkFilename( packageList[i].getFilename() ); + name = Utils::getPackageNameFromIpkFilename( curr->getFilename() ); if ( local ) { Package *p = local->getPackage( name ); - packageList[i].setLocalPackage( p ); + curr->setLocalPackage( p ); if ( p ) { // Set some default stuff like size and things - if ( p->getInstalledVersion() == packageList[i].getVersion() ) + if ( p->getInstalledVersion() == curr->getVersion() ) { - p->setPackageSize( packageList[i].getPackageSize() ); - p->setSection( packageList[i].getSection() ); - p->setDescription( packageList[i].getDescription() ); + p->setPackageSize( curr->getPackageSize() ); + p->setSection( curr->getSection() ); + p->setDescription( curr->getDescription() ); } } } else - packageList[i].setLocalPackage( 0 ); + curr->setLocalPackage( 0 ); } } @@ -278,29 +283,31 @@ Package *Server :: getPackage( const char *name ) { Package *ret = 0; - for ( unsigned int i = 0 ; i < packageList.size() && ret == 0; ++i ) + QListIterator it( packageList ); + for ( ; it.current(); ++it ) { - if ( packageList[i].getPackageName() == name ) - ret = &packageList[i]; - } + if ( it.current()->getPackageName() == name ) + ret = it.current(); + } return ret; } QString Server :: toString() { - QString ret = "Server\n name - " + serverName + - "\n url - " + serverUrl + - "\n"; - - for ( unsigned int i = 0 ; i < packageList.size() ; ++i ) - ret += "\n " + packageList[i].toString(); + QString ret = QString( "Server\n name - %1\n url - %2\n" ).arg( serverName ).arg( serverUrl ); + + QListIterator it( packageList ); + for ( ; it.current(); ++it ) + { + ret.append( QString( "\n %1" ).arg( it.current()->toString() ) ); + } return ret; } -vector &Server::getPackageList() +QList &Server::getPackageList() { return packageList; } diff --git a/noncore/settings/aqpkg/server.h b/noncore/settings/aqpkg/server.h index f585b8f..02746e0 100644 --- a/noncore/settings/aqpkg/server.h +++ b/noncore/settings/aqpkg/server.h @@ -17,9 +17,9 @@ #ifndef SERVER_H #define SERVER_H +#include #include -#include using namespace std; #include "package.h" @@ -35,14 +35,14 @@ public: void cleanUp(); - void readStatusFile( vector &v ); + void readStatusFile( QList &v ); void readLocalIpks( Server *local ); void readPackageFile( Server *local = 0, bool clearAll = true, bool installedToRoot= false, Destination *dest = 0 ); void buildLocalPackages( Server *local ); Package *getPackage( const char *name ); Package *getPackage( QString &name ); QString toString(); - vector &getPackageList(); + QList &getPackageList(); bool isServerActive() { return active; } void setServerName( const QString &name ) { serverName = name; } @@ -60,7 +60,7 @@ private: bool active; - vector packageList; + QList packageList; }; #endif diff --git a/noncore/settings/aqpkg/settingsimpl.cpp b/noncore/settings/aqpkg/settingsimpl.cpp index c5a55d2..7541f0b 100644 --- a/noncore/settings/aqpkg/settingsimpl.cpp +++ b/noncore/settings/aqpkg/settingsimpl.cpp @@ -254,20 +254,22 @@ QWidget *SettingsImpl :: initProxyTab() void SettingsImpl :: setupData() { // add servers - vector::iterator it; - for ( it = dataMgr->getServerList().begin() ; it != dataMgr->getServerList().end() ; ++it ) + QString serverName; + QListIterator it( dataMgr->getServerList() ); + for ( ; it.current(); ++it ) { - if ( it->getServerName() == LOCAL_SERVER || it->getServerName() == LOCAL_IPKGS ) + serverName = it.current()->getServerName(); + if ( serverName == LOCAL_SERVER || serverName == LOCAL_IPKGS ) continue; - servers->insertItem( it->getServerName() ); + servers->insertItem( serverName ); } // add destinations - vector::iterator it2; - for ( it2 = dataMgr->getDestinationList().begin() ; it2 != dataMgr->getDestinationList().end() ; ++it2 ) - destinations->insertItem( it2->getDestinationName() ); + QListIterator it2( dataMgr->getDestinationList() ); + for ( ; it2.current(); ++it2 ) + destinations->insertItem( it2.current()->getDestinationName() ); // setup proxy tab txtHttpProxy->setText( dataMgr->getHttpProxy() ); @@ -283,7 +285,7 @@ void SettingsImpl :: setupData() void SettingsImpl :: editServer( int sel ) { currentSelectedServer = sel; - vector::iterator s = dataMgr->getServer( servers->currentText() ); + Server *s = dataMgr->getServer( servers->currentText() ); serverName = s->getServerName(); servername->setText( s->getServerName() ); serverurl->setText( s->getServerUrl() ); @@ -302,8 +304,8 @@ void SettingsImpl :: newServer() void SettingsImpl :: removeServer() { changed = true; - vector::iterator s = dataMgr->getServer( servers->currentText() ); - dataMgr->getServerList().erase( s ); + Server *s = dataMgr->getServer( servers->currentText() ); + dataMgr->getServerList().removeRef( s ); servers->removeItem( currentSelectedServer ); } @@ -314,7 +316,7 @@ void SettingsImpl :: changeServerDetails() QString newName = servername->text(); if ( !newserver ) { - vector::iterator s = dataMgr->getServer( servers->currentText() ); + Server *s = dataMgr->getServer( servers->currentText() ); // Update url s->setServerUrl( serverurl->text() ); @@ -338,8 +340,8 @@ void SettingsImpl :: changeServerDetails() else { Server s( newName, serverurl->text() ); - dataMgr->getServerList().push_back( Server( newName, serverurl->text() ) ); - dataMgr->getServerList().end()->setActive( active->isChecked() ); + dataMgr->getServerList().append( new Server( newName, serverurl->text() ) ); + dataMgr->getServerList().last()->setActive( active->isChecked() ); servers->insertItem( newName ); servers->setCurrentItem( servers->count() ); newserver = false; @@ -351,7 +353,7 @@ void SettingsImpl :: changeServerDetails() void SettingsImpl :: editDestination( int sel ) { currentSelectedDestination = sel; - vector::iterator d = dataMgr->getDestination( destinations->currentText() ); + Destination *d = dataMgr->getDestination( destinations->currentText() ); destinationName = d->getDestinationName(); destinationname->setText( d->getDestinationName() ); destinationurl->setText( d->getDestinationPath() ); @@ -370,8 +372,8 @@ void SettingsImpl :: newDestination() void SettingsImpl :: removeDestination() { changed = true; - vector::iterator d = dataMgr->getDestination( destinations->currentText() ); - dataMgr->getDestinationList().erase( d ); + Destination *d = dataMgr->getDestination( destinations->currentText() ); + dataMgr->getDestinationList().removeRef( d ); destinations->removeItem( currentSelectedDestination ); } @@ -387,7 +389,7 @@ void SettingsImpl :: changeDestinationDetails() QString newName = destinationname->text(); if ( !newdestination ) { - vector::iterator d = dataMgr->getDestination( destinations->currentText() ); + Destination *d = dataMgr->getDestination( destinations->currentText() ); // Update url d->setDestinationPath( destinationurl->text() ); @@ -411,7 +413,7 @@ void SettingsImpl :: changeDestinationDetails() } else { - dataMgr->getDestinationList().push_back( Destination( newName, destinationurl->text() ) ); + dataMgr->getDestinationList().append( new Destination( newName, destinationurl->text() ) ); destinations->insertItem( newName ); destinations->setCurrentItem( destinations->count() ); newdestination = false; -- cgit v0.9.0.2