X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/a67dab505adfc6a7a0c08f21d1dd1ead046e044c..bff373d598c031cb1:/src/panels/folders/treeviewcontextmenu.cpp diff --git a/src/panels/folders/treeviewcontextmenu.cpp b/src/panels/folders/treeviewcontextmenu.cpp index 51fc229c1..df9b9d62e 100644 --- a/src/panels/folders/treeviewcontextmenu.cpp +++ b/src/panels/folders/treeviewcontextmenu.cpp @@ -20,27 +20,26 @@ #include "treeviewcontextmenu.h" -#include +#include "folderspanel.h" +#include "global.h" + +#include +#include #include #include +#include #include -#include -#include +#include +#include #include -#include -#include -#include -#include #include -#include -#include -#include #include - -#include "folderspanel.h" +#include +#include #include #include +#include #include #include @@ -56,7 +55,7 @@ TreeViewContextMenu::~TreeViewContextMenu() { } -void TreeViewContextMenu::open() +void TreeViewContextMenu::open(const QPoint& pos) { QMenu* popup = new QMenu(m_parent); @@ -124,6 +123,18 @@ void TreeViewContextMenu::open() popup->addAction(showHiddenFilesAction); connect(showHiddenFilesAction, &QAction::toggled, this, &TreeViewContextMenu::setShowHiddenFiles); + if (!m_fileItem.isNull()) { + // insert 'Limit to Home Directory' + const QUrl url = m_fileItem.url(); + const bool enableLimitToHomeDirectory = url.isLocalFile(); + QAction* limitFoldersPanelToHomeAction = new QAction(i18nc("@action:inmenu", "Limit to Home Directory"), this); + limitFoldersPanelToHomeAction->setCheckable(true); + limitFoldersPanelToHomeAction->setEnabled(enableLimitToHomeDirectory); + limitFoldersPanelToHomeAction->setChecked(m_parent->limitFoldersPanelToHome()); + popup->addAction(limitFoldersPanelToHomeAction); + connect(limitFoldersPanelToHomeAction, &QAction::toggled, this, &TreeViewContextMenu::setLimitFoldersPanelToHome); + } + // insert 'Automatic Scrolling' QAction* autoScrollingAction = new QAction(i18nc("@action:inmenu", "Automatic Scrolling"), this); autoScrollingAction->setCheckable(true); @@ -150,7 +161,7 @@ void TreeViewContextMenu::open() } QPointer popupPtr = popup; - popup->exec(QCursor::pos()); + popup->exec(pos); if (popupPtr.data()) { popupPtr.data()->deleteLater(); } @@ -229,6 +240,11 @@ void TreeViewContextMenu::setShowHiddenFiles(bool show) m_parent->setShowHiddenFiles(show); } +void TreeViewContextMenu::setLimitFoldersPanelToHome(bool enable) +{ + m_parent->setLimitFoldersPanelToHome(enable); +} + void TreeViewContextMenu::setAutoScrolling(bool enable) { m_parent->setAutoScrolling(enable);