Index: src/dolphinmainwindow.h =================================================================== --- src/dolphinmainwindow.h +++ src/dolphinmainwindow.h @@ -344,6 +344,11 @@ */ void showTarget(); + /** + * Add the current directory to the Places pane + */ + void addToPlaces(); + /** * Indicates in the statusbar that the execution of the command \a command * has been finished. Index: src/dolphinmainwindow.cpp =================================================================== --- src/dolphinmainwindow.cpp +++ src/dolphinmainwindow.cpp @@ -35,6 +35,7 @@ #include "panels/places/placespanel.h" #include "panels/information/informationpanel.h" #include "panels/terminal/terminalpanel.h" +#include "panels/places/placesitemmodel.h" #include "settings/dolphinsettingsdialog.h" #include "statusbar/dolphinstatusbar.h" #include "views/dolphinviewactionhandler.h" @@ -374,6 +375,21 @@ } } +void DolphinMainWindow::addToPlaces() +{ + const QUrl url = m_activeViewContainer->url(); + if (url.isValid()) { + PlacesItemModel model; + QString icon; + if (m_activeViewContainer->isSearchModeEnabled()) { + icon = QStringLiteral("folder-saved-search-symbolic"); + } else { + icon = KIO::iconNameForUrl(url); + } + model.createPlacesItem(m_activeViewContainer->placesText(), url, icon); + } +} + void DolphinMainWindow::showEvent(QShowEvent* event) { KXmlGuiWindow::showEvent(event); @@ -1226,6 +1242,12 @@ connect(activatePrevTab, &QAction::triggered, m_tabWidget, &DolphinTabWidget::activatePrevTab); actionCollection()->setDefaultShortcuts(activatePrevTab, prevTabKeys); + QAction* addToPlaces = actionCollection()->addAction(QStringLiteral("add_to_places")); + addToPlaces->setIcon(QIcon::fromTheme(QStringLiteral("folder-saved-search-symbolic"))); + addToPlaces->setText(i18nc("@action:inmenu Add current folder to places", "Add to Places")); + actionCollection()->setDefaultShortcuts(addToPlaces, {Qt::CTRL + Qt::Key_D}); + connect(addToPlaces, &QAction::triggered, this, &DolphinMainWindow::addToPlaces); + // for context menu QAction* showTarget = actionCollection()->addAction(QStringLiteral("show_target")); showTarget->setText(i18nc("@action:inmenu", "Show Target")); Index: src/dolphinui.rc =================================================================== --- src/dolphinui.rc +++ src/dolphinui.rc @@ -1,5 +1,5 @@ - + @@ -12,6 +12,8 @@ + +