author | tille <tille> | 2002-05-02 19:11:55 (UTC) |
---|---|---|
committer | tille <tille> | 2002-05-02 19:11:55 (UTC) |
commit | ce6758eccada41f5c3fef13e6b4808c525213bee (patch) (side-by-side diff) | |
tree | 236d015e4c037254d7862620e41bd75ab701a696 | |
parent | b4f04de71fea42fa32a048f42d27e4f5be6804f9 (diff) | |
download | opie-ce6758eccada41f5c3fef13e6b4808c525213bee.zip opie-ce6758eccada41f5c3fef13e6b4808c525213bee.tar.gz opie-ce6758eccada41f5c3fef13e6b4808c525213bee.tar.bz2 |
added doclnk support
-rw-r--r-- | noncore/unsupported/oipkg/main.cpp | 7 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/mainwindow.cpp | 51 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/mainwindow.h | 6 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/oipkg.pro | 2 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/package.cpp | 6 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/package.h | 1 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistdoclnk.cpp | 36 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistdoclnk.h | 22 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistitem.cpp | 8 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistitem.h | 1 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistremote.cpp | 14 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistremote.h | 2 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistview.cpp | 3 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/pmipkg.cpp | 21 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/pmipkg.h | 4 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/settings.h | 9 |
16 files changed, 128 insertions, 65 deletions
diff --git a/noncore/unsupported/oipkg/main.cpp b/noncore/unsupported/oipkg/main.cpp index 5cef2dc..bacc973 100644 --- a/noncore/unsupported/oipkg/main.cpp +++ b/noncore/unsupported/oipkg/main.cpp @@ -10,13 +10,14 @@ int main( int argc, char ** argv ) { debugLevel = 2; if (argc > 0) - { + { debugLevel = QString ( argv[1] ).toInt(); - } + } QPEApplication a( argc, argv ); MainWindow mw; - QMessageBox::information( &mw, "oipkg","While ipkg is working\noipkg is hanging.\nPlease be patient!"); + if (debugLevel < 4) + QMessageBox::information( &mw, "oipkg","While ipkg is working\noipkg is hanging.\nPlease be patient!"); a.showMainDocumentWidget( &mw ); return a.exec(); } diff --git a/noncore/unsupported/oipkg/mainwindow.cpp b/noncore/unsupported/oipkg/mainwindow.cpp index 0422d65..b668660 100644 --- a/noncore/unsupported/oipkg/mainwindow.cpp +++ b/noncore/unsupported/oipkg/mainwindow.cpp @@ -37,18 +37,21 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) : setCaption( tr("Package Manager") ); settings = new PackageManagerSettings(this,0,TRUE); listViewPackages = new PackageListView( this,"listViewPackages",settings ); setCentralWidget( listViewPackages ); - listViewPackages->addList( tr("local"), &packageList ); + listViewPackages->addList( tr("feeds"), &packageListServers ); listViewPackages->addList( tr("ipkgfind"), &packageListSearch ); + listViewPackages->addList( tr("documents"), &packageListDocLnk ); // wait = new QMessageBox(tr("oipkg"),tr("Please wait")//,QMessageBox::Information,QMessageBox::NoButton,QMessageBox::NoButton,QMessageBox::NoButton); // wait = new QMessageBox(this); // wait->setText(tr("Please wait")); ipkg = new PmIpkg( settings, this ); // settings->setIpkg( ipkg ); - packageList.setSettings( settings ); + packageListServers.setSettings( settings ); packageListSearch.setSettings( settings ); - packageList.update(); + packageListDocLnk.setSettings( settings ); + packageListServers.update(); + packageListDocLnk.update(); makeMenu(); makeChannel(); //opie is hardcoded default ;) for (int i=0;i<section->count();i++) @@ -243,11 +246,12 @@ MainWindow::~MainWindow() } void MainWindow::runIpkg() { - packageList.allPackages(); + packageListServers.allPackages(); ipkg->loadList( packageListSearch ); - ipkg->commit( packageList ); + ipkg->loadList( packageListDocLnk ); + ipkg->commit( packageListServers ); // ##### If we looked in the list of files, we could send out accurate // ##### messages. But we don't bother yet, and just do an "all". QCopEnvelope e("QPE/System", "linkChanged(QString)"); QString lf = QString::null; @@ -260,11 +264,15 @@ void MainWindow::updateList() // wait->show(); QTimer *t = new QTimer( this ); connect( t, SIGNAL(timeout()), SLOT( rotateUpdateIcon() ) ); t->start( 0, false ); - packageList.clear(); + packageListServers.clear(); + packageListSearch.clear(); + packageListDocLnk.clear(); ipkg->update(); - packageList.update(); + packageListServers.update(); + packageListSearch.update(); + packageListDocLnk.update(); t->stop(); // wait->hide(); } @@ -272,36 +280,17 @@ void MainWindow::filterList() { // wait->show(); QString f = ""; if ( findAction->isOn() ) f = findEdit->text(); - packageList.filterPackages( f ); + packageListServers.filterPackages( f ); // wait->hide(); } void MainWindow::displayList() { // wait->hide(); filterList(); listViewPackages->display(); -//// if (!rootLocal) -//// { -// QCheckListItem *rootLocal = new QCheckListItem(listViewPackages,tr("local")); -// QCheckListItem *rootSearch = new QCheckListItem(listViewPackages,tr("ipkgfind")); -//// } -// listViewPackages->clear(); -// Package *pack = packageList.first(); -// PackageListItem *item; -// while( pack ) -// { -// item = new PackageListItem( rootLocal, pack, settings ); -// pack = packageList.next(); -// } -// pack = packageListSearch.first(); -// while( pack ) -// { -// item = new PackageListItem( rootSearch, pack, settings ); -// pack = packageListSearch.next(); -// } } void MainWindow::sectionChanged() { @@ -309,9 +298,9 @@ void MainWindow::sectionChanged() this, SLOT( sectionChanged() ) ); disconnect( subsection, SIGNAL(activated(int) ), this, SLOT( subSectionChanged() ) ); subsection->clear(); - packageList.setSection( section->currentText() ); + packageListServers.setSection( section->currentText() ); setSubSections(); connect( section, SIGNAL( activated(int) ), this, SLOT( sectionChanged() ) ); connect( subsection, SIGNAL(activated(int) ), @@ -324,9 +313,9 @@ void MainWindow::subSectionChanged() disconnect( section, SIGNAL( activated(int) ), this, SLOT( sectionChanged() ) ); disconnect( subsection, SIGNAL(activated(int) ), this, SLOT( subSectionChanged() ) ); - packageList.setSubSection( subsection->currentText() ); + packageListServers.setSubSection( subsection->currentText() ); connect( section, SIGNAL( activated(int) ), this, SLOT( sectionChanged() ) ); connect( subsection, SIGNAL(activated(int) ), this, SLOT( subSectionChanged() ) ); @@ -335,15 +324,15 @@ void MainWindow::subSectionChanged() void MainWindow::setSections() { section->clear(); - section->insertStringList( packageList.getSections() ); + section->insertStringList( packageListServers.getSections() ); } void MainWindow::setSubSections() { subsection->clear(); - subsection->insertStringList( packageList.getSubSections() ); + subsection->insertStringList( packageListServers.getSubSections() ); } void MainWindow::showSettings() diff --git a/noncore/unsupported/oipkg/mainwindow.h b/noncore/unsupported/oipkg/mainwindow.h index 4a73b78..f6023b0 100644 --- a/noncore/unsupported/oipkg/mainwindow.h +++ b/noncore/unsupported/oipkg/mainwindow.h @@ -8,8 +8,9 @@ #include "packagelist.h" #include "packagelistremote.h" #include "packagelistlocal.h" +#include "packagelistdoclnk.h" #include "pmipkg.h" #include "pksettings.h" #include "packagelistview.h" @@ -67,13 +68,12 @@ private: bool updateIcon; PmIpkg* ipkg; PackageManagerSettings *settings; - PackageListLocal packageList; + PackageListLocal packageListServers; PackageListRemote packageListSearch; + PackageListDocLnk packageListDocLnk; PackageListView *listViewPackages; -// QCheckListItem* rootSearch; -// QCheckListItem* rootLocal; QAction *runAction; QAction *updateAction; QAction *findAction; QPEToolBar *findBar; diff --git a/noncore/unsupported/oipkg/oipkg.pro b/noncore/unsupported/oipkg/oipkg.pro index 98f92c8..6ee1963 100644 --- a/noncore/unsupported/oipkg/oipkg.pro +++ b/noncore/unsupported/oipkg/oipkg.pro @@ -4,8 +4,9 @@ TEMPLATE = app CONFIG = qt warn_on debug HEADERS = mainwindow.h \ pksettings.h \ pmipkg.h \ + packagelistdoclnk.h \ utils.h \ packagelistitem.h \ packagelistremote.h \ packagelist.h \ @@ -14,8 +15,9 @@ HEADERS = mainwindow.h \ package.h SOURCES = main.cpp \ mainwindow.cpp \ utils.cpp \ + packagelistdoclnk.cpp \ packagelistview.cpp \ packagelistremote.cpp \ packagelistlocal.cpp \ pksettings.cpp \ diff --git a/noncore/unsupported/oipkg/package.cpp b/noncore/unsupported/oipkg/package.cpp index f992641..9280d89 100644 --- a/noncore/unsupported/oipkg/package.cpp +++ b/noncore/unsupported/oipkg/package.cpp @@ -47,9 +47,8 @@ Package::Package( QString n, PackageManagerSettings *s ) { _name = QString( n ); }else{ parseIpkgFile( n ); - _toProcess = true; _useFileName = true; _fileName = QString( n ); } } @@ -365,4 +364,9 @@ void Package::setName(QString n) QDict<QString>* Package::getFields() { return &_values; } + +QString Package::status() +{ + return _status; +} diff --git a/noncore/unsupported/oipkg/package.h b/noncore/unsupported/oipkg/package.h index fc725bc..257d9c7 100644 --- a/noncore/unsupported/oipkg/package.h +++ b/noncore/unsupported/oipkg/package.h @@ -49,8 +49,9 @@ class Package //: public QObject void parseIpkgFile( QString ); void instalFromFile(bool iff=true); void setName(QString); QDict<QString>* getFields(); + QString status(); public slots: void toggleProcess(); private: diff --git a/noncore/unsupported/oipkg/packagelistdoclnk.cpp b/noncore/unsupported/oipkg/packagelistdoclnk.cpp new file mode 100644 index 0000000..575ac62 --- a/dev/null +++ b/noncore/unsupported/oipkg/packagelistdoclnk.cpp @@ -0,0 +1,36 @@ + +#include "packagelistdoclnk.h" + +#include <qpe/applnk.h> +#include <qlist.h> + +#include "package.h" +#include "pksettings.h" + +PackageListDocLnk::PackageListDocLnk(PackageManagerSettings* s) + : PackageList(s) +{ + PackageListDocLnk(); +} + +PackageListDocLnk::PackageListDocLnk() + : PackageList() +{ + doclnkset = new DocLnkSet("/mnt/nfs/ipk","application/ipkg"); +} + +PackageListDocLnk::~PackageListDocLnk() +{ +} + + + +void PackageListDocLnk::update() +{ + pvDebug(2,"PackageListDocLnk::update "); + QList<DocLnk> packlist = doclnkset->children(); + for (DocLnk *pack =packlist.first(); pack != 0; pack=packlist.next() ) + { + insertPackage( new Package(pack->file(), settings) ); + } +} diff --git a/noncore/unsupported/oipkg/packagelistdoclnk.h b/noncore/unsupported/oipkg/packagelistdoclnk.h new file mode 100644 index 0000000..3864ace --- a/dev/null +++ b/noncore/unsupported/oipkg/packagelistdoclnk.h @@ -0,0 +1,22 @@ +#ifndef PACKAGELISTDOCLNK_H +#define PACKAGELISTDOCLNK_H + +#include "packagelist.h" +#include "debug.h" + +class DocLnkSet; + +class PackageListDocLnk : public PackageList +{ +public: + PackageListDocLnk(); + PackageListDocLnk( PackageManagerSettings* s); + virtual ~PackageListDocLnk(); +public slots: + void update(); +private: + DocLnkSet *doclnkset; +}; + + +#endif diff --git a/noncore/unsupported/oipkg/packagelistitem.cpp b/noncore/unsupported/oipkg/packagelistitem.cpp index 2f81714..45aaf1d 100644 --- a/noncore/unsupported/oipkg/packagelistitem.cpp +++ b/noncore/unsupported/oipkg/packagelistitem.cpp @@ -31,8 +31,9 @@ void PackageListItem::init( Package *pi, PackageManagerSettings *s) nameItem = new QCheckListItem( this, "" ); 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("Description: ")+pi->desc() ); QDict<QString> *fields = pi->getFields(); QDictIterator<QString> it( *fields ); @@ -128,13 +129,16 @@ void PackageListItem::setOn( bool b ) } void PackageListItem::displayDetails() { - QString sod = " ("+package->sizeUnits(); + 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 = sod.isEmpty()?QString(""):QString(" ("+sod+")"); setText(0, package->name()+sod ); nameItem->setText( 0, QObject::tr("Name: ")+package->name()); linkItem->setText( 0, QObject::tr("Link: ")+QString(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(); } diff --git a/noncore/unsupported/oipkg/packagelistitem.h b/noncore/unsupported/oipkg/packagelistitem.h index b128f0d..65e9711 100644 --- a/noncore/unsupported/oipkg/packagelistitem.h +++ b/noncore/unsupported/oipkg/packagelistitem.h @@ -31,8 +31,9 @@ private: void init(Package*, PackageManagerSettings*); QCheckListItem *nameItem; QCheckListItem *destItem; QCheckListItem *linkItem; + QCheckListItem *statusItem; PackageManagerSettings *settings; Package *package; }; diff --git a/noncore/unsupported/oipkg/packagelistremote.cpp b/noncore/unsupported/oipkg/packagelistremote.cpp index 721d4a6..1ec7292 100644 --- a/noncore/unsupported/oipkg/packagelistremote.cpp +++ b/noncore/unsupported/oipkg/packagelistremote.cpp @@ -21,8 +21,14 @@ PackageListRemote::~PackageListRemote() } void PackageListRemote::query(QString s) { + searchString = s; +} + +void PackageListRemote::update() +{ + pvDebug(2,"PackageListRemote::update"); int r=0; QString cmd = "wget"; QString redirect = "/tmp/oipkg.query"; @@ -31,17 +37,11 @@ void PackageListRemote::query(QString s) //http://ipkgfind.handhelds.org/packages.phtml?format=pda&query=ipkg&searchtype=package§ion= QString server="http://ipkgfind.handhelds.org/"; cmd += " \""+server+"/packages.phtml"; cmd += "?format=pda&searchtype=package§ion="; - cmd += "&query="+s; + cmd += "&query="+searchString; cmd += "\""; pvDebug(2,"search :"+cmd); r = system(cmd.latin1()); readFileEntries( redirect ); - -} - -void PackageListRemote::update() -{ - pvDebug(2,"PackageListRemote::update\ndoing nothing "); } diff --git a/noncore/unsupported/oipkg/packagelistremote.h b/noncore/unsupported/oipkg/packagelistremote.h index 147da1e..87bf10d 100644 --- a/noncore/unsupported/oipkg/packagelistremote.h +++ b/noncore/unsupported/oipkg/packagelistremote.h @@ -13,7 +13,9 @@ public: virtual ~PackageListRemote(); void query(QString); public slots: void update(); +private: + QString searchString; }; #endif diff --git a/noncore/unsupported/oipkg/packagelistview.cpp b/noncore/unsupported/oipkg/packagelistview.cpp index 5137c64..b6b520b 100644 --- a/noncore/unsupported/oipkg/packagelistview.cpp +++ b/noncore/unsupported/oipkg/packagelistview.cpp @@ -127,6 +127,7 @@ void PackageListView::display() void PackageListView::addList( QString n, PackageList* pl) { PackageLists.insert(n, pl); - rootItems.insert(n, new QCheckListItem(this,n)); + QCheckListItem *item = new QCheckListItem(this,n); + rootItems.insert(n, item); } diff --git a/noncore/unsupported/oipkg/pmipkg.cpp b/noncore/unsupported/oipkg/pmipkg.cpp index 2559a51..be9d6da 100644 --- a/noncore/unsupported/oipkg/pmipkg.cpp +++ b/noncore/unsupported/oipkg/pmipkg.cpp @@ -29,9 +29,8 @@ PmIpkg::PmIpkg( PackageManagerSettings* s, QWidget* p, const char * name, WFlags f ) : QObject ( p ) { settings = s; - runwindowopen = false; runwindow = new RunWindow( p, name, true, f ); } PmIpkg::~PmIpkg() @@ -72,9 +71,9 @@ int PmIpkg::runIpkg(const QString& args, const QString& dest ) cmd += args; int r = 0; #ifdef PROC QString o = "start"; - Process *ipkg = new Process( "ls");//cmd ); + Process *ipkg = new Process( cmd ); out( "running:<br>\n"+ipkg->arguments().join(" ")+"<br>\n" ); QString description; ipkg->exec("",o); // out( o ); @@ -159,18 +158,19 @@ void PmIpkg::processFileList( QStringList *fileList, QString d ) void PmIpkg::processLinkDir( QString file, QString dest ) { - pvDebug( 7,"PmIpkg::processLinkDir "+file+" to "+ dest); - if (linkOpp==createLink) pvDebug( 2,"opp: createLink"); - if (linkOpp==removeLink) pvDebug( 2,"opp:removeLink"); + pvDebug( 4,"PmIpkg::processLinkDir "+file+" to "+ dest); + if (linkOpp==createLink) pvDebug( 4,"opp: createLink"); + if (linkOpp==removeLink) pvDebug( 4,"opp: removeLink"); if ( dest == "???" || dest == "" ) return; QString destFile = file; file = dest+"/"+file; if (file == dest) return; QFileInfo fileInfo( file ); if ( fileInfo.isDir() ) { + pvDebug(4, "process dir "+file); QDir destDir( destFile ); if (linkOpp==createLink) destDir.mkdir( destFile, true ); QDir d( file ); d.setFilter( QDir::Files | QDir::Hidden | QDir::NoSymLinks ); @@ -178,9 +178,8 @@ void PmIpkg::processLinkDir( QString file, QString dest ) QFileInfoListIterator it( *list ); QFileInfo *fi; while ( (fi=it.current()) ) { - pvDebug(4, "process dir "+fi->absFilePath()); processLinkDir( fi->absFilePath(), dest ); ++it; } // if (linkOpp==removeLink) @@ -225,16 +224,17 @@ void PmIpkg::loadList( PackageList pl ) } void PmIpkg::commit( PackageList pl ) { - sizecount = 0; - QString rem="<b>"+tr("To remove:")+"</b><br>\n"; - QString inst="<b>"+tr("To install:")+"</b><br>\n"; + int sizecount = 0; +// QString rem="<b>"+tr("To remove:")+"</b><br>\n"; +// QString inst="<b>"+tr("To install:")+"</b><br>\n"; loadList(pl); for (uint i=0; i < to_remove.count(); i++) sizecount += 1; for (uint i=0; i < to_install.count(); i++) sizecount += to_install.at(i)->size().toInt(); + runwindow->progress->setTotalSteps(sizecount); startDialog(); } void PmIpkg::startDialog() @@ -320,9 +320,9 @@ void PmIpkg::remove() out( "for package "+it->name()+" in "+it->dest()+"<br>" ); processFileList( fileList, it->dest() ); } it->processed(); - +// to_install.take( it ); out("<br><hr>"); }else{ out("<b>"+tr("Error while removing")+"</b><hr>"+it->name()); } @@ -349,8 +349,9 @@ void PmIpkg::install() out( "for package "+it->name()+" in "+it->dest()+"<br>" ); makeLinks( it ); } it->processed(); +// to_install.take( it->name() ); out("<br><hr>"); }else{ out("<b>"+tr("Error while installing")+"</b><hr>"+it->name()); } diff --git a/noncore/unsupported/oipkg/pmipkg.h b/noncore/unsupported/oipkg/pmipkg.h index fa00048..3799969 100644 --- a/noncore/unsupported/oipkg/pmipkg.h +++ b/noncore/unsupported/oipkg/pmipkg.h @@ -38,15 +38,15 @@ public slots: void createLinks( const QString &dest ); void removeLinks( const QString &dest ); private: - int sizecount; +// int sizecount; PackageManagerSettings* settings; RunWindow *runwindow; QDialog *installDialog; QList<Package> to_remove; QList<Package> to_install; - bool runwindowopen; +// bool runwindowopen; QString fileNameToInstall; QCheckBox *_force_reinstall; QCheckBox *_force_remove; QCheckBox *_force_depends; diff --git a/noncore/unsupported/oipkg/settings.h b/noncore/unsupported/oipkg/settings.h index 3be4334..bab7a4f 100644 --- a/noncore/unsupported/oipkg/settings.h +++ b/noncore/unsupported/oipkg/settings.h @@ -20,9 +20,11 @@ public: bool createLinks(); QStringList getActiveServers(); QStringList getDestinationUrls(); -public slots: +public slots: /** No descriptions */ + void createLinks(); + void removeLinks(); void writeInstallationSettings(); void readInstallationSettings(); void writeCurrentInstallationSetting(); void readInstallationSetting(int); @@ -60,8 +62,5 @@ private: void readSettings(); }; #endif - /** No descriptions */ - void createLinks(); - /** No descriptions */ - void removeLinks(); + |