summaryrefslogtreecommitdiff
authortille <tille>2002-05-01 16:14:36 (UTC)
committer tille <tille>2002-05-01 16:14:36 (UTC)
commitda12e60078563ef6e10ddcc1edeb931f765b8b6d (patch) (side-by-side diff)
tree0d6cfec0cf3de34568f02de41582bc84e962e12d
parentda94bce203afca412336a7793ff8e58e18d59108 (diff)
downloadopie-da12e60078563ef6e10ddcc1edeb931f765b8b6d.zip
opie-da12e60078563ef6e10ddcc1edeb931f765b8b6d.tar.gz
opie-da12e60078563ef6e10ddcc1edeb931f765b8b6d.tar.bz2
more fields in detailed view
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/oipkg/TODO1
-rw-r--r--noncore/unsupported/oipkg/package.cpp5
-rw-r--r--noncore/unsupported/oipkg/package.h1
-rw-r--r--noncore/unsupported/oipkg/packagelistitem.cpp9
4 files changed, 14 insertions, 2 deletions
diff --git a/noncore/unsupported/oipkg/TODO b/noncore/unsupported/oipkg/TODO
index fc2e8a4..9d9a650 100644
--- a/noncore/unsupported/oipkg/TODO
+++ b/noncore/unsupported/oipkg/TODO
@@ -1,14 +1,13 @@
* Settings Class
* tr() ;)
* Dialog to display ipkg output live
* parse "to install" and "to remove" from status
* install local file dialog
* qcop
* error handling
* manage links
* dependency checking
* create dest if it does not exist
* allow reinstalling
-* handle different versions
* different types of filters and searches
i.e. name, desc, files etc \ No newline at end of file
diff --git a/noncore/unsupported/oipkg/package.cpp b/noncore/unsupported/oipkg/package.cpp
index 0787ece..f992641 100644
--- a/noncore/unsupported/oipkg/package.cpp
+++ b/noncore/unsupported/oipkg/package.cpp
@@ -316,48 +316,53 @@ void Package::setOn()
_toProcess = true;
}
bool Package::link()
{
if ( _dest == "root" || (!installed() && !_toProcess) ) return false;
return _link;
}
void Package::setLink(bool b)
{
_link = b;
}
void Package::parseIpkgFile( QString file)
{
system("tar xzf "+file+" -C /tmp");
system("tar xzf /tmp/control.tar.gz -C /tmp");
QFile f("/tmp/control");
if ( f.open(IO_ReadOnly) )
{
QTextStream t( &f );
QStringList pack;
while ( !t.eof() )
{
pack << t.readLine();
}
f.close();
parsePackage( pack );
}
}
//QString Package::getPackageName()
//{
// if ( _packageName.isEmpty() ) return _name;
// else return _packageName;
//}
void Package::instalFromFile(bool iff)
{
_useFileName = iff;
}
void Package::setName(QString n)
{
_displayName = n;
}
+
+QDict<QString>* Package::getFields()
+{
+ return &_values;
+}
diff --git a/noncore/unsupported/oipkg/package.h b/noncore/unsupported/oipkg/package.h
index 2ca966d..fc725bc 100644
--- a/noncore/unsupported/oipkg/package.h
+++ b/noncore/unsupported/oipkg/package.h
@@ -4,74 +4,75 @@
#include <qstring.h>
#include <qlistview.h>
#include <qpainter.h>
#include <qpixmap.h>
#include <qdict.h>
#include <qobject.h>
#include "pksettings.h"
class Package //: public QObject
{
// Q_OBJECT
public:
Package(PackageManagerSettings *);
// ~Package();
Package( QStringList, PackageManagerSettings * );
Package( QString, PackageManagerSettings * );
Package( Package* );
void setValue( QString, QString );
void copyValues( Package* );
QString name() ;
QString installName() ;
bool installed();
void setDesc( QString );
QString shortDesc();
QString desc();
QString size();
QString sizeUnits();
QString version();
void setSection( QString );
QString section();
QString subSection();
QString details();
bool toProcess();
bool toInstall();
bool toRemove();
void processed();
QString dest();
void setDest( QString d );
void setOn();
bool link();
void setLink(bool);
void parseIpkgFile( QString );
void instalFromFile(bool iff=true);
void setName(QString);
+ QDict<QString>* getFields();
public slots:
void toggleProcess();
private:
PackageManagerSettings *settings;
QString _displayName;
QString _name;
QString _fileName;
bool _toProcess;
bool _link;
QString _status;
QString _size;
QString _section;
QString _subsection;
QString _shortDesc;
QString _desc;
QString _version;
QString _dest;
QDict<QString> _values;
bool _useFileName;
void parsePackage( QStringList );
void init(PackageManagerSettings *);
};
#endif
diff --git a/noncore/unsupported/oipkg/packagelistitem.cpp b/noncore/unsupported/oipkg/packagelistitem.cpp
index b7af9a6..2f81714 100644
--- a/noncore/unsupported/oipkg/packagelistitem.cpp
+++ b/noncore/unsupported/oipkg/packagelistitem.cpp
@@ -1,83 +1,90 @@
#include "packagelistitem.h"
#include <qpe/resource.h>
#include <qobject.h>
#include "debug.h"
static QPixmap *pm_uninstalled=0;
static QPixmap *pm_installed=0;
static QPixmap *pm_uninstall=0;
static QPixmap *pm_install=0;
PackageListItem::PackageListItem(QListView* lv, Package *pi, PackageManagerSettings *s)
: QCheckListItem(lv,pi->name(),CheckBox)
{
init(pi,s);
}
PackageListItem::PackageListItem(QListViewItem *lvi, Package *pi, PackageManagerSettings *s)
: QCheckListItem(lvi,pi->name(),CheckBox)
{
init(pi,s);
}
void PackageListItem::init( Package *pi, PackageManagerSettings *s)
{
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, "" );
+ QCheckListItem *otherItem = new QCheckListItem( this, QObject::tr("other") );
+ item = new QCheckListItem( otherItem, QObject::tr("Description: ")+pi->desc() );
+ QDict<QString> *fields = pi->getFields();
+ QDictIterator<QString> it( *fields );
+ while ( it.current() ) {
+ item = new QCheckListItem( otherItem, QString(it.currentKey()+": "+*it.current()) );
+ ++it;
+ }
displayDetails();
if (!pm_uninstalled)
{
pm_uninstalled = new QPixmap(Resource::loadPixmap("oipkg/uninstalled"));
pm_installed = new QPixmap(Resource::loadPixmap("oipkg/installed"));
pm_install = new QPixmap(Resource::loadPixmap("oipkg/install"));
pm_uninstall = new QPixmap(Resource::loadPixmap("oipkg/uninstall"));
}
}
void PackageListItem::paintCell( QPainter *p, const QColorGroup & cg,
int column, int width, int alignment )
{
if ( !p )
return;
p->fillRect( 0, 0, width, height(),
isSelected()? cg.highlight() : cg.base() );
if ( column != 0 ) {
// The rest is text
QListViewItem::paintCell( p, cg, column, width, alignment );
return;
}
QListView *lv = listView();
if ( !lv )
return;
int marg = lv->itemMargin();
int r = marg;
QPixmap pm = statePixmap();
p->drawPixmap(marg,(height()-pm.height())/2,pm);
r += pm.width()+1;
p->translate( r, 0 );
QListViewItem::paintCell( p, cg, column, width - r, alignment );
}
void PackageListItem::paintFocus( QPainter *p, const QColorGroup & cg,
const QRect & r )
{
// Skip QCheckListItem
// (makes you wonder what we're getting from QCheckListItem)
QListViewItem::paintFocus(p,cg,r);
}