]> cloud.milkyroute.net Git - dolphin.git/commitdiff
[DolphinContextMenu] Use the view's already existing root KFileItem
authorKai Uwe Broulik <kde@privat.broulik.de>
Wed, 5 Sep 2018 10:25:39 +0000 (12:25 +0200)
committerKai Uwe Broulik <kde@privat.broulik.de>
Wed, 5 Sep 2018 10:25:39 +0000 (12:25 +0200)
Saves creating a new KFileItem from scratch which stats the file.
Only when the root item isn't available (as can happen when you're currently looking at an non-existing directory)
will it create a new KFileItem

Differential Revision: https://phabricator.kde.org/D15266

src/dolphincontextmenu.cpp

index 8fdaab1d0e17ecb5ed2bd6748dbb288c5136d116..a521551e59a050e8015f9a40dd74dd9e7b59e864 100644 (file)
@@ -341,7 +341,12 @@ void DolphinContextMenu::openViewportContextMenu()
     addSeparator();
 
     // Insert 'Open With' entries
     addSeparator();
 
     // Insert 'Open With' entries
-    const KFileItemListProperties baseUrlProperties(KFileItemList() << baseFileItem());
+    KFileItem baseItem = view->rootItem();
+    if (baseItem.isNull() || baseItem.url() != m_baseUrl) {
+        baseItem = baseFileItem();
+    }
+
+    const KFileItemListProperties baseUrlProperties(KFileItemList() << baseItem);
     KFileItemActions fileItemActions;
     fileItemActions.setParentWidget(m_mainWindow);
     fileItemActions.setItemListProperties(baseUrlProperties);
     KFileItemActions fileItemActions;
     fileItemActions.setParentWidget(m_mainWindow);
     fileItemActions.setItemListProperties(baseUrlProperties);