]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Move a bunch of Go menu actions from konqueror to dolphinpart, so that they don't...
authorDavid Faure <faure@kde.org>
Mon, 24 Dec 2007 11:17:16 +0000 (11:17 +0000)
committerDavid Faure <faure@kde.org>
Mon, 24 Dec 2007 11:17:16 +0000 (11:17 +0000)
svn path=/trunk/KDE/kdebase/apps/; revision=752408

src/dolphinpart.cpp
src/dolphinpart.h
src/dolphinpart.rc

index 981bb7028bd8adb444f2b440ee6a9a3d41e329c3..bd986dcf5ab6796bb87468f9da9858cf85946b51 100644 (file)
@@ -18,6 +18,7 @@
 */
 
 #include "dolphinpart.h"
+#include <kglobalsettings.h>
 #include "dolphinsortfilterproxymodel.h"
 #include "dolphinview.h"
 #include "dolphinmodel.h"
@@ -136,6 +137,45 @@ void DolphinPart::createActions()
     connect(newDirAction, SIGNAL(triggered()), SLOT(slotNewDir()));
     newDirAction->setShortcut(Qt::Key_F10);
     widget()->addAction(newDirAction);
+
+    // Go menu
+
+    QActionGroup* goActionGroup = new QActionGroup(this);
+    connect(goActionGroup, SIGNAL(triggered(QAction*)),
+            this, SLOT(slotGoTriggered(QAction*)));
+
+    createGoAction("go_applications", "start-here",
+                   i18nc("@action:inmenu Go", "App&lications"), QString("programs:/"),
+                   goActionGroup);
+    createGoAction("go_network_folders", "drive-remote",
+                   i18nc("@action:inmenu Go", "&Network Folders"), QString("remote:/"),
+                   goActionGroup);
+    createGoAction("go_settings", "preferences-system",
+                   i18nc("@action:inmenu Go", "Sett&ings"), QString("settings:/"),
+                   goActionGroup);
+    createGoAction("go_trash", "user-trash",
+                   i18nc("@action:inmenu Go", "Trash"), QString("trash:/"),
+                   goActionGroup);
+    createGoAction("go_autostart", "",
+                   i18nc("@action:inmenu Go", "Autostart"), KGlobalSettings::autostartPath(),
+                   goActionGroup);
+}
+
+void DolphinPart::createGoAction(const char* name, const char* iconName,
+                                 const QString& text, const QString& url,
+                                 QActionGroup* actionGroup)
+{
+    KAction* action = actionCollection()->addAction(name);
+    action->setIcon(KIcon(iconName));
+    action->setText(text);
+    action->setData(url);
+    action->setActionGroup(actionGroup);
+}
+
+void DolphinPart::slotGoTriggered(QAction* action)
+{
+    const QString url = action->data().toString();
+    emit m_extension->openUrlRequest(KUrl(url));
 }
 
 void DolphinPart::slotSelectionChanged(const KFileItemList& selection)
index 2a512eddb29f0172ae59f44f1d22ed2b82ea4398..98e0f2f672704010bcec0aeb3863d819f2b735c6 100644 (file)
@@ -22,6 +22,7 @@
 
 #include <kparts/part.h>
 #include <kparts/browserextension.h>
+class QActionGroup;
 class KAction;
 class KFileItemList;
 class KFileItem;
@@ -114,10 +115,21 @@ private Q_SLOTS:
      */
     void slotTrashActivated(Qt::MouseButtons, Qt::KeyboardModifiers);
 
+    /**
+     * Connected to the key shortcut for "new directory" (F10)
+     */
     void slotNewDir();
 
+    /**
+     * Connected to all "Go" menu actions provided by DolphinPart
+     */
+    void slotGoTriggered(QAction* action);
+
 private:
     void createActions();
+    void createGoAction(const char* name, const char* iconName,
+                        const QString& text, const QString& url,
+                        QActionGroup* actionGroup);
 
 private:
     DolphinView* m_view;
index 3344db227f8f913217c1ae88c16783c955c3d1f7..26002ceaf839beb18a7336dbf0f24290e9a72e46 100644 (file)
    <Separator/>
    <Action name="view_properties" />
   </Menu>
+  <Menu name="go">
+    <Action name="go_applications"/>
+    <Action name="go_network_folders"/>
+    <Action name="go_settings"/>
+    <Action name="go_media"/>
+    <Action name="go_trash"/>
+    <Action name="go_autostart"/>
+  </Menu>
   <Menu name="tools">
     <Action name="find_file" />
     <Action name="show_filter_bar" />