summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorKatarina Behrens <Katarina.Behrens@cib.de>2018-06-13 13:51:46 +0200
committerKatarina Behrens <Katarina.Behrens@cib.de>2018-06-18 15:28:00 +0200
commit29e5096f9979dcc258e063232255591963146417 (patch)
tree9d47ce8d41e23ea1cbc78de6248edd6e3bee70c2 /vcl
parent024f054e2d0473c3ae4e3679948396adba0c9037 (diff)
Add 2 more file/dir methods, signal+slot
Change-Id: I0152e4e0fa72e27a144ca96f83fe6a282b272cbe
Diffstat (limited to 'vcl')
-rw-r--r--vcl/unx/kde5/KDE5FilePicker.cxx6
-rw-r--r--vcl/unx/kde5/KDE5FilePicker.hxx4
-rw-r--r--vcl/unx/kde5/KDE5FilePicker2.cxx23
3 files changed, 26 insertions, 7 deletions
diff --git a/vcl/unx/kde5/KDE5FilePicker.cxx b/vcl/unx/kde5/KDE5FilePicker.cxx
index 5d87022e36fb..231e045f4ef5 100644
--- a/vcl/unx/kde5/KDE5FilePicker.cxx
+++ b/vcl/unx/kde5/KDE5FilePicker.cxx
@@ -46,11 +46,7 @@ KDE5FilePicker::~KDE5FilePicker()
delete _dialog;
}
-/*void KDE5FilePicker::setDefaultName(const QString& name) { _dialog->selectUrl(QUrl(name)); }
-
-QString KDE5FilePicker::getDisplayDirectory() const { return _dialog->directoryUrl().url(); }
-
-bool KDE5FilePicker::getValue(sal_Int16 controlId, sal_Int16 nControlAction) const
+/*bool KDE5FilePicker::getValue(sal_Int16 controlId, sal_Int16 nControlAction) const
{
bool ret = false;
if (_customWidgets.contains(controlId))
diff --git a/vcl/unx/kde5/KDE5FilePicker.hxx b/vcl/unx/kde5/KDE5FilePicker.hxx
index f1bbcf7545df..8fbc24f73a63 100644
--- a/vcl/unx/kde5/KDE5FilePicker.hxx
+++ b/vcl/unx/kde5/KDE5FilePicker.hxx
@@ -173,7 +173,9 @@ protected:
Q_SIGNALS:
void setTitleSignal(const OUString& rTitle);
+ void setDefaultNameSignal(const OUString& rName);
void setDisplayDirectorySignal(const OUString& rDir);
+ OUString getDisplayDirectorySignal();
void setValueSignal(sal_Int16 nControlId, sal_Int16 nControlAction,
const css::uno::Any& rValue);
void appendFilterSignal(const OUString& rTitle, const OUString& rFilter);
@@ -186,7 +188,9 @@ Q_SIGNALS:
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(); }
void setValueSlot(sal_Int16 nControlId, sal_Int16 nControlAction, const css::uno::Any& rValue)
{
return setValue(nControlAction, nControlAction, rValue);
diff --git a/vcl/unx/kde5/KDE5FilePicker2.cxx b/vcl/unx/kde5/KDE5FilePicker2.cxx
index fd0fedd7c7ac..87119f9e6bc9 100644
--- a/vcl/unx/kde5/KDE5FilePicker2.cxx
+++ b/vcl/unx/kde5/KDE5FilePicker2.cxx
@@ -102,9 +102,13 @@ KDE5FilePicker::KDE5FilePicker(QFileDialog::FileMode eMode)
connect(_dialog, &QFileDialog::fileSelected, this, &KDE5FilePicker::selectionChanged);
connect(this, &KDE5FilePicker::setTitleSignal /*(const OUString&)*/, this,
&KDE5FilePicker::setTitleSlot /*(const OUString&)*/, Qt::BlockingQueuedConnection);
+ connect(this, &KDE5FilePicker::setDefaultNameSignal, this, &KDE5FilePicker::setDefaultNameSlot,
+ Qt::BlockingQueuedConnection);
connect(this, &KDE5FilePicker::setDisplayDirectorySignal /*(const OUString&)*/, this,
&KDE5FilePicker::setDisplayDirectorySlot /*(const OUString&)*/,
Qt::BlockingQueuedConnection);
+ connect(this, &KDE5FilePicker::getDisplayDirectorySignal, this,
+ &KDE5FilePicker::getDisplayDirectorySlot, Qt::BlockingQueuedConnection);
connect(this, &KDE5FilePicker::setMultiSelectionSignal, this,
&KDE5FilePicker::setMultiSelectionSlot, Qt::BlockingQueuedConnection);
connect(this, &KDE5FilePicker::setValueSignal, this, &KDE5FilePicker::setValueSlot,
@@ -170,7 +174,16 @@ void SAL_CALL KDE5FilePicker::setMultiSelectionMode(sal_Bool multiSelect)
_dialog->setFileMode(multiSelect ? QFileDialog::ExistingFiles : QFileDialog::ExistingFile);
}
-void SAL_CALL KDE5FilePicker::setDefaultName(const OUString& name) {}
+void SAL_CALL KDE5FilePicker::setDefaultName(const OUString& name)
+{
+ if (qApp->thread() != QThread::currentThread())
+ {
+ SolarMutexReleaser aReleaser;
+ return Q_EMIT setDefaultNameSignal(name);
+ }
+
+ _dialog->selectUrl(QUrl(toQString(name)));
+}
void SAL_CALL KDE5FilePicker::setDisplayDirectory(const OUString& dir)
{
@@ -185,7 +198,13 @@ void SAL_CALL KDE5FilePicker::setDisplayDirectory(const OUString& dir)
OUString SAL_CALL KDE5FilePicker::getDisplayDirectory()
{
- OUString dir;
+ if (qApp->thread() != QThread::currentThread())
+ {
+ SolarMutexReleaser aReleaser;
+ return Q_EMIT getDisplayDirectorySignal();
+ }
+
+ OUString dir = toOUString(_dialog->directoryUrl().url());
return dir;
}