From 01a3b7ad4464682c1d4319151ab7791f6f0a9dd8 Mon Sep 17 00:00:00 2001 From: tpearson Date: Sat, 3 Apr 2010 22:53:41 +0000 Subject: Made program functional again git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kdpkg@1110662 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kdpkg-install/console.cpp | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) (limited to 'kdpkg-install/console.cpp') diff --git a/kdpkg-install/console.cpp b/kdpkg-install/console.cpp index cc6f450..f1dfaa9 100644 --- a/kdpkg-install/console.cpp +++ b/kdpkg-install/console.cpp @@ -28,21 +28,51 @@ #include #include #include +#include #include #include #include "console.h" +#include +#include + +using namespace std; + console::console(QWidget *parent, const QStrList &run, const char *name, const QStringList &) : Widget(parent,name) { + + // Get KDE prefix + // FIXME Is there a better way to do this??? + string prefixcommand="kde-config --prefix"; + FILE *pipe_prefix; + char prefix_result[2048]; + int i; + + if ((pipe_prefix = popen(prefixcommand.c_str(), "r")) == NULL) + { + m_kdePrefix = "/usr"; + } + else { + fgets(prefix_result, 2048, pipe_prefix); + pclose(pipe_prefix); + for (i=0;i<2048;i++) { + if (prefix_result[i] == 0) { + prefix_result[i-1]=0; + i=2048; + } + } + m_kdePrefix = QString(prefix_result); + } + //label->setText( name ); loadKonsole(); konsoleFrame->installEventFilter( this ); // run command - terminal()->startProgram( "/usr/share/kdpkg/sh/kdpkg-sh", run ); + terminal()->startProgram( m_kdePrefix + "/share/kdpkg/sh/kdpkg-sh", run ); connect( konsole, SIGNAL(destroyed()), this, SLOT( finish() ) ); } -- cgit v1.2.1