summaryrefslogtreecommitdiff
path: root/core/launcher/packageslave.cpp
Unidiff
Diffstat (limited to 'core/launcher/packageslave.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/packageslave.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/core/launcher/packageslave.cpp b/core/launcher/packageslave.cpp
index 0461432..abbc610 100644
--- a/core/launcher/packageslave.cpp
+++ b/core/launcher/packageslave.cpp
@@ -65,6 +65,10 @@ void PackageHandler::qcopMessage( const QCString &msg, const QByteArray &data )
65 QString file; 65 QString file;
66 stream >> file; 66 stream >> file;
67 installPackage( file ); 67 installPackage( file );
68 } else if ( msg == "installPackage(QString,QString)" ) {
69 QString file, dest;
70 stream >> file >> dest;
71 installPackage( file, dest );
68 } else if ( msg == "removePackage(QString)" ) { 72 } else if ( msg == "removePackage(QString)" ) {
69 QString file; 73 QString file;
70 stream >> file; 74 stream >> file;
@@ -93,7 +97,7 @@ void PackageHandler::qcopMessage( const QCString &msg, const QByteArray &data )
93 } 97 }
94} 98}
95 99
96void PackageHandler::installPackage( const QString &package ) 100void PackageHandler::installPackage( const QString &package, const QString &dest )
97{ 101{
98 if ( mNoSpaceLeft ) { 102 if ( mNoSpaceLeft ) {
99 mNoSpaceLeft = FALSE; 103 mNoSpaceLeft = FALSE;
@@ -102,7 +106,13 @@ void PackageHandler::installPackage( const QString &package )
102 //return; 106 //return;
103 } 107 }
104 108
105 currentProcess = new QProcess( QStringList() << "ipkg" << "install" << package ); // No tr 109 QStringList cmd;
110 cmd << "ipkg";
111 if ( !dest.isEmpty() ) {
112 cmd << "-d" << dest;
113 }
114 cmd << "install" << package;
115 currentProcess = new QProcess( cmd ); // No tr
106 connect( currentProcess, SIGNAL( processExited() ), SLOT( iProcessExited() ) ); 116 connect( currentProcess, SIGNAL( processExited() ), SLOT( iProcessExited() ) );
107 connect( currentProcess, SIGNAL( readyReadStdout() ), SLOT( readyReadStdout() ) ); 117 connect( currentProcess, SIGNAL( readyReadStdout() ), SLOT( readyReadStdout() ) );
108 connect( currentProcess, SIGNAL( readyReadStderr() ), SLOT( readyReadStderr() ) ); 118 connect( currentProcess, SIGNAL( readyReadStderr() ), SLOT( readyReadStderr() ) );