author | tille <tille> | 2002-05-04 14:09:41 (UTC) |
---|---|---|
committer | tille <tille> | 2002-05-04 14:09:41 (UTC) |
commit | 27f8629d4e6e16e9a33410ffe650f4a6d0bb17be (patch) (side-by-side diff) | |
tree | 924a9449cff5d062d421f580644ea98ab8f42429 | |
parent | 4eddfebd1b4f70bbfe9106a16e9a3eeb6601f653 (diff) | |
download | opie-27f8629d4e6e16e9a33410ffe650f4a6d0bb17be.zip opie-27f8629d4e6e16e9a33410ffe650f4a6d0bb17be.tar.gz opie-27f8629d4e6e16e9a33410ffe650f4a6d0bb17be.tar.bz2 |
version handling
-rw-r--r-- | noncore/unsupported/oipkg/main.cpp | 2 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/mainwindow.cpp | 7 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/package.cpp | 58 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/package.h | 10 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelist.cpp | 21 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelist.h | 2 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistitem.cpp | 27 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/pmipkg.cpp | 9 | ||||
-rw-r--r-- | pics/oipkg/installedOld.png | bin | 0 -> 197 bytes | |||
-rw-r--r-- | pics/oipkg/uninstalledInstalledOld.png | bin | 0 -> 257 bytes | |||
-rw-r--r-- | pics/oipkg/uninstalledOld.png | bin | 0 -> 225 bytes | |||
-rw-r--r-- | pics/oipkg/uninstalledOldinstalledNew.png | bin | 0 -> 261 bytes |
12 files changed, 122 insertions, 14 deletions
diff --git a/noncore/unsupported/oipkg/main.cpp b/noncore/unsupported/oipkg/main.cpp index 4af11df..d98bcaa 100644 --- a/noncore/unsupported/oipkg/main.cpp +++ b/noncore/unsupported/oipkg/main.cpp @@ -11,5 +11,5 @@ int main( int argc, char ** argv ) debugLevel = 2; - if (argc > 0) + if (argc > 1) { debugLevel = QString ( argv[1] ).toInt(); diff --git a/noncore/unsupported/oipkg/mainwindow.cpp b/noncore/unsupported/oipkg/mainwindow.cpp index 4f6e4cc..55f915d 100644 --- a/noncore/unsupported/oipkg/mainwindow.cpp +++ b/noncore/unsupported/oipkg/mainwindow.cpp @@ -50,9 +50,13 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) : packageListSearch.setSettings( settings ); packageListDocLnk.setSettings( settings ); + pvDebug(9,"packageListServers.update"); packageListServers.update(); + pvDebug(9,"packageListDocLnk.update"); packageListDocLnk.update(); + pvDebug(9,"makeMenu"); makeMenu(); makeChannel(); //opie is hardcoded default ;) + pvDebug(9,"section->setCurrentItem"); for (int i=0;i<section->count();i++) if (section->text(i)=="opie") @@ -68,4 +72,5 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) : SLOT(createLinks()) ); + pvDebug(9,"displayList"); displayList(); } @@ -237,5 +242,4 @@ void MainWindow::makeMenu() MainWindow::~MainWindow() { - pvDebug(7,"MainWindow::~MainWindow "); Config cfg( "oipkg", Config::User ); cfg.setGroup( "gui" ); @@ -244,5 +248,4 @@ MainWindow::~MainWindow() cfg.writeEntry( "sectionBar", !sectionBar->isHidden() ); cfg.writeEntry( "destBar", !destBar->isHidden() ); - pvDebug(7,"MainWindow::~MainWindow "); } diff --git a/noncore/unsupported/oipkg/package.cpp b/noncore/unsupported/oipkg/package.cpp index 9280d89..c947c64 100644 --- a/noncore/unsupported/oipkg/package.cpp +++ b/noncore/unsupported/oipkg/package.cpp @@ -30,7 +30,9 @@ void Package::init( PackageManagerSettings *s ) _toProcess = false; _useFileName = false; + _old = false; _status = ""; _dest = settings->getDestinationName(); _link = settings->createLinks(); + _versions=0; } @@ -129,5 +131,32 @@ QString Package::installName() bool Package::installed() { - return _status.contains("installed"); + if (_status.contains("installed")) return true; + else + if (_versions) + { + QDictIterator<Package> other( *_versions ); + while ( other.current() ) + { + if (other.current()->status().contains("installed") + && other.current()->version() == version()) + return true; + ++other; + } + } + return false; +} + +bool Package::otherInstalled() +{ + if (_versions) + { + QDictIterator<Package> other( *_versions ); + while ( other.current() ) + { + if (other.current()->installed()) return true; + ++other; + } + } + return false; } @@ -371,2 +400,29 @@ QString Package::status() return _status; } + +bool Package::isOld() +{ + if (!_versions) return false; + QDictIterator<Package> other( *_versions ); + while ( other.current() ) { + if (other.current()->version() > version() ) return true; + ++other; + } + return false; +} + +bool Package::hasVersions() +{ + if (!_versions) return false; + else return true; +} + +QDict<Package>* Package::getOtherVersions() +{ + return _versions; +} + +void Package::setOtherVersions(QDict<Package> *v) +{ + _versions=v; +} diff --git a/noncore/unsupported/oipkg/package.h b/noncore/unsupported/oipkg/package.h index 257d9c7..68090dc 100644 --- a/noncore/unsupported/oipkg/package.h +++ b/noncore/unsupported/oipkg/package.h @@ -27,4 +27,5 @@ class Package //: public QObject QString installName() ; bool installed(); + bool otherInstalled(); void setDesc( QString ); @@ -47,4 +48,6 @@ class Package //: public QObject bool link(); void setLink(bool); + bool isOld(); + bool hasVersions(); void parseIpkgFile( QString ); void instalFromFile(bool iff=true); @@ -52,4 +55,8 @@ class Package //: public QObject QDict<QString>* getFields(); QString status(); + + QDict<Package>* getOtherVersions(); + void setOtherVersions(QDict<Package>*); + public slots: void toggleProcess(); @@ -60,4 +67,6 @@ private: QString _name; QString _fileName; + bool _old; + bool _hasVersions; bool _toProcess; bool _link; @@ -71,4 +80,5 @@ private: QString _dest; QDict<QString> _values; + QDict<Package> *_versions; bool _useFileName; void parsePackage( QStringList ); diff --git a/noncore/unsupported/oipkg/packagelist.cpp b/noncore/unsupported/oipkg/packagelist.cpp index be20c71..2fc4c41 100644 --- a/noncore/unsupported/oipkg/packagelist.cpp +++ b/noncore/unsupported/oipkg/packagelist.cpp @@ -8,8 +8,11 @@ #include "debug.h" +static QDict<Package> *packageListAll; + PackageList::PackageList() : packageIter( packageList ) { empty=true; + if (!packageListAll) packageListAll = new QDict<Package>(); sections << "All"; subSections.insert("All", new QStringList() ); @@ -35,8 +38,9 @@ void PackageList::insertPackage( Package* pack ) { if (!pack) return; - Package* p = packageList.find( pack->name() ); + Package* p = packageListAll->find( pack->name() ); if ( p ) { - if ( p->version() == pack->version() ) + if ( (p->version() == pack->version()) + && (p->dest() == pack->dest()) ) { p->copyValues( pack ); @@ -44,10 +48,21 @@ void PackageList::insertPackage( Package* pack ) pack = p; } else { - p->setName( pack->name()+"["+p->version()+"]" ); + QDict<Package> *packver = p->getOtherVersions(); +// p->setName( pack->name()+"["+p->version()+"]" ); + if (!packver) + { + packver = new QDict<Package>; + packver->insert( pack->name(), p ); + p->setOtherVersions( packver ); + } pack->setName( pack->name()+"["+pack->version()+"]" ); + pack->setOtherVersions( packver ); + packver->insert( pack->name(), pack ); + packageListAll->insert( pack->name(), pack ); packageList.insert( pack->name(), pack ); origPackageList.insert( pack->name(), pack ); } }else{ + packageListAll->insert( pack->name(), pack ); packageList.insert( pack->name(), pack ); origPackageList.insert( pack->name(), pack ); diff --git a/noncore/unsupported/oipkg/packagelist.h b/noncore/unsupported/oipkg/packagelist.h index acea3b9..d0f8897 100644 --- a/noncore/unsupported/oipkg/packagelist.h +++ b/noncore/unsupported/oipkg/packagelist.h @@ -29,4 +29,6 @@ public: void allPackages(); + QDict<Package> *versions; + public slots: void setSection(QString); diff --git a/noncore/unsupported/oipkg/packagelistitem.cpp b/noncore/unsupported/oipkg/packagelistitem.cpp index 45aaf1d..c743a49 100644 --- a/noncore/unsupported/oipkg/packagelistitem.cpp +++ b/noncore/unsupported/oipkg/packagelistitem.cpp @@ -7,7 +7,11 @@ static QPixmap *pm_uninstalled=0; +static QPixmap *pm_uninstalled_old=0; static QPixmap *pm_installed=0; +static QPixmap *pm_installed_old=0; static QPixmap *pm_uninstall=0; static QPixmap *pm_install=0; +static QPixmap *pm_uninstalled_old_installed_new=0; +static QPixmap *pm_uninstalled_installed_old=0; PackageListItem::PackageListItem(QListView* lv, Package *pi, PackageManagerSettings *s) @@ -47,5 +51,9 @@ void PackageListItem::init( Package *pi, PackageManagerSettings *s) { pm_uninstalled = new QPixmap(Resource::loadPixmap("oipkg/uninstalled")); + pm_uninstalled_old = new QPixmap(Resource::loadPixmap("oipkg/uninstalledOld")); + pm_uninstalled_old_installed_new = new QPixmap(Resource::loadPixmap("oipkg/uninstalledOldinstalledNew")); + pm_uninstalled_installed_old = new QPixmap(Resource::loadPixmap("oipkg/uninstalledInstalledOld")); pm_installed = new QPixmap(Resource::loadPixmap("oipkg/installed")); + pm_installed_old = new QPixmap(Resource::loadPixmap("oipkg/installedOld")); pm_install = new QPixmap(Resource::loadPixmap("oipkg/install")); pm_uninstall = new QPixmap(Resource::loadPixmap("oipkg/uninstall")); @@ -94,10 +102,23 @@ QPixmap PackageListItem::statePixmap() const { bool installed = package->installed(); + bool old = package->isOld(); + bool versions = package->hasVersions(); + bool verinstalled = package->otherInstalled(); if ( !package->toProcess() ) { if ( !installed ) - return *pm_uninstalled; + if (old) + { + if (verinstalled) return *pm_uninstalled_old_installed_new; + else return *pm_uninstalled_old; + } else - return *pm_installed; - } else { + { + if (verinstalled) return *pm_uninstalled_installed_old; + else return *pm_uninstalled; + } + else + if (old) return *pm_installed_old; + else return *pm_installed; + } else { //toProcess() == true if ( !installed ) return *pm_install; diff --git a/noncore/unsupported/oipkg/pmipkg.cpp b/noncore/unsupported/oipkg/pmipkg.cpp index 0ae74da..5996e63 100644 --- a/noncore/unsupported/oipkg/pmipkg.cpp +++ b/noncore/unsupported/oipkg/pmipkg.cpp @@ -40,10 +40,11 @@ PmIpkg::~PmIpkg() //#define PROC #define SYSTEM +#define QT_QPROCESS_DEBUG int PmIpkg::runIpkg(const QString& args, const QString& dest ) { pvDebug(2,"PmIpkg::runIpkg "+args); - + QDir::setCurrent("/tmp"); #ifdef PROC - QStringList cmd = "ipkg "; + QString cmd; #endif #ifdef SYSTEM @@ -73,5 +74,5 @@ int PmIpkg::runIpkg(const QString& args, const QString& dest ) #ifdef PROC QString o = "start"; - Process *ipkg = new Process( cmd ); + Process *ipkg = new Process(QStringList() << "ipkg" << cmd ); out( "running:<br>\n"+ipkg->arguments().join(" ")+"<br>\n" ); QString description; @@ -298,5 +299,5 @@ void PmIpkg::install() if ( runIpkg("install " + to_install.at(i)->installName(), to_install.at(i)->dest() ) == 0 ) { - runwindow->progress->setProgress( to_install.at(i)->size().toInt() ); + runwindow->progress->setProgress( to_install.at(i)->size().toInt() + runwindow->progress->progress()); linkOpp = createLink; if ( to_install.at(i)->link() ) diff --git a/pics/oipkg/installedOld.png b/pics/oipkg/installedOld.png Binary files differnew file mode 100644 index 0000000..8a042fc --- a/dev/null +++ b/pics/oipkg/installedOld.png diff --git a/pics/oipkg/uninstalledInstalledOld.png b/pics/oipkg/uninstalledInstalledOld.png Binary files differnew file mode 100644 index 0000000..f369c63 --- a/dev/null +++ b/pics/oipkg/uninstalledInstalledOld.png diff --git a/pics/oipkg/uninstalledOld.png b/pics/oipkg/uninstalledOld.png Binary files differnew file mode 100644 index 0000000..5dce3ea --- a/dev/null +++ b/pics/oipkg/uninstalledOld.png diff --git a/pics/oipkg/uninstalledOldinstalledNew.png b/pics/oipkg/uninstalledOldinstalledNew.png Binary files differnew file mode 100644 index 0000000..3bfe126 --- a/dev/null +++ b/pics/oipkg/uninstalledOldinstalledNew.png |