[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebase/workspace/plasma/runners/shell [POSSIBLY UNSAFE]
From:       Aaron J. Seigo <aseigo () kde ! org>
Date:       2008-04-01 0:12:27
Message-ID: 1207008747.322753.13767.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 792401 by aseigo:

"run in terminal" now works.


 M  +17 -2     shellrunner.cpp   [POSSIBLY UNSAFE: KRun::runCommand]
 M  +5 -0      shellrunner.h  


--- trunk/KDE/kdebase/workspace/plasma/runners/shell/shellrunner.cpp #792400:792401
@@ -23,15 +23,18 @@
 #include <QPushButton>
 
 #include <KAuthorized>
+#include <KDebug>
 #include <KIcon>
 #include <KLocale>
 #include <KRun>
 #include <KStandardDirs>
+#include <KToolInvocation>
 
 #include "ui_shellOptions.h"
 
 ShellRunner::ShellRunner(QObject *parent, const QVariantList &args)
-    : Plasma::AbstractRunner(parent, args)
+    : Plasma::AbstractRunner(parent, args),
+      m_inTerminal(false)
 {
     Q_UNUSED(args)
 
@@ -67,8 +70,16 @@
 {
     Ui::shellOptions ui;
     ui.setupUi(parent);
+
+    //TODO: connect rest of UI up too!
+    connect(ui.cbRunInTerminal, SIGNAL(toggled(bool)), this, SLOT(setRunInTerminal(bool)));
 }
 
+void ShellRunner::setRunInTerminal(bool inTerminal)
+{
+    m_inTerminal = inTerminal;
+}
+
 void ShellRunner::exec(const Plasma::SearchContext *search, const Plasma::SearchMatch *action)
 {
     Q_UNUSED(action);
@@ -76,7 +87,11 @@
         return;
     }
 
-    KRun::runCommand(search->searchTerm(), NULL);
+    if (m_inTerminal) {
+        KToolInvocation::invokeTerminal(search->searchTerm());
+    } else {
+        KRun::runCommand(search->searchTerm(), NULL);
+    }
 }
 
 #include "shellrunner.moc"
--- trunk/KDE/kdebase/workspace/plasma/runners/shell/shellrunner.h #792400:792401
@@ -40,8 +40,13 @@
         void match(Plasma::SearchContext *search);
         void exec(const Plasma::SearchContext *context, const Plasma::SearchMatch *action);
 
+
+    public slots:
+        void setRunInTerminal(bool inTerminal);
+
     private:
         bool m_enabled;
+        bool m_inTerminal;
 };
 
 K_EXPORT_PLASMA_RUNNER(shell, ShellRunner)
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic