[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