diff options
| author | Emirald Mateli <[email protected]> | 2017-06-11 19:26:52 +0200 |
|---|---|---|
| committer | Elvis Angelaccio <[email protected]> | 2017-06-11 19:28:39 +0200 |
| commit | ec9f4ed17c9c71078eac838060024aef5ca8b2c3 (patch) | |
| tree | a44206e3c6e8012f07598da330c9422dc7a5ffe4 /src/dolphinmainwindow.cpp | |
| parent | c85ca114553c198af79eedacdb6b40ac4cab20e0 (diff) | |
Change in "Open in new tab" feature in Dolphin
Summary:
This patch proposes a change to the "open in new tab" feature.
The "open in new tab" feature will try to open selected items (files or folders) in a new tab, however, if there are no valid items to be opened in a new tab then nothing will happen, making it look like a bug. This patch adds the functionality that when there are no valid items(files or folders) to be opened in a new tab the current folder will be opened.
Test Plan:
1. Select a file(pdf, text, image etc) in Dolphin
2. Click on the "Open in new tab" toolbar button
Expected: since the file is not a valid target to open in a new tab, the current directory should be opened (as is the case where selection is empty)
Actual: Nothing happens after the button is pressed
Reviewed By: #dolphin, elvisangelaccio
Differential Revision: https://phabricator.kde.org/D6182
Diffstat (limited to 'src/dolphinmainwindow.cpp')
| -rw-r--r-- | src/dolphinmainwindow.cpp | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index e28e540d1..4b01272b7 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -306,16 +306,21 @@ void DolphinMainWindow::openNewTab(const QUrl& url) void DolphinMainWindow::openInNewTab() { const KFileItemList& list = m_activeViewContainer->view()->selectedItems(); - if (list.isEmpty()) { - openNewTab(m_activeViewContainer->url()); - } else { - foreach (const KFileItem& item, list) { - const QUrl& url = DolphinView::openItemAsFolderUrl(item); - if (!url.isEmpty()) { - openNewTab(url); - } + bool tabCreated = false; + + foreach (const KFileItem& item, list) { + const QUrl& url = DolphinView::openItemAsFolderUrl(item); + if (!url.isEmpty()) { + openNewTab(url); + tabCreated = true; } } + + // if no new tab has been created from the selection + // open the current directory in a new tab + if (!tabCreated) { + openNewTab(m_activeViewContainer->url()); + } } void DolphinMainWindow::openInNewWindow() |
