author | tille <tille> | 2002-06-21 09:01:39 (UTC) |
---|---|---|
committer | tille <tille> | 2002-06-21 09:01:39 (UTC) |
commit | 0d5a0129ee055e0f077505b05caa942bf6ef6165 (patch) (side-by-side diff) | |
tree | c718cc805ae49c922a126192c7e98747c025b103 | |
parent | 48847f165b3ee8d096871c1bde8748d18cfb0f43 (diff) | |
download | opie-0d5a0129ee055e0f077505b05caa942bf6ef6165.zip opie-0d5a0129ee055e0f077505b05caa942bf6ef6165.tar.gz opie-0d5a0129ee055e0f077505b05caa942bf6ef6165.tar.bz2 |
some fixes and first version with oprocess (out-ifdefed)
-rw-r--r-- | noncore/unsupported/oipkg/TODO | 13 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/installdialog.cpp | 4 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/main.cpp | 2 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/mainwindow.cpp | 3 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/oipkg.pro | 3 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/package.cpp | 23 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/package.h | 15 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelist.cpp | 10 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelist.h | 8 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistdoclnk.cpp | 8 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistdoclnk.h | 4 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistitem.cpp | 2 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistview.cpp | 6 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/pksettings.cpp | 1 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/pksettings.h | 2 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/pmipkg.cpp | 72 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/pmipkg.h | 10 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/settings.h | 2 |
18 files changed, 139 insertions, 49 deletions
diff --git a/noncore/unsupported/oipkg/TODO b/noncore/unsupported/oipkg/TODO index e7b017c..6e0e6ca 100644 --- a/noncore/unsupported/oipkg/TODO +++ b/noncore/unsupported/oipkg/TODO @@ -1,8 +1,11 @@ -* check for networt before installing from network -* Settings Class -* parse "to install" and "to remove" from status +* check for network before installing from network +* Settings Class / new setting dialog +* parse "to install" and "to remove" from status, and change status + i.e. improve status handling / modify status file + dest keyword in status? -> cworth * install local file dialog +* parse lists files after opening feed / doclnk * qcop * error handling * manage links * dependency checking @@ -10,4 +13,8 @@ * allow reinstalling * different types of filters and searches i.e. name, desc, files etc * display new list after update +* make sure oipkg installs to the correct dest when getting packet to install from list + dest keyword? +* cancel button while installing +* duplicate button for settings-servers diff --git a/noncore/unsupported/oipkg/installdialog.cpp b/noncore/unsupported/oipkg/installdialog.cpp index a2c9702..bb50103 100644 --- a/noncore/unsupported/oipkg/installdialog.cpp +++ b/noncore/unsupported/oipkg/installdialog.cpp @@ -70,10 +70,10 @@ InstallDialog::InstallDialog( PackageManagerSettings* s, QWidget* parent, const GroupBoxOptionsLayout->addWidget( _force_remove, 2, 0 ); InstallDialogLayout->addWidget( GroupBoxOptions, 1, 0 ); - toRemoveItem = new QCheckListItem( ListViewPackages, QObject::tr("To remove") ); - toInstallItem = new QCheckListItem( ListViewPackages, QObject::tr("To install") ); + toRemoveItem = new QCheckListItem( ListViewPackages, tr("To remove") ); + toInstallItem = new QCheckListItem( ListViewPackages, tr("To install") ); } /* diff --git a/noncore/unsupported/oipkg/main.cpp b/noncore/unsupported/oipkg/main.cpp index de25e27..f72540c 100644 --- a/noncore/unsupported/oipkg/main.cpp +++ b/noncore/unsupported/oipkg/main.cpp @@ -8,9 +8,9 @@ int debugLevel; int main( int argc, char ** argv ) { printf("This is oipkg\n"); - printf("$ID$\n"); + printf("$Id$\n"); debugLevel = 2; if (argc > 1) { debugLevel = QString ( argv[1] ).toInt(); diff --git a/noncore/unsupported/oipkg/mainwindow.cpp b/noncore/unsupported/oipkg/mainwindow.cpp index 27c9f4c..11ab406 100644 --- a/noncore/unsupported/oipkg/mainwindow.cpp +++ b/noncore/unsupported/oipkg/mainwindow.cpp @@ -32,8 +32,11 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) : QMainWindow( parent, name, f ) +// packageListServers( QObject(parent), name ), +// packageListSearch( parent, name ), +// packageListDocLnk( parent, name ) { setCaption( tr("Package Manager") ); settings = new PackageManagerSettings(this,0,TRUE); listViewPackages = new PackageListView( this,"listViewPackages",settings ); diff --git a/noncore/unsupported/oipkg/oipkg.pro b/noncore/unsupported/oipkg/oipkg.pro index 9e2f5f8..7f60ed8 100644 --- a/noncore/unsupported/oipkg/oipkg.pro +++ b/noncore/unsupported/oipkg/oipkg.pro @@ -28,9 +28,10 @@ SOURCES = main.cpp \ packagelist.cpp \ package.cpp INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += $(OPIEDIR)/ioclude -LIBS += -lqpe +LIBS += -lqpe +LIBS += -lopie INTERFACES = runwindow.ui \ pksettingsbase.ui TARGET = oipkg diff --git a/noncore/unsupported/oipkg/package.cpp b/noncore/unsupported/oipkg/package.cpp index 4a09b40..97f7813 100644 --- a/noncore/unsupported/oipkg/package.cpp +++ b/noncore/unsupported/oipkg/package.cpp @@ -8,14 +8,22 @@ #include <unistd.h> #include "debug.h" -//Package::~Package() -//{ -//} +Package::Package( QObject *parent=0, const char *name=0 ) + : QObject(parent,name) +{ + +} + +Package::~Package() +{ +} -Package::Package( PackageManagerSettings *s ) +Package::Package( PackageManagerSettings *s, QObject *parent=0, const char *name=0 ) + : QObject(parent,name) { + Package(parent,name); init(s); } void Package::init( PackageManagerSettings *s ) @@ -36,15 +44,16 @@ void Package::init( PackageManagerSettings *s ) _versions=0; _version=""; } -Package::Package( QStringList pack, PackageManagerSettings *s ) +Package::Package( QStringList pack, PackageManagerSettings *s , QObject *parent=0, const char *name=0 ) + : QObject(parent,name) { init(s); parsePackage( pack ); } -Package::Package( QString n, PackageManagerSettings *s ) +Package::Package( QString n, PackageManagerSettings *s, QObject *parent=0, const char *name=0 ) { init(s); if ( !QFile::exists( n ) ) { @@ -56,9 +65,9 @@ Package::Package( QString n, PackageManagerSettings *s ) _fileName = QString( n ); } } -Package::Package( Package *pi ) +Package::Package( Package *pi, QObject *parent=0, const char *name=0 ) { init(pi->settings); copyValues( pi ); } diff --git a/noncore/unsupported/oipkg/package.h b/noncore/unsupported/oipkg/package.h index 68090dc..f50b9b5 100644 --- a/noncore/unsupported/oipkg/package.h +++ b/noncore/unsupported/oipkg/package.h @@ -9,17 +9,18 @@ #include <qobject.h> #include "pksettings.h" -class Package //: public QObject +class Package : public QObject { -// Q_OBJECT + Q_OBJECT public: - Package(PackageManagerSettings *); - // ~Package(); - Package( QStringList, PackageManagerSettings * ); - Package( QString, PackageManagerSettings * ); - Package( Package* ); + 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 ); void setValue( QString, QString ); void copyValues( Package* ); diff --git a/noncore/unsupported/oipkg/packagelist.cpp b/noncore/unsupported/oipkg/packagelist.cpp index 1b572e0..3cc0443 100644 --- a/noncore/unsupported/oipkg/packagelist.cpp +++ b/noncore/unsupported/oipkg/packagelist.cpp @@ -9,10 +9,10 @@ static QDict<Package> *packageListAll; static int packageListAllRefCount = 0; -PackageList::PackageList() - : packageIter( packageList ) +PackageList::PackageList(QObject *parent=0, const char *name=0) + : QObject(parent,name), packageIter( packageList ) { empty=true; if (!packageListAll) packageListAll = new QDict<Package>(); packageListAllRefCount++; @@ -23,13 +23,13 @@ PackageList::PackageList() aktSection = "All"; aktSubSection = "All"; } -PackageList::PackageList( PackageManagerSettings* s) - : packageIter( packageList ) +PackageList::PackageList( PackageManagerSettings* s, QObject *parent, const char *name) + : QObject(parent,name), packageIter( packageList ) { settings = s; - PackageList(); + PackageList(parent, name); } PackageList::~PackageList() { diff --git a/noncore/unsupported/oipkg/packagelist.h b/noncore/unsupported/oipkg/packagelist.h index d0f8897..78dcd92 100644 --- a/noncore/unsupported/oipkg/packagelist.h +++ b/noncore/unsupported/oipkg/packagelist.h @@ -5,16 +5,16 @@ #include "package.h" #include "pksettings.h" #include "debug.h" -class PackageList //:QObject +class PackageList :QObject { -// Q_OBJECT + Q_OBJECT public: // static QString all = QObject::tr("All"); - PackageList(); - PackageList( PackageManagerSettings* ); + PackageList (QObject *parent=0, const char *name=0); + PackageList( PackageManagerSettings *s, QObject *parent=0, const char *name=0); virtual ~PackageList(); void insertPackage( Package* ); Package* find( QString ); Package* next(); diff --git a/noncore/unsupported/oipkg/packagelistdoclnk.cpp b/noncore/unsupported/oipkg/packagelistdoclnk.cpp index f31f742..b42cfdd 100644 --- a/noncore/unsupported/oipkg/packagelistdoclnk.cpp +++ b/noncore/unsupported/oipkg/packagelistdoclnk.cpp @@ -7,16 +7,16 @@ #include "package.h" #include "pksettings.h" -PackageListDocLnk::PackageListDocLnk(PackageManagerSettings* s) +PackageListDocLnk::PackageListDocLnk(PackageManagerSettings* s, QObject *parent=0, const char *name=0) : PackageList(s) { - PackageListDocLnk(); + PackageListDocLnk(parent, name); } -PackageListDocLnk::PackageListDocLnk() - : PackageList() +PackageListDocLnk::PackageListDocLnk(QObject *parent=0, const char *name=0) + : PackageList(parent, name) { Config cfg( "oipkg", Config::User ); cfg.setGroup( "Common" ); docLnkDir = cfg.readEntry( "docLnkDir", "/root/" ); diff --git a/noncore/unsupported/oipkg/packagelistdoclnk.h b/noncore/unsupported/oipkg/packagelistdoclnk.h index fe73658..a63fb59 100644 --- a/noncore/unsupported/oipkg/packagelistdoclnk.h +++ b/noncore/unsupported/oipkg/packagelistdoclnk.h @@ -8,10 +8,10 @@ class DocLnkSet; class PackageListDocLnk : public PackageList { public: - PackageListDocLnk(); - PackageListDocLnk( PackageManagerSettings* s); + PackageListDocLnk(QObject *parent=0, const char *name=0); + PackageListDocLnk( PackageManagerSettings *s, QObject *parent=0, const char *name=0); virtual ~PackageListDocLnk(); public slots: void update(); private: diff --git a/noncore/unsupported/oipkg/packagelistitem.cpp b/noncore/unsupported/oipkg/packagelistitem.cpp index 55047d5..0c9c676 100644 --- a/noncore/unsupported/oipkg/packagelistitem.cpp +++ b/noncore/unsupported/oipkg/packagelistitem.cpp @@ -158,9 +158,9 @@ void PackageListItem::displayDetails() 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: ")+QString(package->link()?QObject::tr("Yes"):QObject::tr("No")) ); + 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(); } diff --git a/noncore/unsupported/oipkg/packagelistview.cpp b/noncore/unsupported/oipkg/packagelistview.cpp index 70aa48a..2bb74e9 100644 --- a/noncore/unsupported/oipkg/packagelistview.cpp +++ b/noncore/unsupported/oipkg/packagelistview.cpp @@ -58,9 +58,9 @@ void PackageListView::showPopup() QAction *popupAction; if ( !activePackage->installed() ) { - popupMenu->insertItem( QObject::tr("Install to"), destsMenu ); + popupMenu->insertItem( tr("Install to"), destsMenu ); QStringList dests = settings->getDestinationNames(); QString ad = settings->getDestinationName(); for (uint i = 0; i < dests.count(); i++ ) { @@ -74,13 +74,13 @@ void PackageListView::showPopup() } connect( destsMenu, SIGNAL( activated( int ) ), this, SLOT( changePackageDest( int ) ) ); }else{ - popupAction = new QAction( QObject::tr("Remove"),QString::null, 0, this, 0 ); + popupAction = new QAction( tr("Remove"),QString::null, 0, this, 0 ); popupAction->addTo( popupMenu ); connect( popupAction, SIGNAL( activated() ), this , SLOT( toggleProcess() ) ); - popupAction = new QAction( QObject::tr("Reinstall"),QString::null, 0, this, 0 ); + popupAction = new QAction( tr("Reinstall"),QString::null, 0, this, 0 ); popupAction->addTo( popupMenu ); popupAction->setEnabled( false ); } popupMenu->popup( QCursor::pos() ); diff --git a/noncore/unsupported/oipkg/pksettings.cpp b/noncore/unsupported/oipkg/pksettings.cpp index 09975b0..59d5a3e 100644 --- a/noncore/unsupported/oipkg/pksettings.cpp +++ b/noncore/unsupported/oipkg/pksettings.cpp @@ -240,8 +240,9 @@ void PackageManagerSettings::writeIpkgConfig(const QString& conffile) void PackageManagerSettings::readInstallationSettings() { Config cfg( "oipkg", Config::User ); cfg.setGroup( "Settings" ); + installationSettingsCount = cfg.readNumEntry( "count", -1 ); currentSetting = cfg.readNumEntry( "current", 0 );// o should be -1 for (int i = 0; i < installationSettingsCount; i++) diff --git a/noncore/unsupported/oipkg/pksettings.h b/noncore/unsupported/oipkg/pksettings.h index dcc1e3a..8f9fe62 100644 --- a/noncore/unsupported/oipkg/pksettings.h +++ b/noncore/unsupported/oipkg/pksettings.h @@ -8,9 +8,9 @@ class PackageManagerSettings : public PackageManagerSettingsBase { -// Q_OBJECT + Q_OBJECT public: PackageManagerSettings( QWidget* , const char* , WFlags ); ~PackageManagerSettings(); diff --git a/noncore/unsupported/oipkg/pmipkg.cpp b/noncore/unsupported/oipkg/pmipkg.cpp index 7b3fa1e..2a534d2 100644 --- a/noncore/unsupported/oipkg/pmipkg.cpp +++ b/noncore/unsupported/oipkg/pmipkg.cpp @@ -2,9 +2,11 @@ #include "pksettings.h" #include "package.h" #include "packagelistitem.h" -#include <qpe/process.h> +//#infdef OPROCESS +#include <opie/oprocess.h> +//#endif #include <qpe/resource.h> #include <qpe/config.h> #include <qpe/stringutil.h> #include <qpe/qpeapplication.h> @@ -31,19 +33,36 @@ PmIpkg::PmIpkg( PackageManagerSettings* s, QWidget* p, const char * name, WFlag : QObject ( p ) { settings = s; runwindow = new RunWindow( p, name, true, f ); +#ifdef OPROCESS + ipkgProcess = new OProcess(); + connect ( ipkgProcess, SIGNAL(receivedStdout(OProcess*,char*,int)), + this, SLOT(getIpkgOutput(OProcess*,char*,int))); + + connect ( ipkgProcess, SIGNAL(receivedStderr(OProcess*,char*,int)), + this, SLOT(getIpkgOutput(OProcess*,char*,int))); + installDialog = 0; +#endif } PmIpkg::~PmIpkg() { +#ifdef OPROCESS + delete ipkgProcess; +#endif } bool PmIpkg::runIpkg(const QString& args, const QString& dest ) { bool ret=false; QDir::setCurrent("/tmp"); QString cmd = "/usr/bin/ipkg "; +#ifdef OPROCESS + ipkgProcess->clearArguments(); + *ipkgProcess << "/usr/bin/ipkg "; + QString cmd = ""; +#endif pvDebug( 3,"PmIpkg::runIpkg got dest="+dest); if ( dest == "" ) cmd += " -dest "+settings->getDestinationName(); else @@ -64,8 +83,43 @@ bool PmIpkg::runIpkg(const QString& args, const QString& dest ) out( "Starting to "+ args+"\n"); cmd += args; out( "running:\n"+cmd+"\n" ); pvDebug(2,"running:"+cmd); +#ifdef OPROCESS + *ipkgProcess << args; + out( "running:\n" + cmd); + *ipkgProcess << cmd; + +//debug + ipkgProcess->clearArguments(); + *ipkgProcess << "/bin/ls "; +//debug + QValueList<QCString> a = ipkgProcess->args(); + QValueList<QCString>::Iterator it; + for( it = a.begin(); it != a.end(); ++it ) + { + out( *it ); + cmd += *it; + } + + pvDebug(2,"running:"+cmd); + qApp->processEvents(); +// sleep(1); + ret = ipkgProcess->start(OProcess::NotifyOnExit,OProcess::AllOutput); + if ( !ret ) { + pvDebug(2,"Could not execute '" + cmd); + out("\nError while executing "+ cmd+"\n\n"); + out("\nError while executing\n\n"); + // return false; + } + + while ( ipkgProcess->isRunning() ) + { + out("."); + pvDebug(7,"wait for oprocess to terminate"); + qApp->processEvents(); + }; +#else qApp->processEvents(); FILE *fp; char line[130]; QString lineStr, lineStrOld; @@ -90,17 +144,18 @@ bool PmIpkg::runIpkg(const QString& args, const QString& dest ) qApp->processEvents(); } pclose(fp); } +#endif //out( "Finished!"); pvDebug(2,QString(ret?"success\n":"failure\n")); return ret; } void PmIpkg::makeLinks(Package *pack) { pvDebug( 2, "PmIpkg::makeLinks "+ pack->name()); - linkPackage( pack->installName(), pack->dest() ); + linkPackage( pack->name(), pack->dest() ); } QStringList* PmIpkg::getList( QString packFileName, QString d ) { @@ -241,8 +296,9 @@ void PmIpkg::commit() runwindow->show(); } installDialog->close(); delete installDialog; + installDialog = 0; out(tr("\nAll done.")); } void PmIpkg::doIt() @@ -395,4 +451,16 @@ void PmIpkg::clearLists() { to_remove.clear(); to_install.clear(); } + + +void PmIpkg::getIpkgOutput(OProcess *proc, char *buffer, int buflen) +{ + QString lineStr, lineStrOld; + lineStr = buffer; + lineStr=lineStr.left(buflen); + //Configuring opie-oipkg...Done + if (lineStr!=lineStrOld) + out(lineStr); + lineStrOld = lineStr; +}
\ No newline at end of file diff --git a/noncore/unsupported/oipkg/pmipkg.h b/noncore/unsupported/oipkg/pmipkg.h index d53a74d..2c92348 100644 --- a/noncore/unsupported/oipkg/pmipkg.h +++ b/noncore/unsupported/oipkg/pmipkg.h @@ -1,8 +1,9 @@ #ifndef PMIPKG_H #define PMIPKG_H +#include <opie/oprocess.h> #include <qobject.h> #include <qlist.h> #include <qstring.h> #include <qwidget.h> @@ -39,19 +40,18 @@ public slots: void removeFile(const QString &fileName, const QString &dest=""); void createLinks( const QString &dest ); void removeLinks( const QString &dest ); +//private slots: + void getIpkgOutput(OProcess *proc, char *buffer, int buflen); + private: + OProcess *ipkgProcess; PackageManagerSettings* settings; RunWindow *runwindow; InstallDialog *installDialog; QList<Package> to_remove; QList<Package> to_install; - QString fileNameToInstall; - QCheckBox *_force_reinstall; - QCheckBox *_force_remove; - QCheckBox *_force_depends; -// void startDialog(); void makeLinks(Package*); void linkPackage( QString, QString ); void processLinkDir( QString , QString ); bool runIpkg(const QString& args, const QString& dest="" ); diff --git a/noncore/unsupported/oipkg/settings.h b/noncore/unsupported/oipkg/settings.h index f01cb69..9cb7a9b 100644 --- a/noncore/unsupported/oipkg/settings.h +++ b/noncore/unsupported/oipkg/settings.h @@ -7,9 +7,9 @@ class PackageManagerSettings : public PackageManagerSettingsBase //class PackageManagerSettings : private PackageManagerSettingsBase { - // Q_OBJECT + Q_OBJECT public: PackageManagerSettings( QWidget* , const char* , WFlags ); ~PackageManagerSettings(); |