summaryrefslogtreecommitdiff
authortille <tille>2002-04-27 14:35:48 (UTC)
committer tille <tille>2002-04-27 14:35:48 (UTC)
commit320532727fc7dfbe9760d0eea0e17b8e1230fc8e (patch) (side-by-side diff)
treed65575cdd4c89e6a531b178de04198f39d8276c0
parentdb90999f6298c1107888f062f2c25cb8817b528a (diff)
downloadopie-320532727fc7dfbe9760d0eea0e17b8e1230fc8e.zip
opie-320532727fc7dfbe9760d0eea0e17b8e1230fc8e.tar.gz
opie-320532727fc7dfbe9760d0eea0e17b8e1230fc8e.tar.bz2
added setDocument and a qcop call to install a file
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/oipkg/TODO2
-rw-r--r--noncore/unsupported/oipkg/mainwindow.cpp18
-rw-r--r--noncore/unsupported/oipkg/mainwindow.h5
-rw-r--r--noncore/unsupported/oipkg/pmipkg.cpp40
-rw-r--r--noncore/unsupported/oipkg/pmipkg.h4
5 files changed, 65 insertions, 4 deletions
diff --git a/noncore/unsupported/oipkg/TODO b/noncore/unsupported/oipkg/TODO
index 744cba4..b07542a 100644
--- a/noncore/unsupported/oipkg/TODO
+++ b/noncore/unsupported/oipkg/TODO
@@ -1,2 +1,3 @@
+* setDocument function
* Settings Class
* tr() ;)
@@ -7,2 +8,3 @@
* error handling
* manage links
+* dependency checking \ No newline at end of file
diff --git a/noncore/unsupported/oipkg/mainwindow.cpp b/noncore/unsupported/oipkg/mainwindow.cpp
index 25ca889..e3abf36 100644
--- a/noncore/unsupported/oipkg/mainwindow.cpp
+++ b/noncore/unsupported/oipkg/mainwindow.cpp
@@ -34,4 +34,8 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) :
setCentralWidget( listViewPackages );
+ channel = new QCopChannel( "QPE/Application/oipkg", this );
+ connect( channel, SIGNAL(received(const QCString&, const QByteArray&)),
+ this, SLOT(receive(const QCString&, const QByteArray&)) );
+
makeMenu();
#ifdef NEWLAYOUT
@@ -417,2 +421,16 @@ void MainWindow::stopTimer( QListViewItem* )
popupTimer->stop();
}
+
+void MainWindow::setDocument(const QString &fileName)
+{
+ ipkg->installFile( fileName );
+}
+
+void MainWindow::receive(const QCString &msg, const QByteArray &arg)
+{
+ pvDebug(3, "QCop "+msg);
+ if ( msg == "setDocument(QString)" )
+ {
+ setDocument( QString(arg) );
+ }
+} \ No newline at end of file
diff --git a/noncore/unsupported/oipkg/mainwindow.h b/noncore/unsupported/oipkg/mainwindow.h
index adc5e78..34943f2 100644
--- a/noncore/unsupported/oipkg/mainwindow.h
+++ b/noncore/unsupported/oipkg/mainwindow.h
@@ -17,4 +17,5 @@ class QLineEdit;
class QListView;
class PackageListItem;
+class QCopChannel;
class MainWindow : public QMainWindow
@@ -27,4 +28,6 @@ public:
~MainWindow();
+ QCopChannel *channel;
+
protected slots:
void runIpkg();
@@ -37,4 +40,5 @@ protected slots:
void showSettingsSrv();
void showSettingsDst();
+ void setDocument (const QString &);
public slots:
@@ -50,4 +54,5 @@ public slots:
void changePackageDest( int );
void stopTimer( QListViewItem* );
+ void receive (const QCString &, const QByteArray &);
private:
diff --git a/noncore/unsupported/oipkg/pmipkg.cpp b/noncore/unsupported/oipkg/pmipkg.cpp
index 3b31b4d..45c89c5 100644
--- a/noncore/unsupported/oipkg/pmipkg.cpp
+++ b/noncore/unsupported/oipkg/pmipkg.cpp
@@ -112,8 +112,13 @@ void PmIpkg::makeLinks(Package *pack)
}
QString fn = dest+"/"+statusDir+"/info/"+pack->name()+".list";
- QFile f( fn );
- if ( ! f.open(IO_ReadOnly) )
+ linkPackage( fn, dest );
+}
+
+void PmIpkg::linkPackage( QString packFileName, QString dest )
+{
+ QFile f( packFileName );
+ if ( ! f.open(IO_ReadOnly) )
{
- out( "<b>Panik!</b> Could not open:<br>"+fn );
+ out( "<b>Panik!</b> Could not open:<br>"+packFileName );
return;
};
@@ -208,5 +213,5 @@ void PmIpkg::commit( PackageList pl )
runwindow->exec();
- return;
+ out("<h1>"+tr("Its now save to close this window")+"<h1>");
}
@@ -315,2 +320,29 @@ void PmIpkg::show(bool b)
runwindow->progress->show();
}
+
+void PmIpkg::installFile(const QString &fileName)
+{
+ pvDebug( 2,"PmIpkg::installFile "+ fileName);
+ show( false );
+ runwindow->outPut->setText("");
+ fileNameToInstall = fileName;
+ runwindow->doItButton->hide();
+ runwindow->removeButton->hide();
+ out("<b>"+tr("Install: ")+fileName);
+ connect( runwindow->installButton, SIGNAL( clicked() ),
+ this, SLOT( installFileName() ) );
+ connect( runwindow->cancelButton, SIGNAL( clicked() ),
+ runwindow, SLOT( close() ) );
+
+ runwindow->exec();
+}
+
+void PmIpkg::installFileName()
+{
+ if ( !QFile::exists( fileNameToInstall ) ) return;
+ out(tr("Installing pacakge ")+fileNameToInstall+"<br>"+tr("please wait")+"</b><br>");
+ runIpkg("install " + fileNameToInstall );
+ if ( settings->createLinks() )
+ linkPackage( fileNameToInstall, settings->getDestinationUrl() );
+ out("<h1>"+tr("Its now save to close this window")+"<h1>");
+} \ No newline at end of file
diff --git a/noncore/unsupported/oipkg/pmipkg.h b/noncore/unsupported/oipkg/pmipkg.h
index c57adb7..8e06f4c 100644
--- a/noncore/unsupported/oipkg/pmipkg.h
+++ b/noncore/unsupported/oipkg/pmipkg.h
@@ -32,6 +32,8 @@ private:
QList<Package> to_install;
bool runwindowopen;
+ QString fileNameToInstall;
void makeLinks(Package*);
+ void linkPackage( QString, QString );
void processLinkDir( QString, QString );
int runIpkg(const QString& args, const QString& dest="" );
@@ -41,5 +43,7 @@ public slots:
void doIt();
void install();
+ void installFileName();
void remove();
+ void installFile(const QString &fileName);
void linkDestination( const QString, const QByteArray );
};