diff --git a/src/dolphinmainwindow.h b/src/dolphinmainwindow.h
--- a/src/dolphinmainwindow.h
+++ b/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.
diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp
--- a/src/dolphinmainwindow.cpp
+++ b/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"
@@ -375,6 +376,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);
@@ -1221,6 +1237,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"));
diff --git a/src/dolphinui.rc b/src/dolphinui.rc
--- a/src/dolphinui.rc
+++ b/src/dolphinui.rc
@@ -12,6 +12,8 @@
+
+