summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/oipkg/main.cpp2
-rw-r--r--noncore/unsupported/oipkg/mainwindow.cpp7
-rw-r--r--noncore/unsupported/oipkg/package.cpp58
-rw-r--r--noncore/unsupported/oipkg/package.h14
-rw-r--r--noncore/unsupported/oipkg/packagelist.cpp21
-rw-r--r--noncore/unsupported/oipkg/packagelist.h2
-rw-r--r--noncore/unsupported/oipkg/packagelistitem.cpp27
-rw-r--r--noncore/unsupported/oipkg/pmipkg.cpp9
-rw-r--r--pics/oipkg/installedOld.pngbin0 -> 197 bytes
-rw-r--r--pics/oipkg/uninstalledInstalledOld.pngbin0 -> 257 bytes
-rw-r--r--pics/oipkg/uninstalledOld.pngbin0 -> 225 bytes
-rw-r--r--pics/oipkg/uninstalledOldinstalledNew.pngbin0 -> 261 bytes
12 files changed, 124 insertions, 16 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
@@ -24,7 +24,8 @@ class Package //: public QObject
void copyValues( Package* );
- QString name() ;
- QString installName() ;
+ QString name();
+ 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
+ {
+ if (verinstalled) return *pm_uninstalled_installed_old;
+ else return *pm_uninstalled;
+ }
else
- return *pm_installed;
- } 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
new file mode 100644
index 0000000..8a042fc
--- a/dev/null
+++ b/pics/oipkg/installedOld.png
Binary files differ
diff --git a/pics/oipkg/uninstalledInstalledOld.png b/pics/oipkg/uninstalledInstalledOld.png
new file mode 100644
index 0000000..f369c63
--- a/dev/null
+++ b/pics/oipkg/uninstalledInstalledOld.png
Binary files differ
diff --git a/pics/oipkg/uninstalledOld.png b/pics/oipkg/uninstalledOld.png
new file mode 100644
index 0000000..5dce3ea
--- a/dev/null
+++ b/pics/oipkg/uninstalledOld.png
Binary files differ
diff --git a/pics/oipkg/uninstalledOldinstalledNew.png b/pics/oipkg/uninstalledOldinstalledNew.png
new file mode 100644
index 0000000..3bfe126
--- a/dev/null
+++ b/pics/oipkg/uninstalledOldinstalledNew.png
Binary files differ