]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/panels/folders/treeviewcontextmenu.cpp
Move Safely Remove down in places context menu
[dolphin.git] / src / panels / folders / treeviewcontextmenu.cpp
index bf97c6d8fcb274d4fc9a79069d36fd2b6b0e6942..df9b9d62e5aba15270814b27907a83b1ce71dd4a 100644 (file)
@@ -55,7 +55,7 @@ TreeViewContextMenu::~TreeViewContextMenu()
 {
 }
 
-void TreeViewContextMenu::open()
+void TreeViewContextMenu::open(const QPoint& pos)
 {
     QMenu* popup = new QMenu(m_parent);
 
@@ -123,15 +123,17 @@ void TreeViewContextMenu::open()
     popup->addAction(showHiddenFilesAction);
     connect(showHiddenFilesAction, &QAction::toggled, this, &TreeViewContextMenu::setShowHiddenFiles);
 
-    // 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);
+    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);
@@ -159,7 +161,7 @@ void TreeViewContextMenu::open()
     }
 
     QPointer<QMenu> popupPtr = popup;
-    popup->exec(QCursor::pos());
+    popup->exec(pos);
     if (popupPtr.data()) {
         popupPtr.data()->deleteLater();
     }