Diffstat (limited to 'core/launcher/packageslave.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | core/launcher/packageslave.cpp | 14 |
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 @@ -67,2 +67,6 @@ void PackageHandler::qcopMessage( const QCString &msg, const QByteArray &data ) installPackage( file ); + } else if ( msg == "installPackage(QString,QString)" ) { + QString file, dest; + stream >> file >> dest; + installPackage( file, dest ); } else if ( msg == "removePackage(QString)" ) { @@ -95,3 +99,3 @@ void PackageHandler::qcopMessage( const QCString &msg, const QByteArray &data ) -void PackageHandler::installPackage( const QString &package ) +void PackageHandler::installPackage( const QString &package, const QString &dest ) { @@ -104,3 +108,9 @@ void PackageHandler::installPackage( const QString &package ) - currentProcess = new QProcess( QStringList() << "ipkg" << "install" << package ); // No tr + QStringList cmd; + cmd << "ipkg"; + if ( !dest.isEmpty() ) { + cmd << "-d" << dest; + } + cmd << "install" << package; + currentProcess = new QProcess( cmd ); // No tr connect( currentProcess, SIGNAL( processExited() ), SLOT( iProcessExited() ) ); |