commit: 803d98944b03a363c6653a401373ffda0e9d8799 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> AuthorDate: Sun Apr 8 10:49:08 2018 +0000 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> CommitDate: Sun Apr 8 10:49:51 2018 +0000 URL: https://gitweb.gentoo.org/proj/kde.git/commit/?id=803d9894
kde-plasma/plasma-integration: Fix initial remote dir selection Package-Manager: Portage-2.3.28, Repoman-2.3.9 ...a-integration-5.12.4-remote-dir-selection.patch | 62 ++++++++++++++++++++++ .../plasma-integration-5.12.49.9999.ebuild | 2 + 2 files changed, 64 insertions(+) diff --git a/kde-plasma/plasma-integration/files/plasma-integration-5.12.4-remote-dir-selection.patch b/kde-plasma/plasma-integration/files/plasma-integration-5.12.4-remote-dir-selection.patch new file mode 100644 index 0000000000..a3c6d931e2 --- /dev/null +++ b/kde-plasma/plasma-integration/files/plasma-integration-5.12.4-remote-dir-selection.patch @@ -0,0 +1,62 @@ +From bfd41a95530f90ee8d44cbcfd1fa8c62978334a2 Mon Sep 17 00:00:00 2001 +From: Alex Richardson <alexander.richard...@cl.cam.ac.uk> +Date: Sun, 8 Apr 2018 11:06:32 +0100 +Subject: KDEPlatformFileDialog: Fix initial directory selection for remote + files + +Summary: +Previously KDEPlatformFileDialogHelper::selectFile() would change +options()->initialDirectory() unconditionally even if it was already +set by the QFileDialog code. Since Qt 5.7.1 it is no longer necessary +to derive initialDirectory from the selectFile() call. In fact it is +actuall harmful since it will now override the correct initial directory +that was set by Qt. Without this patch I got the following debug output: + +``` +KDEPlatformFileDialogHelper::setDirectory QUrl("sftp://server/home/alr48/cheri/build_sdk.sh") +KDEPlatformFileDialogHelper::setDirectory QUrl("sftp://server/home/alr48/cheri/build_sdk.sh") +KDEPlatformFileDialogHelper::selectFile QUrl("file:///home/alex/build_sdk.sh") +KDEPlatformFileDialogHelper::setDirectory QUrl("file:///home/alex/) +``` +The final setDirectory() call is actually a call to +`setDirectory(options->initialDirectory())` which was set in `selectFile()`. + +We now depend on Qt 5.9 so we can remove this code without a check for +version >= 5.7.1. + +BUG: 374913 + +Test Plan: Remote directory is now opened correctly (tested with Qt 5.10.0) + +Reviewers: #plasma, elvisangelaccio + +Reviewed By: elvisangelaccio + +Subscribers: ngraham, krzyc, anthonyfieroni, elvisangelaccio, graesslin, plasma-devel + +Tags: #plasma + +Differential Revision: https://phabricator.kde.org/D4193 +--- + src/platformtheme/kdeplatformfiledialoghelper.cpp | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/src/platformtheme/kdeplatformfiledialoghelper.cpp b/src/platformtheme/kdeplatformfiledialoghelper.cpp +index 1a2b1b5..d4ea0cd 100644 +--- a/src/platformtheme/kdeplatformfiledialoghelper.cpp ++++ b/src/platformtheme/kdeplatformfiledialoghelper.cpp +@@ -409,11 +409,6 @@ QUrl KDEPlatformFileDialogHelper::directory() const + void KDEPlatformFileDialogHelper::selectFile(const QUrl &filename) + { + m_dialog->selectFile(filename); +- +- // Qt 5 at least <= 5.8.0 does not derive the directory from the passed url +- // and set the initialDirectory option accordingly, also not for known schemes +- // like file://, so we have to do it ourselves +- options()->setInitialDirectory(m_dialog->directory()); + } + + void KDEPlatformFileDialogHelper::setDirectory(const QUrl &directory) +-- +cgit v0.11.2 + diff --git a/kde-plasma/plasma-integration/plasma-integration-5.12.49.9999.ebuild b/kde-plasma/plasma-integration/plasma-integration-5.12.49.9999.ebuild index f508a4b391..ecf070fa24 100644 --- a/kde-plasma/plasma-integration/plasma-integration-5.12.49.9999.ebuild +++ b/kde-plasma/plasma-integration/plasma-integration-5.12.49.9999.ebuild @@ -41,3 +41,5 @@ RDEPEND="${DEPEND} # requires running kde environment RESTRICT+=" test" + +PATCHES=( "${FILESDIR}/${PN}-5.12.4-remote-dir-selection.patch" )