vcl/unx/kde5/KDE5FilePicker.hxx | 5 ++++- vcl/unx/kde5/KDE5FilePicker2.cxx | 20 +++++++++++++++++--- 2 files changed, 21 insertions(+), 4 deletions(-)
New commits: commit bb883e06a3d4808d6d338f02c0bc4d8604c47e6d Author: Katarina Behrens <katarina.behr...@cib.de> Date: Wed Jun 20 11:51:35 2018 +0200 Implement getDirectory, signal+slot also factor some shared code out into separate func Change-Id: I49d25eeb4eb647b72dae78c42301091d198eeff4 diff --git a/vcl/unx/kde5/KDE5FilePicker.hxx b/vcl/unx/kde5/KDE5FilePicker.hxx index 6f175cc375cf..d1a300be014c 100644 --- a/vcl/unx/kde5/KDE5FilePicker.hxx +++ b/vcl/unx/kde5/KDE5FilePicker.hxx @@ -157,6 +157,7 @@ public: private: //add a custom control widget to the file dialog void addCustomControl(sal_Int16 controlId); + OUString implGetDirectory(); // emit XFilePickerListener controlStateChanged event void filterChanged(); @@ -171,6 +172,7 @@ Q_SIGNALS: void setDefaultNameSignal(const OUString& rName); void setDisplayDirectorySignal(const OUString& rDir); OUString getDisplayDirectorySignal(); + OUString getDirectorySignal(); void setValueSignal(sal_Int16 nControlId, sal_Int16 nControlAction, const css::uno::Any& rValue); css::uno::Any getValueSignal(sal_Int16 nControlId, sal_Int16 nControlAction); @@ -189,7 +191,8 @@ private Q_SLOTS: void setTitleSlot(const OUString& rTitle) { return setTitle(rTitle); } void setDefaultNameSlot(const OUString& rName) { return setDefaultName(rName); } void setDisplayDirectorySlot(const OUString& rDir) { return setDisplayDirectory(rDir); } - OUString getDisplayDirectorySlot() { return getDisplayDirectory(); } + OUString getDisplayDirectorySlot() { return implGetDirectory(); } + OUString getDirectorySlot() { return implGetDirectory(); } void setValueSlot(sal_Int16 nControlId, sal_Int16 nControlAction, const css::uno::Any& rValue) { return setValue(nControlId, nControlAction, rValue); diff --git a/vcl/unx/kde5/KDE5FilePicker2.cxx b/vcl/unx/kde5/KDE5FilePicker2.cxx index 56734b4d36e9..1bc9fa82f69f 100644 --- a/vcl/unx/kde5/KDE5FilePicker2.cxx +++ b/vcl/unx/kde5/KDE5FilePicker2.cxx @@ -227,8 +227,7 @@ OUString SAL_CALL KDE5FilePicker::getDisplayDirectory() return Q_EMIT getDisplayDirectorySignal(); } - OUString dir = toOUString(_dialog->directoryUrl().url()); - return dir; + return implGetDirectory(); } uno::Sequence<OUString> SAL_CALL KDE5FilePicker::getFiles() @@ -432,7 +431,16 @@ OUString SAL_CALL KDE5FilePicker::getLabel(sal_Int16 controlId) return label; } -OUString SAL_CALL KDE5FilePicker::getDirectory() { return OUString(); } +OUString SAL_CALL KDE5FilePicker::getDirectory() +{ + if (qApp->thread() != QThread::currentThread()) + { + SolarMutexReleaser aReleaser; + return Q_EMIT getDirectorySignal(); + } + + return implGetDirectory(); +} void SAL_CALL KDE5FilePicker::setDescription(const OUString&) {} @@ -530,6 +538,12 @@ void KDE5FilePicker::addCustomControl(sal_Int16 controlId) } } +OUString KDE5FilePicker::implGetDirectory() +{ + OUString dir = toOUString(_dialog->directoryUrl().url()); + return dir; +} + void SAL_CALL KDE5FilePicker::initialize(const uno::Sequence<uno::Any>& args) { // parameter checking _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits