[Libreoffice-commits] core.git: vcl/unx

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Wed Jan 23 00:31:40 UTC 2019


 vcl/unx/kde5/KDE5FilePicker2.cxx |   32 +++++++++++++++++++++-----------
 1 file changed, 21 insertions(+), 11 deletions(-)

New commits:
commit dc763f5c4a0a0a3503dbaad729a0f3cde7ccb6cd
Author:     Katarina Behrens <Katarina.Behrens at cib.de>
AuthorDate: Tue Jan 22 13:43:06 2019 +0100
Commit:     Thorsten Behrens <Thorsten.Behrens at CIB.de>
CommitDate: Wed Jan 23 01:31:19 2019 +0100

    tdf#121129: more custom listboxes in kde5 fpicker
    
    the following additional fpicker templates are now fully supported:
    FILEOPEN_LINK_PREVIEW_IMAGE_TEMPLATE
    FILESAVE_AUTOEXTENSION_TEMPLATE
    FILEOPEN_LINK_PREVIEW_IMAGE_ANCHOR
    FILEOPEN_READONLY_VERSION
    
    Listboxes now also have valid mnemonic labels
    
    Change-Id: Ib7f9dd234bf2cbd0eadc1a7675ef51abcea3c532
    Reviewed-on: https://gerrit.libreoffice.org/66736
    Tested-by: Jenkins
    Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>

diff --git a/vcl/unx/kde5/KDE5FilePicker2.cxx b/vcl/unx/kde5/KDE5FilePicker2.cxx
index 67f0f56401ca..15725d9e075c 100644
--- a/vcl/unx/kde5/KDE5FilePicker2.cxx
+++ b/vcl/unx/kde5/KDE5FilePicker2.cxx
@@ -47,6 +47,7 @@
 #include <QtWidgets/QComboBox>
 #include <QtWidgets/QFileDialog>
 #include <QtWidgets/QGridLayout>
+#include <QtWidgets/QLabel>
 #include <QtWidgets/QWidget>
 #include <QtWidgets/QApplication>
 #include <KFileWidget>
@@ -435,7 +436,7 @@ void SAL_CALL KDE5FilePicker::enableControl(sal_Int16 controlId, sal_Bool enable
     if (_customWidgets.contains(controlId))
         _customWidgets.value(controlId)->setEnabled(enable);
     else
-        SAL_WARN("vcl.kde5", "enable on unknown control" << controlId);
+        SAL_WARN("vcl.kde5", "enable on unknown control " << controlId);
 }
 
 void SAL_CALL KDE5FilePicker::setLabel(sal_Int16 controlId, const OUString& label)
@@ -453,7 +454,7 @@ void SAL_CALL KDE5FilePicker::setLabel(sal_Int16 controlId, const OUString& labe
             cb->setText(toQString(label));
     }
     else
-        SAL_WARN("vcl.kde5", "set label on unknown control" << controlId);
+        SAL_WARN("vcl.kde5", "set label on unknown control " << controlId);
 }
 
 OUString SAL_CALL KDE5FilePicker::getLabel(sal_Int16 controlId)
@@ -472,7 +473,7 @@ OUString SAL_CALL KDE5FilePicker::getLabel(sal_Int16 controlId)
             label = toOUString(cb->text());
     }
     else
-        SAL_WARN("vcl.kde5", "get label on unknown control" << controlId);
+        SAL_WARN("vcl.kde5", "get label on unknown control " << controlId);
 
     return label;
 }
@@ -544,6 +545,9 @@ void KDE5FilePicker::addCustomControl(sal_Int16 controlId)
             break;
     }
 
+    auto resString = toQString(VclResId(resId));
+    resString.replace('~', '&');
+
     switch (controlId)
     {
         case CHECKBOX_AUTOEXTENSION:
@@ -558,8 +562,6 @@ void KDE5FilePicker::addCustomControl(sal_Int16 controlId)
             // the checkbox is created even for CHECKBOX_AUTOEXTENSION to simplify
             // code, but the checkbox is hidden and ignored
             bool hidden = controlId == CHECKBOX_AUTOEXTENSION;
-            auto resString = toQString(VclResId(resId));
-            resString.replace('~', '&');
 
             auto widget = new QCheckBox(resString, _extraControls);
             widget->setHidden(hidden);
@@ -572,9 +574,6 @@ void KDE5FilePicker::addCustomControl(sal_Int16 controlId)
             break;
         }
         case PUSHBUTTON_PLAY:
-        case LISTBOX_VERSION:
-        case LISTBOX_TEMPLATE:
-        case LISTBOX_IMAGE_ANCHOR:
         case LISTBOX_VERSION_LABEL:
         case LISTBOX_TEMPLATE_LABEL:
         case LISTBOX_IMAGE_TEMPLATE_LABEL:
@@ -582,11 +581,22 @@ void KDE5FilePicker::addCustomControl(sal_Int16 controlId)
         case LISTBOX_FILTER_SELECTOR:
             break;
 
+        case LISTBOX_IMAGE_ANCHOR:
         case LISTBOX_IMAGE_TEMPLATE:
+        case LISTBOX_TEMPLATE:
+        case LISTBOX_VERSION:
+        {
             auto widget = new QComboBox(_extraControls);
-            _layout->addWidget(widget);
+            QLabel* label = new QLabel(resString);
+            label->setBuddy(widget);
+
+            QHBoxLayout* hBox = new QHBoxLayout;
+            hBox->addWidget(label);
+            hBox->addWidget(widget);
+            _layout->addLayout(hBox, _layout->rowCount(), 0, Qt::AlignLeft);
             _customListboxes.insert(controlId, widget);
             break;
+        }
     }
 }
 
@@ -621,7 +631,7 @@ void KDE5FilePicker::handleSetListValue(QComboBox* pQComboBox, sal_Int16 nAction
         }
         break;
         default:
-            //FIXME: insert warning here
+            SAL_WARN("vcl.kde5", "unknown action on list control " << nAction);
             break;
     }
 }
@@ -655,7 +665,7 @@ uno::Any KDE5FilePicker::handleGetListValue(QComboBox* pQComboBox, sal_Int16 nAc
         }
         break;
         default:
-            //FIXME: insert warning here
+            SAL_WARN("vcl.kde5", "unknown action on list control " << nAction);
             break;
     }
     return aAny;


More information about the Libreoffice-commits mailing list