diff options
author | Katarina Behrens <Katarina.Behrens@cib.de> | 2018-06-14 17:08:17 +0200 |
---|---|---|
committer | Katarina Behrens <Katarina.Behrens@cib.de> | 2018-06-18 15:28:00 +0200 |
commit | c9e002799b4aae662265c723853342035e9dced0 (patch) | |
tree | ea158669dba44ea8e01e94f9ac3232c14e52d5ac /vcl | |
parent | 6b052ccff871cac50a63119fe324930ace86f190 (diff) |
Implement get|setLabel, signal+slot
Change-Id: I0188f7609b7a934949ffdf0a6e64547b08ff03a8
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/unx/kde5/KDE5FilePicker.cxx | 27 | ||||
-rw-r--r-- | vcl/unx/kde5/KDE5FilePicker.hxx | 9 | ||||
-rw-r--r-- | vcl/unx/kde5/KDE5FilePicker2.cxx | 37 |
3 files changed, 45 insertions, 28 deletions
diff --git a/vcl/unx/kde5/KDE5FilePicker.cxx b/vcl/unx/kde5/KDE5FilePicker.cxx index 95eb6a5c3ba7..7a30359ef580 100644 --- a/vcl/unx/kde5/KDE5FilePicker.cxx +++ b/vcl/unx/kde5/KDE5FilePicker.cxx @@ -46,33 +46,6 @@ KDE5FilePicker::~KDE5FilePicker() delete _dialog; } -/*void KDE5FilePicker::setLabel(sal_Int16 controlId, const QString& label) -{ - if (_customWidgets.contains(controlId)) - { - QCheckBox* cb = dynamic_cast<QCheckBox*>(_customWidgets.value(controlId)); - if (cb) - cb->setText(label); - } - else - qWarning() << "set label on unknown control" << controlId; -} - -QString KDE5FilePicker::getLabel(sal_Int16 controlId) const -{ - QString label; - if (_customWidgets.contains(controlId)) - { - QCheckBox* cb = dynamic_cast<QCheckBox*>(_customWidgets.value(controlId)); - if (cb) - label = cb->text(); - } - else - qWarning() << "get label on unknown control" << controlId; - - return label; -}*/ - void KDE5FilePicker::setWinId(sal_uIntPtr winId) { _winId = winId; } bool KDE5FilePicker::eventFilter(QObject* o, QEvent* e) diff --git a/vcl/unx/kde5/KDE5FilePicker.hxx b/vcl/unx/kde5/KDE5FilePicker.hxx index fd0ed95da27a..3a6f2e9b94c4 100644 --- a/vcl/unx/kde5/KDE5FilePicker.hxx +++ b/vcl/unx/kde5/KDE5FilePicker.hxx @@ -180,6 +180,8 @@ Q_SIGNALS: const css::uno::Any& rValue); css::uno::Any getValueSignal(sal_Int16 nControlId, sal_Int16 nControlAction); void enableControlSignal(sal_Int16 nControlId, sal_Bool bEnable); + void setLabelSignal(sal_Int16 nControlId, const OUString& rLabel); + OUString getLabelSignal(sal_Int16 nControlId); void appendFilterSignal(const OUString& rTitle, const OUString& rFilter); void appendFilterGroupSignal(const OUString& rTitle, const css::uno::Sequence<css::beans::StringPair>& rFilters); @@ -208,6 +210,13 @@ private Q_SLOTS: return enableControl(nControlId, bEnable); } + void setLabelSlot(sal_Int16 nControId, const OUString& rLabel) + { + return setLabel(nControId, rLabel); + } + + OUString getLabelSlot(sal_Int16 nControlId) { return getLabel(nControlId); } + void appendFilterSlot(const OUString& rTitle, const OUString& rFilter) { return appendFilter(rTitle, rFilter); diff --git a/vcl/unx/kde5/KDE5FilePicker2.cxx b/vcl/unx/kde5/KDE5FilePicker2.cxx index ad229c880001..72519f656bec 100644 --- a/vcl/unx/kde5/KDE5FilePicker2.cxx +++ b/vcl/unx/kde5/KDE5FilePicker2.cxx @@ -115,6 +115,10 @@ KDE5FilePicker::KDE5FilePicker(QFileDialog::FileMode eMode) Qt::BlockingQueuedConnection); connect(this, &KDE5FilePicker::getValueSignal, this, &KDE5FilePicker::getValueSlot, Qt::BlockingQueuedConnection); + connect(this, &KDE5FilePicker::setLabelSignal, this, &KDE5FilePicker::setLabelSlot, + Qt::BlockingQueuedConnection); + connect(this, &KDE5FilePicker::getLabelSignal, this, &KDE5FilePicker::getLabelSlot, + Qt::BlockingQueuedConnection); connect(this, &KDE5FilePicker::enableControlSignal, this, &KDE5FilePicker::enableControlSlot, Qt::BlockingQueuedConnection); connect(this, &KDE5FilePicker::appendFilterSignal, this, &KDE5FilePicker::appendFilterSlot, @@ -374,11 +378,42 @@ void SAL_CALL KDE5FilePicker::enableControl(sal_Int16 controlId, sal_Bool enable SAL_WARN("vcl.kde5", "enable on unknown control" << controlId); } -void SAL_CALL KDE5FilePicker::setLabel(sal_Int16 controlId, const OUString& label) {} +void SAL_CALL KDE5FilePicker::setLabel(sal_Int16 controlId, const OUString& label) +{ + if (qApp->thread() != QThread::currentThread()) + { + SolarMutexReleaser aReleaser; + return Q_EMIT setLabelSignal(controlId, label); + } + + if (_customWidgets.contains(controlId)) + { + QCheckBox* cb = dynamic_cast<QCheckBox*>(_customWidgets.value(controlId)); + if (cb) + cb->setText(toQString(label)); + } + else + SAL_WARN("vcl.kde5", "set label on unknown control" << controlId); +} OUString SAL_CALL KDE5FilePicker::getLabel(sal_Int16 controlId) { + if (qApp->thread() != QThread::currentThread()) + { + SolarMutexReleaser aReleaser; + return Q_EMIT getLabelSignal(controlId); + } + OUString label; + if (_customWidgets.contains(controlId)) + { + QCheckBox* cb = dynamic_cast<QCheckBox*>(_customWidgets.value(controlId)); + if (cb) + label = toOUString(cb->text()); + } + else + SAL_WARN("vcl.kde5", "get label on unknown control" << controlId); + return label; } |