From 2fac50f5f59bbbc58a59e7ab5f1ec4e371a604c6 Mon Sep 17 00:00:00 2001 From: David Hallas Date: Wed, 20 Mar 2019 20:29:20 +0100 Subject: Add Bookmark Handling Summary: Add Bookmark Handling. Adds complete bookmark support as provided by other KDE applications like Konsole and Konqueror. This allows you to bookmark individual folders, create bookmark folders and open them. Test Plan: Go -> Bookmark -> Add Bookmark Go -> Bookmark -> [Open the bookmark you selected] FEATURE: 171366 Reviewers: #dolphin, elvisangelaccio, ngraham Reviewed By: #dolphin, elvisangelaccio, ngraham Subscribers: ognarb, meven, loh.tar, cfeck, hein, kfm-devel Tags: #dolphin Maniphest Tasks: T5408 Differential Revision: https://phabricator.kde.org/D19926 --- src/dolphinmainwindow.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/dolphinmainwindow.cpp') diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index f8b0fbb8b..b57ed4fc4 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -23,6 +23,7 @@ #include "config-terminal.h" #include "global.h" +#include "dolphinbookmarkhandler.h" #include "dolphindockwidget.h" #include "dolphincontextmenu.h" #include "dolphinnewfilemenu.h" @@ -94,6 +95,7 @@ DolphinMainWindow::DolphinMainWindow() : m_actionHandler(nullptr), m_remoteEncoding(nullptr), m_settingsDialog(), + m_bookmarkHandler(nullptr), m_controlButton(nullptr), m_updateToolBarTimer(nullptr), m_lastHandleUrlStatJob(nullptr), @@ -183,6 +185,16 @@ DolphinMainWindow::~DolphinMainWindow() { } +QVector DolphinMainWindow::viewContainers() const +{ + QVector viewContainers; + viewContainers.reserve(m_tabWidget->count()); + for (int i = 0; i < m_tabWidget->count(); ++i) { + viewContainers << m_tabWidget->tabPageAt(i)->activeViewContainer(); + } + return viewContainers; +} + void DolphinMainWindow::openDirectories(const QList& dirs, bool splitView) { m_tabWidget->openDirectories(dirs, splitView); @@ -982,6 +994,9 @@ void DolphinMainWindow::updateControlMenu() goMenu->addAction(ac->action(KStandardAction::name(KStandardAction::Up))); goMenu->addAction(ac->action(KStandardAction::name(KStandardAction::Home))); goMenu->addAction(ac->action(QStringLiteral("closed_tabs"))); + KActionMenu *bookmarkMenu = new KActionMenu(i18nc("@title:menu", "&Bookmarks"), goMenu); + m_bookmarkHandler->fillControlMenu(bookmarkMenu->menu(), ac); + goMenu->addAction(bookmarkMenu); menu->addMenu(goMenu); // Add "Tool" menu @@ -1240,6 +1255,11 @@ void DolphinMainWindow::setupActions() } #endif + // setup 'Bookmarks' menu + KActionMenu *bookmarkMenu = new KActionMenu(i18nc("@title:menu", "&Bookmarks"), this); + m_bookmarkHandler = new DolphinBookmarkHandler(this, actionCollection(), bookmarkMenu->menu(), this); + actionCollection()->addAction(QStringLiteral("bookmarks"), bookmarkMenu); + // setup 'Settings' menu KToggleAction* showMenuBar = KStandardAction::showMenubar(nullptr, nullptr, actionCollection()); connect(showMenuBar, &KToggleAction::triggered, // Fixes #286822 -- cgit v1.3