|
|
652846 |
diff -up kde-workspace-4.9.90/plasma/generic/containmentactions/contextmenu/menu.cpp.plasma-konsole kde-workspace-4.9.90/plasma/generic/containmentactions/contextmenu/menu.cpp
|
|
|
652846 |
--- kde-workspace-4.9.90/plasma/generic/containmentactions/contextmenu/menu.cpp.plasma-konsole 2012-11-14 10:06:18.000000000 -0600
|
|
|
652846 |
+++ kde-workspace-4.9.90/plasma/generic/containmentactions/contextmenu/menu.cpp 2012-12-03 17:01:20.403223435 -0600
|
|
|
652846 |
@@ -30,6 +30,7 @@
|
|
|
652846 |
#include <KDebug>
|
|
|
652846 |
#include <KIcon>
|
|
|
652846 |
#include <KMenu>
|
|
|
652846 |
+#include <ktoolinvocation.h>
|
|
|
652846 |
|
|
|
652846 |
#include <Plasma/Containment>
|
|
|
652846 |
#include <Plasma/Corona>
|
|
|
652846 |
@@ -46,6 +47,7 @@
|
|
|
652846 |
|
|
|
652846 |
ContextMenu::ContextMenu(QObject *parent, const QVariantList &args)
|
|
|
652846 |
: Plasma::ContainmentActions(parent, args),
|
|
|
652846 |
+ m_runKonsoleAction(0),
|
|
|
652846 |
m_runCommandAction(0),
|
|
|
652846 |
m_lockScreenAction(0),
|
|
|
652846 |
m_logoutAction(0),
|
|
|
652846 |
@@ -74,7 +76,7 @@ void ContextMenu::init(const KConfigGrou
|
|
|
652846 |
m_actionOrder << "add widgets" << "_add panel" << "lock widgets" << "_context" << "remove";
|
|
|
652846 |
} else {
|
|
|
652846 |
actions.insert("configure shortcuts", false);
|
|
|
652846 |
- m_actionOrder << "_context" << "_run_command" << "add widgets" << "_add panel"
|
|
|
652846 |
+ m_actionOrder << "_context" << "_run_konsole" << "_run_command" << "add widgets" << "_add panel"
|
|
|
652846 |
<< "manage activities" << "remove" << "lock widgets" << "_sep1"
|
|
|
652846 |
<<"_lock_screen" << "_logout" << "_sep2" << "configure"
|
|
|
652846 |
<< "configure shortcuts" << "_sep3" << "_wallpaper";
|
|
|
652846 |
@@ -96,6 +98,10 @@ void ContextMenu::init(const KConfigGrou
|
|
|
652846 |
c->containmentType() == Plasma::Containment::CustomPanelContainment) {
|
|
|
652846 |
//FIXME: panel does its own config action atm...
|
|
|
652846 |
} else if (!m_runCommandAction) {
|
|
|
652846 |
+ m_runKonsoleAction = new QAction(i18n("Konsole"), this);
|
|
|
652846 |
+ m_runKonsoleAction->setIcon(KIcon("utilities-terminal"));
|
|
|
652846 |
+ connect(m_runKonsoleAction, SIGNAL(triggered(bool)), this, SLOT(runKonsole()));
|
|
|
652846 |
+
|
|
|
652846 |
m_runCommandAction = new QAction(i18n("Run Command..."), this);
|
|
|
652846 |
m_runCommandAction->setIcon(KIcon("system-run"));
|
|
|
652846 |
connect(m_runCommandAction, SIGNAL(triggered(bool)), this, SLOT(runCommand()));
|
|
|
652846 |
@@ -168,6 +174,8 @@ QAction *ContextMenu::action(const QStri
|
|
|
652846 |
if (c->corona() && c->corona()->immutability() == Plasma::Mutable) {
|
|
|
652846 |
return c->corona()->action("add panel");
|
|
|
652846 |
}
|
|
|
652846 |
+ } else if (name == "_run_konsole") {
|
|
|
652846 |
+ return m_runKonsoleAction;
|
|
|
652846 |
} else if (name == "_run_command") {
|
|
|
652846 |
if (KAuthorized::authorizeKAction("run_command")) {
|
|
|
652846 |
return m_runCommandAction;
|
|
|
652846 |
@@ -191,6 +199,11 @@ QAction *ContextMenu::action(const QStri
|
|
|
652846 |
return 0;
|
|
|
652846 |
}
|
|
|
652846 |
|
|
|
652846 |
+void ContextMenu::runKonsole()
|
|
|
652846 |
+{
|
|
|
652846 |
+ KToolInvocation::invokeTerminal(QString(), QDir::homePath());
|
|
|
652846 |
+}
|
|
|
652846 |
+
|
|
|
652846 |
void ContextMenu::runCommand()
|
|
|
652846 |
{
|
|
|
652846 |
if (!KAuthorized::authorizeKAction("run_command")) {
|
|
|
652846 |
diff -up kde-workspace-4.9.90/plasma/generic/containmentactions/contextmenu/menu.h.plasma-konsole kde-workspace-4.9.90/plasma/generic/containmentactions/contextmenu/menu.h
|
|
|
652846 |
--- kde-workspace-4.9.90/plasma/generic/containmentactions/contextmenu/menu.h.plasma-konsole 2012-11-14 10:06:18.000000000 -0600
|
|
|
652846 |
+++ kde-workspace-4.9.90/plasma/generic/containmentactions/contextmenu/menu.h 2012-12-03 16:59:09.172842770 -0600
|
|
|
652846 |
@@ -41,12 +41,14 @@ public:
|
|
|
652846 |
void save(KConfigGroup &config);
|
|
|
652846 |
|
|
|
652846 |
public slots:
|
|
|
652846 |
+ void runKonsole();
|
|
|
652846 |
void runCommand();
|
|
|
652846 |
void lockScreen();
|
|
|
652846 |
void startLogout();
|
|
|
652846 |
void logout();
|
|
|
652846 |
|
|
|
652846 |
private:
|
|
|
652846 |
+ QAction *m_runKonsoleAction;
|
|
|
652846 |
QAction *m_runCommandAction;
|
|
|
652846 |
QAction *m_lockScreenAction;
|
|
|
652846 |
QAction *m_logoutAction;
|