diff options
| author | Alexander Saoutkin <[email protected]> | 2020-03-01 17:22:46 +0000 |
|---|---|---|
| committer | Alexander Saoutkin <[email protected]> | 2020-03-01 17:22:46 +0000 |
| commit | 7a2885853a424042cb631f83a1db278560679d9e (patch) | |
| tree | c4a7bddf89aa3ca99f3a143410595a93a3f35c13 /src | |
| parent | 0bec1518c54c874a7a2c30b5d7d01287513f9b3d (diff) | |
| parent | af45eb0af5219819f76b624162c75da83d763657 (diff) | |
Merge branch 'release/19.12'
Diffstat (limited to 'src')
| -rw-r--r-- | src/dolphintabwidget.cpp | 10 | ||||
| -rw-r--r-- | src/org.kde.dolphin.appdata.xml | 2 | ||||
| -rw-r--r-- | src/views/dolphinview.h | 12 |
3 files changed, 17 insertions, 7 deletions
diff --git a/src/dolphintabwidget.cpp b/src/dolphintabwidget.cpp index 9ecc14427..89c54baf5 100644 --- a/src/dolphintabwidget.cpp +++ b/src/dolphintabwidget.cpp @@ -206,6 +206,10 @@ void DolphinTabWidget::openDirectories(const QList<QUrl>& dirs, bool splitView) } else { tabPage->secondaryViewContainer()->setActive(true); } + // BUG: 417230 + // Required for updateViewState() call in openFiles() to work as expected + // If there is a selection, updateViewState() calls are effectively a no-op + tabPage->activeViewContainer()->view()->clearSelection(); continue; } if (splitView && (it != dirs.constEnd())) { @@ -239,10 +243,14 @@ void DolphinTabWidget::openFiles(const QList<QUrl>& files, bool splitView) // Select the files. Although the files can be split between several // tabs, there is no need to split 'files' accordingly, as // the DolphinView will just ignore invalid selections. - for (int i = oldTabCount; i < tabCount; ++i) { + for (int i = 0; i < tabCount; ++i) { DolphinTabPage* tabPage = tabPageAt(i); tabPage->markUrlsAsSelected(files); tabPage->markUrlAsCurrent(files.first()); + if (i < oldTabCount) { + // Force selection of file if directory was already open, BUG: 417230 + tabPage->activeViewContainer()->view()->updateViewState(); + } } } diff --git a/src/org.kde.dolphin.appdata.xml b/src/org.kde.dolphin.appdata.xml index c7a04e3b7..c80fe81fa 100644 --- a/src/org.kde.dolphin.appdata.xml +++ b/src/org.kde.dolphin.appdata.xml @@ -589,6 +589,8 @@ <binary>dolphin</binary> </provides> <releases> + <release version="19.12.3" date="2020-03-05"/> + <release version="19.12.2" date="2020-02-06"/> <release version="19.12.1" date="2020-01-09"/> <release version="19.12.0" date="2019-12-12"/> </releases> diff --git a/src/views/dolphinview.h b/src/views/dolphinview.h index 538e00e83..60ecb2a95 100644 --- a/src/views/dolphinview.h +++ b/src/views/dolphinview.h @@ -381,6 +381,12 @@ public slots: void stopLoading(); + /** + * Applies the state that has been restored by restoreViewState() + * to the view. + */ + void updateViewState(); + /** Activates the view if the item list container gets focus. */ bool eventFilter(QObject* watched, QEvent* event) override; @@ -703,12 +709,6 @@ private slots: void slotDirectoryRedirection(const QUrl& oldUrl, const QUrl& newUrl); /** - * Applies the state that has been restored by restoreViewState() - * to the view. - */ - void updateViewState(); - - /** * Calculates the number of currently shown files into * \a fileCount and the number of folders into \a folderCount. * The size of all files is written into \a totalFileSize. |
