]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Folderspanel's context-menu option "Limit to Home Directory" is always visible
authorMichael Heidelbach <ottwolt@gmail.com>
Tue, 16 Jan 2018 09:23:50 +0000 (10:23 +0100)
committerMichael Heidelbach <ottwolt@gmail.com>
Thu, 18 Jan 2018 07:56:43 +0000 (08:56 +0100)
Summary:
Applied suggested changes to [[ https://phabricator.kde.org/D9662 | D9662 ]]
  - Enum instead of bool
  - Use QStringLiteral

Test Plan: Visual inspection

Reviewers: ngraham, elvisangelaccio, #dolphin

Reviewed By: ngraham, #dolphin

Subscribers: #dolphin

Tags: #dolphin, #kde_applications

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

src/panels/folders/folderspanel.cpp
src/panels/folders/folderspanel.h

index add7f692b95cb22369b691890bda72ec1dde36cd..4a476ad76ac0570d7d1c9539e0bff1fe3538443e 100644 (file)
@@ -137,7 +137,7 @@ bool FoldersPanel::urlChanged()
 void FoldersPanel::reloadTree()
 {
     if (m_controller) {
-        loadTree(url(), true);
+        loadTree(url(), AllowJumpHome);
     }
 }
 
@@ -316,7 +316,7 @@ void FoldersPanel::startFadeInAnimation()
     anim->setDuration(200);
 }
 
-void FoldersPanel::loadTree(const QUrl& url, bool allowJumpHome)
+void FoldersPanel::loadTree(const QUrl& url, FoldersPanel::NavigationBehaviour navigationBehaviour)
 {
     Q_ASSERT(m_controller);
 
@@ -327,7 +327,7 @@ void FoldersPanel::loadTree(const QUrl& url, bool allowJumpHome)
     if (!url.isLocalFile()) {
         // Clear the path for non-local URLs and use it as base
         baseUrl = url;
-        baseUrl.setPath(QString('/'));
+        baseUrl.setPath(QStringLiteral("/"));
     } else if (Dolphin::homeUrl().isParentOf(url) || (Dolphin::homeUrl() == url)) {
         if (FoldersPanelSettings::limitFoldersPanelToHome() ) {
             baseUrl = Dolphin::homeUrl();
@@ -335,7 +335,7 @@ void FoldersPanel::loadTree(const QUrl& url, bool allowJumpHome)
             // Use the root directory as base for local URLs (#150941)
             baseUrl = QUrl::fromLocalFile(QDir::rootPath());
         }
-    } else if (FoldersPanelSettings::limitFoldersPanelToHome() && allowJumpHome) {
+    } else if (FoldersPanelSettings::limitFoldersPanelToHome() && navigationBehaviour == AllowJumpHome) {
         baseUrl = Dolphin::homeUrl();
         jumpHome = true;
     } else {
@@ -349,7 +349,7 @@ void FoldersPanel::loadTree(const QUrl& url, bool allowJumpHome)
     }
 
     const int index = m_model->index(url);
-    if (jumpHome == true) {
+    if (jumpHome) {
       emit folderActivated(baseUrl);
     } else if (index >= 0) {
         updateCurrentItem(index);
index a653b45840500136939cc326498a24f757aa1f40..3b27dd3dda490c0a9cacf4548877a41b57f71cf9 100644 (file)
@@ -85,13 +85,20 @@ private slots:
 
 
 private:
+    /**
+     * Indicate if it is allowed to leave current location.
+     */
+    enum NavigationBehaviour {
+      StayWhereYouAre,  ///< Don't leave current location.
+      AllowJumpHome     ///< Go Home only when context menu option got checked.
+    };
     /**
      * Initializes the base URL of the tree and expands all
      * directories until \a url.
      * @param url  URL of the leaf directory that should get expanded.
-     * @param allowJumpHome  indicate context menu got checked.
+     * @param navigationBehaviour Navigation behaviour \see NavigationBehaviour
      */
-    void loadTree(const QUrl& url, bool allowJumpHome = false);
+    void loadTree(const QUrl& url, NavigationBehaviour navigationBehaviour = StayWhereYouAre);
 
     void reloadTree();