From: David Faure Date: Mon, 24 Dec 2007 11:17:16 +0000 (+0000) Subject: Move a bunch of Go menu actions from konqueror to dolphinpart, so that they don't... X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/5a3a5f513515dd2a260fdea3b148e38339c41e57 Move a bunch of Go menu actions from konqueror to dolphinpart, so that they don't clutter the Go menu when using other parts. As posted on k-c-d. svn path=/trunk/KDE/kdebase/apps/; revision=752408 --- diff --git a/src/dolphinpart.cpp b/src/dolphinpart.cpp index 981bb7028..bd986dcf5 100644 --- a/src/dolphinpart.cpp +++ b/src/dolphinpart.cpp @@ -18,6 +18,7 @@ */ #include "dolphinpart.h" +#include #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) diff --git a/src/dolphinpart.h b/src/dolphinpart.h index 2a512eddb..98e0f2f67 100644 --- a/src/dolphinpart.h +++ b/src/dolphinpart.h @@ -22,6 +22,7 @@ #include #include +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; diff --git a/src/dolphinpart.rc b/src/dolphinpart.rc index 3344db227..26002ceaf 100644 --- a/src/dolphinpart.rc +++ b/src/dolphinpart.rc @@ -39,6 +39,14 @@ + + + + + + + +