vcl/unx/gtk3_kde5/kde5_filepicker.cxx |   11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

New commits:
commit 8f4af22c7afc2f4b62ea974f07aea1b6abac45f0
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Wed Apr 24 11:31:06 2019 +0200
Commit:     Katarina Behrens <katarina.behr...@cib.de>
CommitDate: Fri Apr 26 10:25:10 2019 +0200

    gtk3_kde5: Make folder selection more intuitive
    
    When 'QFileDialog::Directory' is set, the native
    Plasma QFileDialog does not consider the clicked
    directory to be selected, but rather the base directory
    shown in the dialog, s.
    https://bugs.kde.org/show_bug.cgi?id=406464 .
    
    Therefore don't set the option when in a KDE Plasma desktop
    environment (which the kde5 VCL plugin also doesn't do).
    
    This works around the above issue in the Plasma desktop
    integration.
    
    Change-Id: Ib3d0978ab56b6e50ee45f7ad997ec051b35faf54
    Reviewed-on: https://gerrit.libreoffice.org/71223
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>
    (cherry picked from commit 9fc0dbcd797f074ddb8ba379c876dd233cb5836e)
    Reviewed-on: https://gerrit.libreoffice.org/71274
    Reviewed-by: Katarina Behrens <katarina.behr...@cib.de>

diff --git a/vcl/unx/gtk3_kde5/kde5_filepicker.cxx 
b/vcl/unx/gtk3_kde5/kde5_filepicker.cxx
index 991486903c62..d31d6f0aa9ec 100644
--- a/vcl/unx/gtk3_kde5/kde5_filepicker.cxx
+++ b/vcl/unx/gtk3_kde5/kde5_filepicker.cxx
@@ -65,7 +65,16 @@ KDE5FilePicker::KDE5FilePicker(QObject* parent)
 void KDE5FilePicker::enableFolderMode()
 {
     _dialog->setOption(QFileDialog::ShowDirsOnly, true);
-    _dialog->setFileMode(QFileDialog::Directory);
+    // Workaround for https://bugs.kde.org/show_bug.cgi?id=406464 :
+    // Don't set file mode to QFileDialog::Directory when native KDE Plasma 5
+    // file dialog is used, since clicking on directory "bar" inside directory 
"foo"
+    // and then confirming would return "foo" rather than "foo/bar";
+    // on the other hand, non-native file dialog needs 'QFileDialog::Directory'
+    // and doesn't allow folder selection otherwise
+    if (Application::GetDesktopEnvironment() != "KDE5")
+    {
+        _dialog->setFileMode(QFileDialog::Directory);
+    }
 }
 
 KDE5FilePicker::~KDE5FilePicker()
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to