diff options
| author | Michael Heidelbach <[email protected]> | 2018-01-16 10:23:50 +0100 |
|---|---|---|
| committer | Michael Heidelbach <[email protected]> | 2018-01-18 08:56:43 +0100 |
| commit | 64d2fd29819fa46c293e8c726c7df2ff00b332b3 (patch) | |
| tree | 5cd0f8065ffc988ccd5639f984ce2a5df45278d3 /src/panels/folders | |
| parent | 3cb3d58fbf0a5d3736579ad7a52a2a46ab9c1d29 (diff) | |
Folderspanel's context-menu option "Limit to Home Directory" is always visible
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
Diffstat (limited to 'src/panels/folders')
| -rw-r--r-- | src/panels/folders/folderspanel.cpp | 10 | ||||
| -rw-r--r-- | src/panels/folders/folderspanel.h | 11 |
2 files changed, 14 insertions, 7 deletions
diff --git a/src/panels/folders/folderspanel.cpp b/src/panels/folders/folderspanel.cpp index add7f692b..4a476ad76 100644 --- a/src/panels/folders/folderspanel.cpp +++ b/src/panels/folders/folderspanel.cpp @@ -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); diff --git a/src/panels/folders/folderspanel.h b/src/panels/folders/folderspanel.h index a653b4584..3b27dd3dd 100644 --- a/src/panels/folders/folderspanel.h +++ b/src/panels/folders/folderspanel.h @@ -86,12 +86,19 @@ 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(); |
