-rw-r--r-- | noncore/unsupported/oipkg/listviewitemoipkg.cpp | 38 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/listviewitemoipkg.h | 33 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/mainwindow.h | 1 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/oipkg.pro | 4 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/package.cpp | 100 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/package.h | 22 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelist.cpp | 34 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelist.h | 20 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistdoclnk.cpp | 2 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistitem.cpp | 159 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistitem.h | 32 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistlocal.cpp | 2 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistview.cpp | 141 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistview.h | 17 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/pmipkg.cpp | 10 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/pmipkg.h | 8 |
16 files changed, 370 insertions, 253 deletions
diff --git a/noncore/unsupported/oipkg/listviewitemoipkg.cpp b/noncore/unsupported/oipkg/listviewitemoipkg.cpp new file mode 100644 index 0000000..30b5a5e --- a/dev/null +++ b/noncore/unsupported/oipkg/listviewitemoipkg.cpp @@ -0,0 +1,38 @@ +#include "listviewitemoipkg.h" +#include "packagelistview.h" + +#include <qlistview.h> + +ListViewItemOipkg::ListViewItemOipkg(QListView *parent, QString name, QCheckListItem::Type qct, Type type) + : QCheckListItem(parent,name,qct) +{ + _type = type; +} +ListViewItemOipkg::ListViewItemOipkg(QListView *parent, QString name, Type type) + : QCheckListItem(parent,name,CheckBox) +{ + _type = type; +} + +ListViewItemOipkg::ListViewItemOipkg(ListViewItemOipkg *parent, QString name, Type type) + : QCheckListItem(parent,name,CheckBox) +{ + _type = type; +} + +ListViewItemOipkg::ListViewItemOipkg(PackageListView *parent, QString name, Type type) + : QCheckListItem(parent,name,Controller) +{ + _type = type; +} + +ListViewItemOipkg::ListViewItemOipkg(ListViewItemOipkg *parent, Type type, QString name) + : QCheckListItem(parent,name,Controller) +{ + _type = type; +} + +ListViewItemOipkg::~ListViewItemOipkg() +{ +// delete _popupMenu; +} diff --git a/noncore/unsupported/oipkg/listviewitemoipkg.h b/noncore/unsupported/oipkg/listviewitemoipkg.h new file mode 100644 index 0000000..4f7d2d7 --- a/dev/null +++ b/noncore/unsupported/oipkg/listviewitemoipkg.h @@ -0,0 +1,33 @@ +#ifndef LISTVIEWITEMOIPKG_H +#define LISTVIEWITEMOIPKG_H + +#include <qpopupmenu.h> +#include <qstring.h> +#include <qlistview.h> +#include <qcheckbox.h> + +class PackageListItem; +class PackageListView; + +class ListViewItemOipkg : public QObject, public QCheckListItem +{ +Q_OBJECT +public: + enum Type {Package, Feed, Attribute}; + + ListViewItemOipkg(QListView *parent, QString name, QCheckListItem::Type qct, Type type); ListViewItemOipkg(QListView *parent, QString name, Type type); + ListViewItemOipkg(ListViewItemOipkg *parent, QString name, Type type); + ListViewItemOipkg(PackageListView *parent, QString name, Type type); + ListViewItemOipkg(ListViewItemOipkg *parent, Type type, QString name); + ~ListViewItemOipkg(); + + int getType() {return _type;}; + virtual QPopupMenu* getPopupMenu() {return 0;}; +protected slots: + virtual void menuAction(int ) {}; +protected: + int _type; + static QPopupMenu* _popupMenu; +}; + +#endif diff --git a/noncore/unsupported/oipkg/mainwindow.h b/noncore/unsupported/oipkg/mainwindow.h index 354c585..f32352b 100644 --- a/noncore/unsupported/oipkg/mainwindow.h +++ b/noncore/unsupported/oipkg/mainwindow.h @@ -19,4 +19,5 @@ #include <qpopupmenu.h> +#include "package.h" #include "packagelist.h" #include "packagelistremote.h" diff --git a/noncore/unsupported/oipkg/oipkg.pro b/noncore/unsupported/oipkg/oipkg.pro index 986cbcd..230df2c 100644 --- a/noncore/unsupported/oipkg/oipkg.pro +++ b/noncore/unsupported/oipkg/oipkg.pro @@ -9,4 +9,5 @@ HEADERS = mainwindow.h \ installdialog.h \ utils.h \ + listviewitemoipkg.h \ packagelistitem.h \ packagelistremote.h \ @@ -21,4 +22,5 @@ SOURCES = main.cpp \ packagelistview.cpp \ installdialog.cpp \ + listviewitemoipkg.cpp \ packagelistremote.cpp \ packagelistlocal.cpp \ @@ -33,5 +35,5 @@ LIBS += -lqpe LIBS += -lopie INTERFACES = runwindow.ui \ - pksettingsbase.ui + pksettingsbase.ui TARGET = oipkg diff --git a/noncore/unsupported/oipkg/package.cpp b/noncore/unsupported/oipkg/package.cpp index 3effb73..e020601 100644 --- a/noncore/unsupported/oipkg/package.cpp +++ b/noncore/unsupported/oipkg/package.cpp @@ -19,5 +19,5 @@ #include "debug.h" -Package::Package( QObject *parent, const char *name ) +OipkgPackage::OipkgPackage( QObject *parent, const char *name ) : QObject(parent,name) { @@ -25,16 +25,15 @@ Package::Package( QObject *parent, const char *name ) } -Package::~Package() +OipkgPackage::~OipkgPackage() { } -Package::Package( PackageManagerSettings *s, QObject *parent, const char *name ) +OipkgPackage::OipkgPackage( PackageManagerSettings *s, QObject *parent, const char *name ) : QObject(parent,name) -{ - Package(parent,name); +{ init(s); } -void Package::init( PackageManagerSettings *s ) +void OipkgPackage::init( PackageManagerSettings *s ) { settings = s; @@ -55,5 +54,5 @@ void Package::init( PackageManagerSettings *s ) } -Package::Package( QStringList pack, PackageManagerSettings *s , QObject *parent, const char *name ) +OipkgPackage::OipkgPackage( QStringList pack, PackageManagerSettings *s , QObject *parent, const char *name ) : QObject(parent,name) { @@ -62,5 +61,5 @@ Package::Package( QStringList pack, PackageManagerSettings *s , QObject *parent, } -Package::Package( QString n, PackageManagerSettings *s, QObject *parent, const char *name ) +OipkgPackage::OipkgPackage( QString n, PackageManagerSettings *s, QObject *parent, const char *name ) : QObject(parent,name) { @@ -77,5 +76,5 @@ Package::Package( QString n, PackageManagerSettings *s, QObject *parent, const c } -Package::Package( Package *pi, QObject *parent, const char *name ) +OipkgPackage::OipkgPackage( OipkgPackage *pi, QObject *parent, const char *name ) : QObject(parent,name) { @@ -85,5 +84,5 @@ Package::Package( Package *pi, QObject *parent, const char *name ) -void Package::setValue( QString n, QString t ) +void OipkgPackage::setValue( QString n, QString t ) { if ( n == "Package" ) @@ -138,5 +137,5 @@ void Package::setValue( QString n, QString t ) } -QString Package::name() +QString OipkgPackage::name() { if (_displayName.isEmpty() ) return _name; @@ -145,5 +144,5 @@ QString Package::name() -QString Package::installName() +QString OipkgPackage::installName() { if (_useFileName) return _fileName; @@ -151,5 +150,5 @@ QString Package::installName() } -QString Package::packageName() +QString OipkgPackage::packageName() { QString pn = installName(); @@ -159,5 +158,5 @@ QString Package::packageName() } -bool Package::installed() +bool OipkgPackage::installed() { if (_status.contains("installed")) @@ -173,5 +172,5 @@ bool Package::installed() if (_versions) { - QDictIterator<Package> other( *_versions ); + QDictIterator<OipkgPackage> other( *_versions ); while ( other.current() ) { @@ -185,9 +184,9 @@ bool Package::installed() } -bool Package::otherInstalled() +bool OipkgPackage::otherInstalled() { if (_versions) { - QDictIterator<Package> other( *_versions ); + QDictIterator<OipkgPackage> other( *_versions ); while ( other.current() ) { @@ -199,5 +198,5 @@ bool Package::otherInstalled() } -void Package::setDesc( QString s ) +void OipkgPackage::setDesc( QString s ) { _desc = s; @@ -205,15 +204,15 @@ void Package::setDesc( QString s ) } -QString Package::desc() +QString OipkgPackage::desc() { return _desc; } -QString Package::shortDesc() +QString OipkgPackage::shortDesc() { return _shortDesc; } -QString Package::size() +QString OipkgPackage::size() { return _size; @@ -221,10 +220,10 @@ QString Package::size() -QString Package::version() +QString OipkgPackage::version() { return _version; } -QString Package::sizeUnits() +QString OipkgPackage::sizeUnits() { int i = _size.toInt(); @@ -242,10 +241,10 @@ QString Package::sizeUnits() } -bool Package::toProcess() +bool OipkgPackage::toProcess() { return _toProcess; } -bool Package::toRemove() +bool OipkgPackage::toRemove() { if ( _toProcess && installed() ) return true; @@ -253,5 +252,5 @@ bool Package::toRemove() } -bool Package::toInstall() +bool OipkgPackage::toInstall() { if ( _toProcess && !installed() ) return true; @@ -259,5 +258,5 @@ bool Package::toInstall() } -void Package::toggleProcess() +void OipkgPackage::toggleProcess() { _toProcess = ! _toProcess; @@ -265,6 +264,5 @@ void Package::toggleProcess() - -void Package::copyValues( Package* pack ) +void OipkgPackage::copyValues( OipkgPackage* pack ) { if (_size.isEmpty() && !pack->_size.isEmpty()) _size = QString( pack->_size ); @@ -282,10 +280,10 @@ void Package::copyValues( Package* pack ) } -QString Package::section() +QString OipkgPackage::section() { return _section; } -void Package::setSection( QString s) +void OipkgPackage::setSection( QString s) { int i = s.find("/"); @@ -300,10 +298,10 @@ void Package::setSection( QString s) } -QString Package::subSection() +QString OipkgPackage::subSection() { return _subsection; } -void Package::parsePackage( QStringList pack ) +void OipkgPackage::parsePackage( QStringList pack ) { if ( pack.isEmpty() ) return; @@ -324,5 +322,5 @@ void Package::parsePackage( QStringList pack ) } -QString Package::details() +QString OipkgPackage::details() { QString status; @@ -363,5 +361,5 @@ QString Package::details() } -void Package::processed() +void OipkgPackage::processed() { _toProcess = false; @@ -371,5 +369,5 @@ void Package::processed() } -QString Package::dest() +QString OipkgPackage::dest() { if ( installed()||(!installed() && _toProcess) ) @@ -378,5 +376,5 @@ QString Package::dest() } -void Package::setDest( QString d ) +void OipkgPackage::setDest( QString d ) { if ( d == "remote") _useFileName = true; @@ -384,10 +382,10 @@ void Package::setDest( QString d ) } -void Package::setOn() +void OipkgPackage::setOn() { _toProcess = true; } -bool Package::link() +bool OipkgPackage::link() { if ( _dest == "root" || (!installed() && !_toProcess) ) return false; @@ -395,10 +393,10 @@ bool Package::link() } -void Package::setLink(bool b) +void OipkgPackage::setLink(bool b) { _link = b; } -void Package::parseIpkgFile( QString file) +void OipkgPackage::parseIpkgFile( QString file) { // 20020830 @@ -426,5 +424,5 @@ void Package::parseIpkgFile( QString file) } -//QString Package::getPackageName() +//QString OipkgPackage::getPackageName() //{ // if ( _packageName.isEmpty() ) return _name; @@ -432,28 +430,28 @@ void Package::parseIpkgFile( QString file) //} -void Package::instalFromFile(bool iff) +void OipkgPackage::instalFromFile(bool iff) { _useFileName = iff; } -void Package::setName(QString n) +void OipkgPackage::setName(QString n) { _displayName = n; } -QDict<QString>* Package::getFields() +QDict<QString>* OipkgPackage::getFields() { return &_values; } -QString Package::status() +QString OipkgPackage::status() { return _status; } -bool Package::isOld() +bool OipkgPackage::isOld() { if (!_versions) return false; - QDictIterator<Package> other( *_versions ); + QDictIterator<OipkgPackage> other( *_versions ); while ( other.current() ) { if (other.current()->version() > version() ) return true; @@ -463,5 +461,5 @@ bool Package::isOld() } -bool Package::hasVersions() +bool OipkgPackage::hasVersions() { if (!_versions) return false; @@ -469,10 +467,10 @@ bool Package::hasVersions() } -QDict<Package>* Package::getOtherVersions() +QDict<OipkgPackage>* OipkgPackage::getOtherVersions() { return _versions; } -void Package::setOtherVersions(QDict<Package> *v) +void OipkgPackage::setOtherVersions(QDict<OipkgPackage> *v) { _versions=v; diff --git a/noncore/unsupported/oipkg/package.h b/noncore/unsupported/oipkg/package.h index c147420..2334c31 100644 --- a/noncore/unsupported/oipkg/package.h +++ b/noncore/unsupported/oipkg/package.h @@ -20,17 +20,17 @@ #include "pksettings.h" -class Package : public QObject +class OipkgPackage : public QObject { Q_OBJECT public: - Package(QObject *parent=0, const char *name=0); - Package(PackageManagerSettings *s, QObject *parent=0, const char *name=0); - ~Package(); - Package( QStringList, PackageManagerSettings *s, QObject *parent=0, const char *name=0 ); - Package( QString, PackageManagerSettings *s, QObject *parent=0, const char *name=0 ); - Package( Package*s, QObject *parent=0, const char *name=0 ); + OipkgPackage(QObject *parent=0, const char *name=0); + OipkgPackage(PackageManagerSettings *s, QObject *parent=0, const char *name=0); + ~OipkgPackage(); + OipkgPackage( QStringList, PackageManagerSettings *s, QObject *parent=0, const char *name=0 ); + OipkgPackage( QString, PackageManagerSettings *s, QObject *parent=0, const char *name=0 ); + OipkgPackage( OipkgPackage*s, QObject *parent=0, const char *name=0 ); void setValue( QString, QString ); - void copyValues( Package* ); + void copyValues( OipkgPackage* ); QString name(); @@ -67,6 +67,6 @@ class Package : public QObject QString status(); - QDict<Package>* getOtherVersions(); - void setOtherVersions(QDict<Package>*); + QDict<OipkgPackage>* getOtherVersions(); + void setOtherVersions(QDict<OipkgPackage>*); public slots: @@ -91,5 +91,5 @@ private: QString _dest; QDict<QString> _values; - QDict<Package> *_versions; + QDict<OipkgPackage> *_versions; bool _useFileName; void parsePackage( QStringList ); diff --git a/noncore/unsupported/oipkg/packagelist.cpp b/noncore/unsupported/oipkg/packagelist.cpp index edb9cc5..5f79ec1 100644 --- a/noncore/unsupported/oipkg/packagelist.cpp +++ b/noncore/unsupported/oipkg/packagelist.cpp @@ -17,5 +17,5 @@ #include "debug.h" -static QDict<Package> *packageListAll; +static QDict<OipkgPackage> *packageListAll; static int packageListAllRefCount = 0; @@ -24,5 +24,5 @@ PackageList::PackageList(QObject *parent, const char *name) { empty=true; - if (!packageListAll) packageListAll = new QDict<Package>(); + if (!packageListAll) packageListAll = new QDict<OipkgPackage>(); packageListAllRefCount++; sections << "All"; @@ -47,8 +47,8 @@ PackageList::~PackageList() /** Inserts a package into the list */ -void PackageList::insertPackage( Package* pack ) +void PackageList::insertPackage( OipkgPackage* pack ) { if (!pack) return; - Package* p = packageListAll->find( pack->name() ); + OipkgPackage* p = packageListAll->find( pack->name() ); if ( p ) { @@ -61,9 +61,9 @@ void PackageList::insertPackage( Package* pack ) pack = p; } else { - QDict<Package> *packver = p->getOtherVersions(); + QDict<OipkgPackage> *packver = p->getOtherVersions(); // p->setName( pack->name()+"["+p->version()+"]" ); if (!packver) { - packver = new QDict<Package>(); + packver = new QDict<OipkgPackage>(); packver->insert( pack->name(), p ); p->setOtherVersions( packver ); @@ -88,7 +88,7 @@ void PackageList::filterPackages( QString f ) { packageList.clear(); - QDictIterator<Package> filterIter( origPackageList ); + QDictIterator<OipkgPackage> filterIter( origPackageList ); filterIter.toFirst(); - Package *pack= filterIter.current() ; + OipkgPackage *pack= filterIter.current() ; while ( pack ) { @@ -106,10 +106,10 @@ void PackageList::filterPackages( QString f ) } -Package* PackageList::find( QString n ) +OipkgPackage* PackageList::find( QString n ) { return packageList.find( n ); } -Package* PackageList::first() +OipkgPackage* PackageList::first() { packageIter.toFirst(); @@ -117,5 +117,5 @@ Package* PackageList::first() } -Package* PackageList::next() +OipkgPackage* PackageList::next() { ++packageIter; @@ -148,5 +148,5 @@ void PackageList::setSubSection( QString ssec ) } -void PackageList::updateSections( Package* pack ) +void PackageList::updateSections( OipkgPackage* pack ) { QString s = pack->section(); @@ -183,5 +183,5 @@ void PackageList::readFileEntries( QString filename, QString dest ) if ( ! packEntry.isEmpty() ) { - Package *p = new Package( packEntry, settings ); + OipkgPackage *p = new OipkgPackage( packEntry, settings ); if ( p ) { @@ -198,5 +198,5 @@ void PackageList::readFileEntries( QString filename, QString dest ) if ( ! packEntry.isEmpty() ) { - Package *p = new Package( packEntry, settings ); + OipkgPackage *p = new OipkgPackage( packEntry, settings ); if ( p ) { @@ -215,5 +215,5 @@ void PackageList::setSettings( PackageManagerSettings *s ) } -Package* PackageList::getByName( QString n ) +OipkgPackage* PackageList::getByName( QString n ) { return origPackageList[n]; @@ -229,7 +229,7 @@ void PackageList::allPackages() { packageList.clear(); - QDictIterator<Package> filterIter( origPackageList ); + QDictIterator<OipkgPackage> filterIter( origPackageList ); filterIter.toFirst(); - Package *pack= filterIter.current() ; + OipkgPackage *pack= filterIter.current() ; while ( pack ) { diff --git a/noncore/unsupported/oipkg/packagelist.h b/noncore/unsupported/oipkg/packagelist.h index 0c13688..88a8793 100644 --- a/noncore/unsupported/oipkg/packagelist.h +++ b/noncore/unsupported/oipkg/packagelist.h @@ -25,8 +25,8 @@ public: PackageList( PackageManagerSettings *s, QObject *parent=0, const char *name=0); virtual ~PackageList(); - void insertPackage( Package* ); - Package* find( QString ); - Package* next(); - Package* first(); + void insertPackage( OipkgPackage* ); + OipkgPackage* find( QString ); + OipkgPackage* next(); + OipkgPackage* first(); QStringList getSections(); @@ -34,9 +34,9 @@ public: void setSettings( PackageManagerSettings* ); void filterPackages( QString ); - Package* getByName( QString ); + OipkgPackage* getByName( QString ); void clear(); void allPackages(); - QDict<Package> *versions; + QDict<OipkgPackage> *versions; public slots: @@ -50,7 +50,7 @@ protected: PackageManagerSettings *settings; - QDict<Package> packageList; - QDict<Package> origPackageList; - QDictIterator<Package> packageIter; + QDict<OipkgPackage> packageList; + QDict<OipkgPackage> origPackageList; + QDictIterator<OipkgPackage> packageIter; bool empty; @@ -62,5 +62,5 @@ protected: - void updateSections( Package* ); + void updateSections( OipkgPackage* ); void readFileEntries( QString file, QString dest="" ); }; diff --git a/noncore/unsupported/oipkg/packagelistdoclnk.cpp b/noncore/unsupported/oipkg/packagelistdoclnk.cpp index 76e91ff..a7a6f70 100644 --- a/noncore/unsupported/oipkg/packagelistdoclnk.cpp +++ b/noncore/unsupported/oipkg/packagelistdoclnk.cpp @@ -49,5 +49,5 @@ void PackageListDocLnk::update() for (DocLnk *pack =packlist.first(); pack != 0; pack=packlist.next() ) { - insertPackage( new Package(pack->file(), settings ) ); + insertPackage( new OipkgPackage(pack->file(), settings ) ); } } diff --git a/noncore/unsupported/oipkg/packagelistitem.cpp b/noncore/unsupported/oipkg/packagelistitem.cpp index 03bf477..4380393 100644 --- a/noncore/unsupported/oipkg/packagelistitem.cpp +++ b/noncore/unsupported/oipkg/packagelistitem.cpp @@ -12,4 +12,6 @@ #include <qpe/resource.h> #include <qobject.h> +#include <qpopupmenu.h> +#include <qaction.h> #include "debug.h" @@ -24,49 +26,62 @@ static QPixmap *pm_uninstalled_old_installed_new=0; static QPixmap *pm_uninstalled_installed_old=0; -PackageListItem::PackageListItem(QListView* lv, Package *pi, PackageManagerSettings *s) - : QCheckListItem(lv,pi->name(),CheckBox) +PackageListItem::PackageListItem(ListViewItemOipkg *parent, QString name, Type ittype) + : ListViewItemOipkg(parent,name,ittype) { - init(pi,s); + } -PackageListItem::PackageListItem(QListViewItem *lvi, Package *pi, PackageManagerSettings *s) - : QCheckListItem(lvi,pi->name(),CheckBox) +PackageListItem::PackageListItem(QListView* lv, OipkgPackage *pi, PackageManagerSettings *s) + : ListViewItemOipkg(lv,pi->name(),ListViewItemOipkg::Package) { - init(pi,s); + init(pi,s); } -void PackageListItem::init( Package *pi, PackageManagerSettings *s) +PackageListItem::PackageListItem(ListViewItemOipkg *lvi, OipkgPackage *pi, PackageManagerSettings *s) + : ListViewItemOipkg(lvi,pi->name(),ListViewItemOipkg::Package) +{ + init(pi,s); +} +PackageListItem::~PackageListItem() { + delete popupMenu; + delete destsMenu; +} + +void PackageListItem::init( OipkgPackage *pi, PackageManagerSettings *s) +{ + popupMenu = new QPopupMenu( 0 ); + destsMenu = new QPopupMenu( 0 ); package = pi; settings = s; setExpandable( true ); - QCheckListItem *item; - nameItem = new QCheckListItem( this, "" ); - item = new QCheckListItem( this, QObject::tr("Description: ")+pi->desc() ); - item = new QCheckListItem( this, QObject::tr("Size: ")+pi->size() ); - destItem = new QCheckListItem( this, "" ); - linkItem = new QCheckListItem( this, "" ); - statusItem = new QCheckListItem( this, "" ); - QCheckListItem *otherItem = new QCheckListItem( this, QObject::tr("other") ); - item = new QCheckListItem( otherItem, QObject::tr("Install Name: ")+pi->installName() ); + ListViewItemOipkg *item; + nameItem = new ListViewItemOipkg( this, ListViewItemOipkg::Attribute,"name" ); + item = new ListViewItemOipkg( this, ListViewItemOipkg::Attribute, QObject::tr("Description: ")+pi->desc() ); + item = new ListViewItemOipkg( this, ListViewItemOipkg::Attribute, QObject::tr("Size: ")+pi->size() ); + destItem = new ListViewItemOipkg( this, ListViewItemOipkg::Attribute, "dest" ); + linkItem = new ListViewItemOipkg( this, ListViewItemOipkg::Attribute, "link" ); + statusItem = new ListViewItemOipkg( this, ListViewItemOipkg::Attribute, "status" ); + ListViewItemOipkg *otherItem = new ListViewItemOipkg( this, ListViewItemOipkg::Attribute, QObject::tr("other") ); + item = new ListViewItemOipkg( otherItem, ListViewItemOipkg::Attribute, QObject::tr("Install Name: ")+pi->installName() ); QDict<QString> *fields = pi->getFields(); QDictIterator<QString> it( *fields ); - while ( it.current() ) { - item = new QCheckListItem( otherItem, QString(it.currentKey()+": "+*it.current()) ); - ++it; - } + while ( it.current() ) { + item = new ListViewItemOipkg( otherItem, ListViewItemOipkg::Attribute, QString(it.currentKey()+": "+*it.current()) ); + ++it; + } displayDetails(); if (!pm_uninstalled) - { - 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")); - } + { + 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")); + } } @@ -116,17 +131,17 @@ QPixmap PackageListItem::statePixmap() const if ( !package->toProcess() ) { if ( !installed ) - if (old) + 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; - } + 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 - if (old) return *pm_installed_old; - else return *pm_installed; + if (old) return *pm_installed_old; + else return *pm_installed; } else { //toProcess() == true if ( !installed ) @@ -161,14 +176,64 @@ void PackageListItem::setOn( bool b ) void PackageListItem::displayDetails() { - QString sod; - sod += package->sizeUnits().isEmpty()?QString(""):QString(package->sizeUnits()); - //sod += QString(package->dest().isEmpty()?"":QObject::tr(" on ")+package->dest()); - sod += package->dest().isEmpty()?QString(""):QString(QObject::tr(" on ")+package->dest()); + QString sod; + sod += package->sizeUnits().isEmpty()?QString(""):QString(package->sizeUnits()); + //sod += QString(package->dest().isEmpty()?"":QObject::tr(" on ")+package->dest()); + sod += package->dest().isEmpty()?QString(""):QString(QObject::tr(" on ")+package->dest()); sod = sod.isEmpty()?QString(""):QString(" ("+sod+")"); setText(0, package->name()+sod ); - nameItem->setText( 0, QObject::tr("Name: ")+package->name()); - linkItem->setText( 0, QObject::tr("Link: ")+(package->link()?QObject::tr("Yes"):QObject::tr("No"))); + nameItem->setText( 0, QObject::tr("Name: ")+package->name()); + linkItem->setText( 0, QObject::tr("Link: ")+(package->link()?QObject::tr("Yes"):QObject::tr("No"))); destItem->setText( 0, QObject::tr("Destination: ")+package->dest() ); statusItem->setText( 0, QObject::tr("Status: ")+package->status() ); repaint(); } + +QPopupMenu* PackageListItem::getPopupMenu() +{ + popupMenu->clear(); + destsMenu->clear(); + + QAction *popupAction; + qDebug("PackageListItem::showPopup "); + + if (!package->installed()){ + popupMenu->insertItem( QObject::tr("Install to"), destsMenu ); + QStringList dests = settings->getDestinationNames(); + QString ad = settings->getDestinationName(); + for (uint i = 0; i < dests.count(); i++ ) + { + popupAction = new QAction( dests[i], QString::null, 0, popupMenu, 0 ); + popupAction->addTo( destsMenu ); + if ( dests[i] == ad && getPackage()->toInstall() ) + { + popupAction->setToggleAction( true ); + popupAction->setOn(true); + } + } + connect( destsMenu, SIGNAL( activated( int ) ), + this, SLOT( menuAction( int ) ) ); + popupMenu->popup( QCursor::pos() ); + }else{ + popupMenu->insertItem( QObject::tr("Remove")); + connect( popupMenu, SIGNAL( activated( int ) ), + this, SLOT( menuAction( int ) ) ); + popupMenu->popup( QCursor::pos() ); + } + return popupMenu; +} + +void PackageListItem::menuAction( int i ) +{ + if (package->installed()){ + package->setDest( destsMenu->text(i) ); + package->setLink( settings->createLinks() ); + } + package->setOn(); + displayDetails(); +} + +//void PackageListItem::toggleProcess() +//{ +// package->toggleProcess() ; +// displayDetails(); +//}
\ No newline at end of file diff --git a/noncore/unsupported/oipkg/packagelistitem.h b/noncore/unsupported/oipkg/packagelistitem.h index dba44f7..ca0cf17 100644 --- a/noncore/unsupported/oipkg/packagelistitem.h +++ b/noncore/unsupported/oipkg/packagelistitem.h @@ -11,25 +11,32 @@ #define PK_LISTITEM_H -#include "package.h" #include <qstring.h> -#include <qlistview.h> +//#include <qlistview.h> #include <qpainter.h> #include <qpixmap.h> #include <qdict.h> +#include "listviewitemoipkg.h" +#include "package.h" #include "pksettings.h" -class PackageListItem -: public QCheckListItem +class QPopupMenu; + +class PackageListItem : public ListViewItemOipkg { public: - PackageListItem(QListViewItem*, Package*, PackageManagerSettings*); - PackageListItem(QListView*, Package*, PackageManagerSettings*); + PackageListItem(ListViewItemOipkg *parent, QString name, Type ittype); + PackageListItem( + ListViewItemOipkg *parent, + OipkgPackage *pack, + PackageManagerSettings *s); + PackageListItem(QListView*, OipkgPackage*, PackageManagerSettings*); + ~PackageListItem(); void paintCell( QPainter*, const QColorGroup&, int, int, int ); void paintFocus( QPainter*, const QColorGroup&, const QRect& ); QPixmap statePixmap() const; QString key( int, bool ) const; - Package* getPackage() { return package; } ; + OipkgPackage* getPackage() { return package; } ; QString getName() { return package->name(); } ; bool isInstalled(){ return package->installed(); }; @@ -38,5 +45,9 @@ public: private: - void init(Package*, PackageManagerSettings*); + QPopupMenu *popupMenu; + QPopupMenu *destsMenu; + void init(OipkgPackage*, PackageManagerSettings*); + virtual QPopupMenu* getPopupMenu(); + static QPopupMenu *_destsMenu; QCheckListItem *nameItem; QCheckListItem *destItem; @@ -44,5 +55,8 @@ private: QCheckListItem *statusItem; PackageManagerSettings *settings; - Package *package; + OipkgPackage *package; +protected slots: + // void toggleProcess(); + virtual void menuAction( int ); }; diff --git a/noncore/unsupported/oipkg/packagelistlocal.cpp b/noncore/unsupported/oipkg/packagelistlocal.cpp index b8a19253..2fe75bc 100644 --- a/noncore/unsupported/oipkg/packagelistlocal.cpp +++ b/noncore/unsupported/oipkg/packagelistlocal.cpp @@ -70,5 +70,5 @@ void PackageListLocal::update() pvDebug( 2, "parseStatus"); parseStatus(); - pvDebug( 2, "parseList"); + pvDebug( 2, "parseList "+listsDir); parseList(); pvDebug( 2, "finished parsing"); diff --git a/noncore/unsupported/oipkg/packagelistview.cpp b/noncore/unsupported/oipkg/packagelistview.cpp index 0d6fa80..3c7435d 100644 --- a/noncore/unsupported/oipkg/packagelistview.cpp +++ b/noncore/unsupported/oipkg/packagelistview.cpp @@ -13,23 +13,22 @@ #include <qaction.h> +#include "listviewitemoipkg.h" #include "packagelistitem.h" #include "pksettings.h" PackageListView::PackageListView(QWidget *p, const char* n, PackageManagerSettings *s) - : QListView(p,n) + : QListView(p,n) { - settings = s; - popupMenu = new QPopupMenu( this ); - destsMenu = new QPopupMenu( popupMenu ); + settings = s; popupTimer = new QTimer( this ); setSelectionMode(QListView::NoSelection); - addColumn( tr("Package") ); - setRootIsDecorated( true ); + addColumn( tr("Package") ); + setRootIsDecorated( true ); connect( popupTimer, SIGNAL(timeout()), - this, SLOT(showPopup()) ); + this, SLOT(showPopup()) ); connect( this, SIGNAL( pressed( QListViewItem* ) ), - this, SLOT( setCurrent( QListViewItem* ) ) ); - connect( this, SIGNAL( clicked( QListViewItem* ) ), + this, SLOT( setCurrent( QListViewItem* ) ) ); + connect( this, SIGNAL( clicked( QListViewItem* ) ), this, SLOT( stopTimer( QListViewItem* ) ) ); @@ -42,20 +41,26 @@ PackageListView::PackageListView(QWidget *p, const char* n, PackageManagerSettin void PackageListView::setCurrent( QListViewItem* p ) { - if ( !p ) return; - activePackageListItem = (PackageListItem*)p; - activePackage = activePackageListItem->getPackage(); - if (!activePackage) - { -// QDictIterator<QCheckListItem> it( rootItems ); -// while ( it.current() ) + qDebug("PackageListView::setCurrent "); + activeItem = (ListViewItemOipkg*)p; + + if ( activeItem != 0 ) popupTimer->start( 750, true ); + +// if ( activeItem->getType() != ListViewItemOipkg::Package ){ +// qDebug("PackageListView::setCurrent !p "); +// activePackage = 0; +// activePackageListItem = 0; +// qDebug("PackageListView::setCurrent returning "); +// return; +// }; +// activePackageListItem = (PackageListItem*)p; +// activePackage = activePackageListItem->getPackage(); +// if (activePackage == 0 ) // { -// if ( it.current()==p ) -// pvDebug(2,"current item"); -// ++it; -// } +// qDebug("PackageListView::setCurrent if (!activePackage)"); +// return; +// } + - return; - } - popupTimer->start( 750, true ); + qDebug("PackageListView::setCurrent popupTimer->start"); } @@ -63,84 +68,44 @@ void PackageListView::setCurrent( QListViewItem* p ) void PackageListView::showPopup() { - popupMenu->clear(); - destsMenu->clear(); - - QAction *popupAction; - if ( !activePackage->installed() ) - { - popupMenu->insertItem( tr("Install to"), destsMenu ); - QStringList dests = settings->getDestinationNames(); - QString ad = settings->getDestinationName(); - for (uint i = 0; i < dests.count(); i++ ) - { - popupAction = new QAction( dests[i], QString::null, 0, this, 0 ); - popupAction->addTo( destsMenu ); - if ( dests[i] == ad && activePackage->toInstall() ) - { - popupAction->setToggleAction( true ); - popupAction->setOn(true); - }; - } - connect( destsMenu, SIGNAL( activated( int ) ), - this, SLOT( changePackageDest( int ) ) ); - }else{ - popupAction = new QAction( tr("Remove"),QString::null, 0, this, 0 ); - popupAction->addTo( popupMenu ); - connect( popupAction, SIGNAL( activated() ), - this , SLOT( toggleProcess() ) ); - popupAction = new QAction( tr("Reinstall"),QString::null, 0, this, 0 ); - popupAction->addTo( popupMenu ); - popupAction->setEnabled( false ); - } - popupMenu->popup( QCursor::pos() ); + qDebug("PackageListView::showPopup"); + QPopupMenu *popup = activeItem->getPopupMenu(); + if (popup == 0) return; + popup->popup( QCursor::pos() ); + qDebug("PackageListView::showPopup"); } void PackageListView::stopTimer( QListViewItem* ) { - popupTimer->stop(); + popupTimer->stop(); } -void PackageListView::changePackageDest( int i ) -{ - activePackage->setDest( destsMenu->text(i) ); - activePackage->setOn(); - activePackage->setLink( settings->createLinks() ); - activePackageListItem->displayDetails(); -} - -void PackageListView::toggleProcess() -{ - activePackage->toggleProcess() ; - activePackageListItem->displayDetails(); -} - void PackageListView::display() { - QDictIterator<PackageList> list( PackageLists ); - PackageList *packlist; - Package *pack; + QDictIterator<PackageList> list( PackageLists ); + PackageList *packlist; + OipkgPackage *pack; PackageListItem *item; - QCheckListItem *rootItem; + ListViewItemOipkg *rootItem; QListViewItem* it; QListViewItem* itdel; - while ( list.current() ) { - packlist = list.current(); + while ( list.current() ) { + packlist = list.current(); rootItem = rootItems.find( list.currentKey() ); //rootItem->clear(); it=rootItem->firstChild(); while ( it ) - { - itdel = it; - it = it->nextSibling(); - delete itdel; - } + { + itdel = it; + it = it->nextSibling(); + delete itdel; + } pack = packlist->first(); - while( pack ) - { - item = new PackageListItem( rootItem, pack, settings ); + while( pack ) + { + item = new PackageListItem( rootItem, pack, settings ); pack = packlist->next(); - } - ++list; + } + ++list; } } @@ -148,6 +113,6 @@ void PackageListView::display() void PackageListView::addList( QString n, PackageList* pl) { - PackageLists.insert(n, pl); - QCheckListItem *item = new QCheckListItem(this,n); - rootItems.insert(n, item); + PackageLists.insert(n, pl); + ListViewItemOipkg *item = new ListViewItemOipkg(this,n,ListViewItemOipkg::Feed); + rootItems.insert(n, item); } diff --git a/noncore/unsupported/oipkg/packagelistview.h b/noncore/unsupported/oipkg/packagelistview.h index 3c09ba8..17dcb95 100644 --- a/noncore/unsupported/oipkg/packagelistview.h +++ b/noncore/unsupported/oipkg/packagelistview.h @@ -19,10 +19,12 @@ #include <qwidget.h> #include <qpopupmenu.h> +#include "listviewitemoipkg.h" #include "packagelist.h" #include "debug.h" class PackageListItem; -class Package; +class OipkgPackage; class PackageManagerSettings; +//class ListViewItemOipkg; class PackageListView : public QListView @@ -36,17 +38,16 @@ public: QTimer *popupTimer; private: - QDict<PackageList> PackageLists; - QDict<QCheckListItem> rootItems; - PackageManagerSettings *settings; - Package *activePackage; - PackageListItem *activePackageListItem; + QDict<PackageList> PackageLists; + QDict<ListViewItemOipkg> rootItems; + PackageManagerSettings *settings; +// OipkgPackage *activePackage; +// PackageListItem *activePackageListItem; + ListViewItemOipkg *activeItem; QPopupMenu *popupMenu; QPopupMenu *destsMenu; public slots: void showPopup(); - void changePackageDest( int ); void setCurrent( QListViewItem* ); void stopTimer( QListViewItem* ); - void toggleProcess(); void display(); }; diff --git a/noncore/unsupported/oipkg/pmipkg.cpp b/noncore/unsupported/oipkg/pmipkg.cpp index 2ed313c..cfaadbf 100644 --- a/noncore/unsupported/oipkg/pmipkg.cpp +++ b/noncore/unsupported/oipkg/pmipkg.cpp @@ -115,5 +115,5 @@ bool PmIpkg::runIpkg(const QString& args, const QString& dest ) } -void PmIpkg::makeLinks(Package *pack) +void PmIpkg::makeLinks(OipkgPackage *pack) { pvDebug( 2, "PmIpkg::makeLinks "+ pack->name()); @@ -233,5 +233,5 @@ void PmIpkg::processLinkDir( QString file, QString dest ) void PmIpkg::loadList( PackageList *pl ) { - for( Package *pack = pl->first();pack ; (pack = pl->next()) ) + for( OipkgPackage *pack = pl->first();pack ; (pack = pl->next()) ) { if ( pack && (pack->name() != "") && pack) @@ -292,5 +292,5 @@ void PmIpkg::remove() out(tr("Removing")+"\n"+tr("please wait")+"\n\n"); - QStringList *fileList; + QStringList *fileList = new QStringList; for (uint i=0; i < to_remove.count(); i++) { @@ -415,5 +415,5 @@ void PmIpkg::installFile(const QString &fileName, const QString &dest) to_remove.clear(); pvDebug( 2,"PmIpkg::installFile "+ fileName); - Package *p = new Package(fileName,settings); + OipkgPackage *p = new OipkgPackage(fileName,settings); if ( dest!="") p->setDest( dest ); to_install.append( p ); @@ -428,5 +428,5 @@ void PmIpkg::removeFile(const QString &fileName, const QString &dest) to_remove.clear(); pvDebug( 2,"PmIpkg::removeFile "+ fileName); - Package *p = new Package(fileName,settings); + OipkgPackage *p = new OipkgPackage(fileName,settings); if ( dest!="") p->setDest( dest ); to_remove.append( p ); diff --git a/noncore/unsupported/oipkg/pmipkg.h b/noncore/unsupported/oipkg/pmipkg.h index 2f4d6ae..cb0759a 100644 --- a/noncore/unsupported/oipkg/pmipkg.h +++ b/noncore/unsupported/oipkg/pmipkg.h @@ -24,5 +24,5 @@ #define removeLink 1 -class Package; +class OipkgPackage; class PmIpkg : public QObject { @@ -54,7 +54,7 @@ private: RunWindow *runwindow; InstallDialog *installDialog; - QList<Package> to_remove; - QList<Package> to_install; - void makeLinks(Package*); + QList<OipkgPackage> to_remove; + QList<OipkgPackage> to_install; + void makeLinks(OipkgPackage*); void linkPackage( QString, QString ); void processLinkDir( QString , QString ); |