summaryrefslogtreecommitdiff
authortille <tille>2002-06-21 09:01:39 (UTC)
committer tille <tille>2002-06-21 09:01:39 (UTC)
commit0d5a0129ee055e0f077505b05caa942bf6ef6165 (patch) (side-by-side diff)
treec718cc805ae49c922a126192c7e98747c025b103
parent48847f165b3ee8d096871c1bde8748d18cfb0f43 (diff)
downloadopie-0d5a0129ee055e0f077505b05caa942bf6ef6165.zip
opie-0d5a0129ee055e0f077505b05caa942bf6ef6165.tar.gz
opie-0d5a0129ee055e0f077505b05caa942bf6ef6165.tar.bz2
some fixes and first version with oprocess (out-ifdefed)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/oipkg/TODO13
-rw-r--r--noncore/unsupported/oipkg/installdialog.cpp4
-rw-r--r--noncore/unsupported/oipkg/main.cpp2
-rw-r--r--noncore/unsupported/oipkg/mainwindow.cpp3
-rw-r--r--noncore/unsupported/oipkg/oipkg.pro3
-rw-r--r--noncore/unsupported/oipkg/package.cpp23
-rw-r--r--noncore/unsupported/oipkg/package.h15
-rw-r--r--noncore/unsupported/oipkg/packagelist.cpp10
-rw-r--r--noncore/unsupported/oipkg/packagelist.h8
-rw-r--r--noncore/unsupported/oipkg/packagelistdoclnk.cpp8
-rw-r--r--noncore/unsupported/oipkg/packagelistdoclnk.h4
-rw-r--r--noncore/unsupported/oipkg/packagelistitem.cpp2
-rw-r--r--noncore/unsupported/oipkg/packagelistview.cpp6
-rw-r--r--noncore/unsupported/oipkg/pksettings.cpp1
-rw-r--r--noncore/unsupported/oipkg/pksettings.h2
-rw-r--r--noncore/unsupported/oipkg/pmipkg.cpp72
-rw-r--r--noncore/unsupported/oipkg/pmipkg.h10
-rw-r--r--noncore/unsupported/oipkg/settings.h2
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();