Kaydet (Commit) dc763f5c authored tarafından Katarina Behrens's avatar Katarina Behrens Kaydeden (comit) Thorsten Behrens

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: 's avatarThorsten Behrens <Thorsten.Behrens@CIB.de>
üst be75c098
......@@ -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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment