X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=aaptinterface.cpp;h=bda25dca4a718be7717da12dbc798059a90967a2;hb=HEAD;hp=8011035d21dd14caf079249b420bb9e66e8b6235;hpb=ab39ad0cf5e313e7dc4a0db113e2d0664194281c;p=fapman diff --git a/aaptinterface.cpp b/aaptinterface.cpp index 8011035..bda25dc 100644 --- a/aaptinterface.cpp +++ b/aaptinterface.cpp @@ -86,12 +86,6 @@ AAptInterface::AAptInterface(QObject* parent = 0) : QObject(parent) QFile logfile(KLogFile); logfile.remove(); - // clear files left from old versions - QFile f1("/root/.fapman/dates.cache"); - f1.remove(); - QFile f2("/root/.fapman/lastupdate"); - f2.remove(); - readRepositoryInfo(); } @@ -106,7 +100,32 @@ AAptInterface::~AAptInterface() if( iProcAptGetClean->state() != QProcess::NotRunning ) iProcAptGetClean->kill(); - delete iDataReadBuffer; + // qprocesses are automatically deleted by their parent + + QHashIterator a( iPackagesAvailable ); + while (a.hasNext()) + { + a.next(); + delete a.value(); + } + iPackagesAvailable.clear(); + + QHashIterator i( iPackagesInstalled ); + while (i.hasNext()) + { + i.next(); + delete i.value(); + } + iPackagesInstalled.clear(); + + for(int x=0; xopenNetworkConnection(); + if( iUiDimmer ) { iUiDimmer->setProgress(0); iUiDimmer->updateText("Updating catalogs"); @@ -361,6 +382,8 @@ bool AAptInterface::startAptGetInstall() iProcAptGetInstallOutput.clear(); + iMainWindow->openNetworkConnection(); + qDebug() << "running apt-get install"; QString runBinary = "/usr/bin/apt-get"; @@ -976,6 +999,7 @@ void AAptInterface::readRepositoryInfo() //qDebug() << r->toListFileNames(); } else { delete r; + r=0; } } } @@ -999,8 +1023,10 @@ void AAptInterface::readRepositoryInfo() return; } - if( ownFound ) + if( ownFound ) { + qDebug() << "own repo lists found"; return; + } QFile ham( KHamRepoListFile ); if( ham.open(QIODevice::ReadOnly | QIODevice::Text ) ) @@ -1011,20 +1037,26 @@ void AAptInterface::readRepositoryInfo() Repository* r = new Repository(); if( r->setFromString(line) ) { iRepositories.append(r); + +#ifdef Q_WS_MAEMO_5 + // disable the ovi repository by default + if( line.contains("https://downloads.maemo.nokia.com/fremantle1.2/ovi/") ) { + r->setEnabled(false); + } +#endif } else { delete r; + r=0; } } ham.close(); + qDebug() << "system repo list loaded"; } + } bool AAptInterface::writeRepositories() { -#ifndef Q_WS_MAEMO_5 // for simulator - return true; -#endif - iNeedListRefresh = true; QFile own( KOwnRepoFile ); @@ -1063,10 +1095,6 @@ bool AAptInterface::writeRepositories() bool AAptInterface::needRepoRefresh() { -#ifndef Q_WS_MAEMO_5 // for simulator - return false; -#endif - if( iNeedRepoRefresh || iSettings->qsettings()->value("need_repo_refresh", false).toBool() ) { iNeedRepoRefresh = false; iSettings->qsettings()->setValue("need_repo_refresh", false); @@ -1575,20 +1603,23 @@ void AAptInterface::removeFromBlacklist(Package *pkg, BlacklistSelect::blackList return; } - QStringList newlist; bool removed = false; for( int i=0; iname()) ) { - newlist << iBlacklist.at(i); - } else removed = true; + if( iBlacklist.at(i) == pkg->name() ) { + iBlacklist.removeAt(i); + i--; + removed = true; + } } else if( oldstate == BlacklistSelect::BlacklistThis ) { - if( !(iBlacklist.at(i) == (pkg->name()+" "+pkg->version())) ) { - newlist << iBlacklist.at(i); - } else removed = true; + if( iBlacklist.at(i) == (pkg->name()+" "+pkg->version()) ) { + iBlacklist.removeAt(i); + i--; + removed = true; + } } } @@ -1597,7 +1628,6 @@ void AAptInterface::removeFromBlacklist(Package *pkg, BlacklistSelect::blackList else qDebug() << "blacklist:" << pkg->name() << "not in saved list"; - iBlacklist = newlist; } @@ -1627,6 +1657,8 @@ void AAptInterface::startFetchDates() QApplication::processEvents(); } + iMainWindow->openNetworkConnection(); + QNetworkAccessManager* nam = new QNetworkAccessManager(this); if( iSettings->qsettings()->value("use_proxies").toBool() && !iSettings->qsettings()->value("http_proxy").toString().isEmpty() ) @@ -1647,7 +1679,7 @@ void AAptInterface::startFetchDates() i.next(); if( !i.value()->date().isValid() && i.value()->section().startsWith("user/") && !i.value()->isBlacklisted() ) { - Repository* repo = 0; + const Repository* repo = 0; for( int x=0; xrepositories().count(); x++ ) { if( i.value()->repositories().at(x) && i.value()->repositories().at(x)->url().startsWith("http://repository.maemo.org") ) { @@ -1684,13 +1716,13 @@ void AAptInterface::startFetchDates() if( !fe.value()->date().isValid() && fe.value()->section().startsWith("user/") && !fe.value()->isBlacklisted() ) { QString url; - Repository* repo = 0; + const Repository* repo = 0; QString fullFilename = "unknown_filename"; for( int x=0; xrepositories().count(); x++ ) { if( fe.value()->repositories().at(x) && fe.value()->repositories().at(x)->url().startsWith("http://repository.maemo.org") ) { repo = fe.value()->repositories().at(x); - if( fe.value()->fullFileNames().count()>x ) + if( repo && fe.value()->fullFileNames().count()>x ) fullFilename = fe.value()->fullFileNames().at(x); break; } @@ -1711,7 +1743,7 @@ void AAptInterface::startFetchDates() QApplication::processEvents(QEventLoop::WaitForMoreEvents); } } else { - while( iDateRequestsWaiting>50 ) { + while( iDateRequestsWaiting>5 ) { QApplication::processEvents(QEventLoop::WaitForMoreEvents); } } @@ -1742,6 +1774,7 @@ void AAptInterface::startFetchDates() updProgress++; } delete nam; + nam=0; if( iDateRequestsReceived>0 && iNetworkError != QNetworkReply::NoError && iNetworkError != QNetworkReply::QNetworkReply::ContentAccessDenied && iNetworkError != QNetworkReply::QNetworkReply::ContentNotFoundError ) @@ -1792,10 +1825,10 @@ void AAptInterface::dateFetchNetworkReply(QNetworkReply* reply) { iDateRequestsWaiting--; iDateRequestsReceived++; - //qDebug() << "reply" << reply->header(QNetworkRequest::LastModifiedHeader).toDateTime(); iNetworkError = reply->error(); + QDateTime dateModified = reply->header(QNetworkRequest::LastModifiedHeader).toDateTime(); - if( reply->error() == QNetworkReply::NoError && reply->header(QNetworkRequest::LastModifiedHeader).toDateTime().isValid() ) + if( reply->error() == QNetworkReply::NoError && dateModified.isValid() ) { QString pkgname = reply->url().fragment(); //qDebug() << pkgname; @@ -1805,7 +1838,7 @@ void AAptInterface::dateFetchNetworkReply(QNetworkReply* reply) Package* pkg = iPackagesAvailable.value(pkgname, 0); if( pkg ) { - pkg->setDate( reply->header(QNetworkRequest::LastModifiedHeader).toDateTime() ); + pkg->setDate( dateModified ); } else { qDebug() << "warning: unknown packagename in reply:" << pkgname; } @@ -1921,10 +1954,3 @@ void AAptInterface::readPinnedPackages() "remove such settings as they can result in unexpected behavior of Faster Application Manager."); } } - -bool AAptInterface::loadInstallFiles(QStringList files_) -{ - qDebug() << files_; - - return false; -}