Blob Blame History Raw
diff -up kdebase-workspace-4.0.2/plasma/containments/desktop/desktop.h.orig kdebase-workspace-4.0.2/plasma/containments/desktop/desktop.h
--- kdebase-workspace-4.0.2/plasma/containments/desktop/desktop.h.orig	2008-03-04 16:18:19.000000000 +0100
+++ kdebase-workspace-4.0.2/plasma/containments/desktop/desktop.h	2008-03-04 16:18:58.000000000 +0100
@@ -83,6 +83,7 @@ public:
                         const QRect& contentsRect);
 
 protected Q_SLOTS:
+    void runKonsole();
     void runCommand();
     void configure();
     void applyConfig();
@@ -100,6 +101,7 @@ private:
 
     QAction *m_lockDesktopAction;
     QAction *m_appletBrowserAction;
+    QAction *m_runKonsoleAction;
     QAction *m_runCommandAction;
     QAction *m_setupDesktopAction;
     QAction *m_lockScreenAction;
diff -up kdebase-workspace-4.0.2/plasma/containments/desktop/desktop.cpp.orig kdebase-workspace-4.0.2/plasma/containments/desktop/desktop.cpp
--- kdebase-workspace-4.0.2/plasma/containments/desktop/desktop.cpp.orig	2008-03-04 15:45:16.000000000 +0100
+++ kdebase-workspace-4.0.2/plasma/containments/desktop/desktop.cpp	2008-03-06 13:29:54.000000000 +0100
@@ -37,6 +37,7 @@
 #include <KStandardDirs>
 #include <KSvgRenderer>
 #include <KWindowSystem>
+#include <KProcess>
 
 #include "plasma/corona.h"
 #include "plasma/appletbrowser.h"
@@ -59,6 +60,7 @@ DefaultDesktop::DefaultDesktop(QObject *
     : Containment(parent, args),
       m_lockDesktopAction(0),
       m_appletBrowserAction(0),
+      m_runKonsoleAction(0),
       m_runCommandAction(0),
       m_lockScreenAction(0),
       m_logoutAction(0),
@@ -307,6 +309,13 @@ void DefaultDesktop::runCommand()
     }
 }
 
+void DefaultDesktop::runKonsole()
+{
+    KProcess proc;
+    proc << KStandardDirs::locate("exe", "konsole");
+    proc.execute();
+}
+
 void DefaultDesktop::lockScreen()
 {
     if (!KAuthorized::authorizeKAction("lock_screen")) {
@@ -332,6 +341,10 @@ QList<QAction*> DefaultDesktop::contextA
         connect(m_appletBrowserAction, SIGNAL(triggered(bool)), this, SIGNAL(showAddWidgets()));
         m_appletBrowserAction->setIcon(KIcon("list-add"));
 
+        m_runKonsoleAction = new QAction(i18n("Konsole"), this);
+        connect(m_runKonsoleAction, SIGNAL(triggered(bool)), this, SLOT(runKonsole()));
+        m_runKonsoleAction->setIcon(KIcon("terminal"));
+
         m_runCommandAction = new QAction(i18n("Run Command..."), this);
         connect(m_runCommandAction, SIGNAL(triggered(bool)), this, SLOT(runCommand()));
         m_runCommandAction->setIcon(KIcon("system-run"));
@@ -362,6 +375,8 @@ QList<QAction*> DefaultDesktop::contextA
 
     QList<QAction*> actions;
 
+    actions.append(m_runKonsoleAction);
+
     if (KAuthorized::authorizeKAction("run_command")) {
         actions.append(m_runCommandAction);
     }