[Libreoffice-commits] core.git: Branch 'private/michaelweghorn/qt5_kde5_fpicker_deduplication' - vcl/inc vcl/qt5 vcl/unx
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Wed Feb 6 15:30:24 UTC 2019
vcl/inc/qt5/Qt5FilePicker.hxx | 6 +++
vcl/qt5/Qt5FilePicker.cxx | 9 ++--
vcl/unx/kde5/KDE5FilePicker.hxx | 3 -
vcl/unx/kde5/KDE5FilePicker2.cxx | 75 +--------------------------------------
4 files changed, 13 insertions(+), 80 deletions(-)
New commits:
commit 48f88c983a5d7908b8a208ad5447ea8cf5231e13
Author: Michael Weghorn <m.weghorn at posteo.de>
AuthorDate: Wed Feb 6 16:23:00 2019 +0100
Commit: Michael Weghorn <m.weghorn at posteo.de>
CommitDate: Wed Feb 6 16:23:00 2019 +0100
kde5 fpicker: Reuse existing handle{G,S}etListValue
Turn existing functions in Qt5FilePicker into protected
static class methods and reuse them in KDE5FilePicker.
The qt5 implementation covers everything that kde5 had,
and a little more (e.g. covers case 'ControlActions::DELETE_ITEM'
in 'handleSetListValue' as well).
Change-Id: I9673b20e3313c0628a76f0d94e018327f4af8523
diff --git a/vcl/inc/qt5/Qt5FilePicker.hxx b/vcl/inc/qt5/Qt5FilePicker.hxx
index 74fb25f57e20..4a546da46b53 100644
--- a/vcl/inc/qt5/Qt5FilePicker.hxx
+++ b/vcl/inc/qt5/Qt5FilePicker.hxx
@@ -43,6 +43,7 @@
#include <memory>
+class QComboBox;
class QGridLayout;
class QLabel;
class QWidget;
@@ -147,6 +148,11 @@ public:
virtual OUString SAL_CALL getDirectory() override;
virtual void SAL_CALL setDescription(const OUString& rDescription) override;
+protected:
+ static css::uno::Any handleGetListValue(QComboBox* pWidget, sal_Int16 nControlAction);
+ static void handleSetListValue(QComboBox* pQComboBox, sal_Int16 nAction,
+ const css::uno::Any& rValue);
+
private Q_SLOTS:
// XExecutableDialog functions
/// @throws css::uno::RuntimeException
diff --git a/vcl/qt5/Qt5FilePicker.cxx b/vcl/qt5/Qt5FilePicker.cxx
index 6390f0d1474e..9a0d6e820783 100644
--- a/vcl/qt5/Qt5FilePicker.cxx
+++ b/vcl/qt5/Qt5FilePicker.cxx
@@ -384,7 +384,7 @@ void SAL_CALL Qt5FilePicker::appendFilterGroup(const OUString& rGroupTitle,
}
}
-static uno::Any HandleGetListValue(QComboBox* pWidget, sal_Int16 nControlAction)
+uno::Any Qt5FilePicker::handleGetListValue(QComboBox* pWidget, sal_Int16 nControlAction)
{
uno::Any aAny;
switch (nControlAction)
@@ -417,7 +417,8 @@ static uno::Any HandleGetListValue(QComboBox* pWidget, sal_Int16 nControlAction)
return aAny;
}
-static void HandleSetListValue(QComboBox* pWidget, sal_Int16 nControlAction, const uno::Any& rValue)
+void Qt5FilePicker::handleSetListValue(QComboBox* pWidget, sal_Int16 nControlAction,
+ const uno::Any& rValue)
{
switch (nControlAction)
{
@@ -478,7 +479,7 @@ void SAL_CALL Qt5FilePicker::setValue(sal_Int16 controlId, sal_Int16 nControlAct
{
QComboBox* combo = dynamic_cast<QComboBox*>(widget);
if (combo)
- HandleSetListValue(combo, nControlAction, value);
+ handleSetListValue(combo, nControlAction, value);
}
}
else
@@ -504,7 +505,7 @@ uno::Any SAL_CALL Qt5FilePicker::getValue(sal_Int16 controlId, sal_Int16 nContro
{
QComboBox* combo = dynamic_cast<QComboBox*>(widget);
if (combo)
- res = HandleGetListValue(combo, nControlAction);
+ res = handleGetListValue(combo, nControlAction);
}
}
else
diff --git a/vcl/unx/kde5/KDE5FilePicker.hxx b/vcl/unx/kde5/KDE5FilePicker.hxx
index d5271577704e..3d3a428cd5a0 100644
--- a/vcl/unx/kde5/KDE5FilePicker.hxx
+++ b/vcl/unx/kde5/KDE5FilePicker.hxx
@@ -100,9 +100,6 @@ public:
private:
//add a custom control widget to the file dialog
void addCustomControl(sal_Int16 controlId);
- static void handleSetListValue(QComboBox* pQComboBox, sal_Int16 nAction,
- const css::uno::Any& rValue);
- static css::uno::Any handleGetListValue(QComboBox* pQComboBox, sal_Int16 nAction);
protected:
bool eventFilter(QObject* watched, QEvent* event) override;
diff --git a/vcl/unx/kde5/KDE5FilePicker2.cxx b/vcl/unx/kde5/KDE5FilePicker2.cxx
index 491437bf1922..582bff27e494 100644
--- a/vcl/unx/kde5/KDE5FilePicker2.cxx
+++ b/vcl/unx/kde5/KDE5FilePicker2.cxx
@@ -162,7 +162,7 @@ void SAL_CALL KDE5FilePicker::setValue(sal_Int16 controlId, sal_Int16 nControlAc
{
QComboBox* cb = dynamic_cast<QComboBox*>(_customListboxes.value(controlId));
if (cb)
- handleSetListValue(cb, nControlAction, value);
+ Qt5FilePicker::handleSetListValue(cb, nControlAction, value);
}
else
SAL_WARN("vcl.kde5", "set value on unknown control " << controlId);
@@ -195,7 +195,7 @@ uno::Any SAL_CALL KDE5FilePicker::getValue(sal_Int16 controlId, sal_Int16 nContr
{
QComboBox* cb = dynamic_cast<QComboBox*>(_customListboxes.value(controlId));
if (cb)
- return handleGetListValue(cb, nControlAction);
+ return Qt5FilePicker::handleGetListValue(cb, nControlAction);
}
else
SAL_WARN("vcl.kde5", "get value on unknown control" << controlId);
@@ -364,77 +364,6 @@ void KDE5FilePicker::addCustomControl(sal_Int16 controlId)
}
}
-void KDE5FilePicker::handleSetListValue(QComboBox* pQComboBox, sal_Int16 nAction,
- const css::uno::Any& rValue)
-{
- switch (nAction)
- {
- case ControlActions::ADD_ITEM:
- {
- OUString sItem;
- rValue >>= sItem;
- pQComboBox->addItem(toQString(sItem));
- }
- break;
- case ControlActions::ADD_ITEMS:
- {
- Sequence<OUString> aStringList;
- rValue >>= aStringList;
- sal_Int32 nItemCount = aStringList.getLength();
- for (sal_Int32 i = 0; i < nItemCount; ++i)
- {
- pQComboBox->addItem(toQString(aStringList[i]));
- }
- }
- break;
- case ControlActions::SET_SELECT_ITEM:
- {
- sal_Int32 nPos = 0;
- rValue >>= nPos;
- pQComboBox->setCurrentIndex(nPos);
- }
- break;
- default:
- SAL_WARN("vcl.kde5", "unknown action on list control " << nAction);
- break;
- }
-}
-
-uno::Any KDE5FilePicker::handleGetListValue(QComboBox* pQComboBox, sal_Int16 nAction)
-{
- uno::Any aAny;
- switch (nAction)
- {
- case ControlActions::GET_ITEMS:
- {
- uno::Sequence<OUString> aItemList;
-
- for (int i = 0; i < pQComboBox->count(); ++i)
- {
- aItemList[i] = toOUString(pQComboBox->itemText(i));
- }
- aAny <<= aItemList;
- }
- break;
- case ControlActions::GET_SELECTED_ITEM:
- {
- OUString sItem = toOUString(pQComboBox->currentText());
- aAny <<= sItem;
- }
- break;
- case ControlActions::GET_SELECTED_ITEM_INDEX:
- {
- int nCurrent = pQComboBox->currentIndex();
- aAny <<= nCurrent;
- }
- break;
- default:
- SAL_WARN("vcl.kde5", "unknown action on list control " << nAction);
- break;
- }
- return aAny;
-}
-
// XInitialization
void SAL_CALL KDE5FilePicker::initialize(const uno::Sequence<uno::Any>& args)
{
More information about the Libreoffice-commits
mailing list