summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorJan-Marek Glogowski <glogow@fbihome.de>2018-09-17 11:00:58 +0200
committerJan-Marek Glogowski <glogow@fbihome.de>2018-09-17 14:26:43 +0200
commit60a23d5d5f0963cd9bea7711ff4336418e3d6392 (patch)
tree310c4e27de48886046101a223231c9c396c80f97 /vcl
parent9fb1bd0365c469d33ddecda9602258a523f80885 (diff)
Qt5 just implement a non-native file picker
Since there is no way to retrieve the embedded native file dialog from the Qt5 platfor abstraction, force the dialog in non-native mode. This drops the 2nd option dialog completely. While at it implement handling of the optional combo boxes in the dialog. Change-Id: I8d11e929a5f3b142dc0f5653fcc576231a1b0392 Reviewed-on: https://gerrit.libreoffice.org/60569 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/inc/qt5/Qt5FilePicker.hxx23
-rw-r--r--vcl/qt5/Qt5FilePicker.cxx319
2 files changed, 177 insertions, 165 deletions
diff --git a/vcl/inc/qt5/Qt5FilePicker.hxx b/vcl/inc/qt5/Qt5FilePicker.hxx
index e1cb95344987..1564e2db1d0f 100644
--- a/vcl/inc/qt5/Qt5FilePicker.hxx
+++ b/vcl/inc/qt5/Qt5FilePicker.hxx
@@ -55,15 +55,16 @@ class Qt5FilePicker : public QObject, public Qt5FilePicker_Base
protected:
css::uno::Reference<css::ui::dialogs::XFilePickerListener> m_xListener;
- QFileDialog* m_pFileDialog; ///< the non-extendable file picker dialog
+ std::unique_ptr<QFileDialog> m_pFileDialog; ///< the non-native file picker dialog
osl::Mutex m_aHelperMutex; ///< mutex used by the WeakComponentImplHelper
- QStringList m_aNamedFilterList; ///< named filter list for the QFileDialog
- QStringList m_aFilterTitleList; ///< the original filter titles
- QString m_aCurrentFilterTitle; ///< the current filter title
+ QStringList m_aNamedFilterList; ///< to keep the original sequence
+ QHash<QString, QString> m_aTitleToFilterMap;
+ QString m_aCurrentFilter;
- QDialog* m_pOptionsDialog; ///< an extra options dialog window
+ QWidget* m_pExtraControls; ///< widget to contain extra custom controls
+ QGridLayout* m_pLayout; ///< layout for extra custom controls
QLabel* m_pFilenameLabel; ///< label to display the filename
QLabel* m_pFilterLabel; ///< label to display the filter
QHash<sal_Int16, QWidget*> m_aCustomWidgetsMap; ///< map of SAL control ID's to widget
@@ -246,27 +247,19 @@ Q_SIGNALS:
// XInitialization
void initializeSignal(const css::uno::Sequence<css::uno::Any>& rArguments);
- // Destructor proxy
- void cleanupProxySignal();
-
private:
Qt5FilePicker(const Qt5FilePicker&) = delete;
Qt5FilePicker& operator=(const Qt5FilePicker&) = delete;
- // add a custom control widget to the options dialog
- void addCustomControl(QGridLayout* pLayout, sal_Int16 controlId);
+ void addCustomControl(sal_Int16 controlId);
static QString getResString(const char* pRedId);
private Q_SLOTS:
- void cleanupProxy();
-
// emit XFilePickerListener controlStateChanged event
void filterSelected(const QString&);
// emit XFilePickerListener fileSelectionChanged event
- // void urlSelected(const QUrl &);
-
- void selectionChanged();
+ void currentChanged(const QString&);
};
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/qt5/Qt5FilePicker.cxx b/vcl/qt5/Qt5FilePicker.cxx
index 94a36990f15a..2895bc34bc1c 100644
--- a/vcl/qt5/Qt5FilePicker.cxx
+++ b/vcl/qt5/Qt5FilePicker.cxx
@@ -78,14 +78,14 @@ uno::Sequence<OUString> FilePicker_getSupportedServiceNames()
Qt5FilePicker::Qt5FilePicker(QFileDialog::FileMode eMode)
: Qt5FilePicker_Base(m_aHelperMutex)
+ , m_pFileDialog(new QFileDialog())
{
- m_pFileDialog = new QFileDialog();
- m_pOptionsDialog = new QDialog();
-
+ m_pFileDialog->setOption(QFileDialog::DontUseNativeDialog);
m_pFileDialog->setFileMode(eMode);
- // m_pFileDialog->setWindowModality( Qt::WindowModal );
m_pFileDialog->setWindowModality(Qt::ApplicationModal);
- m_pOptionsDialog->setWindowModality(Qt::WindowModal);
+
+ m_pExtraControls = new QWidget();
+ m_pLayout = dynamic_cast<QGridLayout*>(m_pFileDialog->layout());
setMultiSelectionMode(false);
@@ -145,27 +145,14 @@ Qt5FilePicker::Qt5FilePicker(QFileDialog::FileMode eMode)
SLOT(initializeSlot(const css::uno::Sequence<css::uno::Any>&)),
Qt::BlockingQueuedConnection);
- // Destructor proxy
- connect(this, SIGNAL(cleanupProxySignal()), this, SLOT(cleanupProxy()),
- Qt::BlockingQueuedConnection);
-
// XFilePickerListener notifications
- connect(m_pFileDialog, SIGNAL(filterSelected(const QString&)), this,
+ connect(m_pFileDialog.get(), SIGNAL(filterSelected(const QString&)), this,
SLOT(filterSelected(const QString&)));
- connect(m_pFileDialog, SIGNAL(selectionChanged()), this, SLOT(selectionChanged()));
+ connect(m_pFileDialog.get(), SIGNAL(currentChanged(const QString&)), this,
+ SLOT(currentChanged(const QString&)));
}
-Qt5FilePicker::~Qt5FilePicker() { cleanupProxy(); }
-
-void Qt5FilePicker::cleanupProxy()
-{
- if (qApp->thread() != QThread::currentThread())
- {
- SolarMutexReleaser aReleaser;
- return Q_EMIT cleanupProxySignal();
- }
- delete m_pOptionsDialog;
-}
+Qt5FilePicker::~Qt5FilePicker() {}
void SAL_CALL
Qt5FilePicker::addFilePickerListener(const uno::Reference<XFilePickerListener>& xListener)
@@ -188,7 +175,7 @@ void SAL_CALL Qt5FilePicker::setTitle(const OUString& title)
return Q_EMIT setTitleSignal(title);
}
- m_pOptionsDialog->setWindowTitle(toQString(title));
+ m_pFileDialog->setWindowTitle(toQString(title));
}
sal_Int16 SAL_CALL Qt5FilePicker::execute()
@@ -214,52 +201,21 @@ sal_Int16 SAL_CALL Qt5FilePicker::execute()
}
}
- m_pFileDialog->setNameFilters(m_aNamedFilterList);
- if (!m_aCurrentFilterTitle.isNull())
- {
- int i = 0;
- for (; i < m_aFilterTitleList.size(); ++i)
- if (m_aCurrentFilterTitle == m_aFilterTitleList[i])
- {
- m_pFileDialog->selectNameFilter(m_aNamedFilterList[i]);
- break;
- }
- assert(i < m_aFilterTitleList.size());
- }
+ if (!m_aNamedFilterList.isEmpty())
+ m_pFileDialog->setNameFilters(m_aNamedFilterList);
+ if (!m_aCurrentFilter.isEmpty())
+ m_pFileDialog->selectNameFilter(m_aCurrentFilter);
if (pTransientParent)
{
m_pFileDialog->show();
m_pFileDialog->window()->windowHandle()->setTransientParent(pTransientWindow);
m_pFileDialog->setFocusProxy(pTransientParent);
- // pTransientParent->setMouseTracking( false );
- }
- int result = m_pFileDialog->exec();
- if (pTransientParent)
- // pTransientParent->setMouseTracking( true );
- if (QFileDialog::Rejected == result)
- return ExecutableDialogResults::CANCEL;
-
- if (!m_aCustomWidgetsMap.empty())
- {
- m_pFilenameLabel->setText(m_pFileDialog->selectedUrls()[0].url());
- QString filter = m_pFileDialog->selectedNameFilter();
- int pos = filter.indexOf(" (");
- if (pos >= 0)
- filter.truncate(pos);
- m_pFilterLabel->setText(filter);
-
- if (pTransientParent)
- {
- m_pOptionsDialog->show();
- m_pOptionsDialog->window()->windowHandle()->setTransientParent(pTransientWindow);
- m_pOptionsDialog->setFocusProxy(pTransientParent);
- }
- result = m_pOptionsDialog->exec();
- if (QFileDialog::Rejected == result)
- return ExecutableDialogResults::CANCEL;
}
+ int result = m_pFileDialog->exec();
+ if (QFileDialog::Rejected == result)
+ return ExecutableDialogResults::CANCEL;
return ExecutableDialogResults::OK;
}
@@ -343,16 +299,16 @@ void SAL_CALL Qt5FilePicker::appendFilter(const OUString& title, const OUString&
return Q_EMIT appendFilterSignal(title, filter);
}
- QString t = toQString(title);
- QString f = toQString(filter);
-
- // '/' need to be escaped else they are assumed to be mime types by kfiledialog
- //see the docs
- t.replace("/", "\\/");
+ // '/' need to be escaped else they are assumed to be mime types
+ QString t = toQString(title).replace("/", "\\/");
- int pos = t.indexOf(" (");
+ QString n = t;
+ // strip duplicated type
+ int pos = n.indexOf(" (");
if (pos >= 0)
- t.truncate(pos);
+ n.truncate(pos);
+
+ QString f = toQString(filter);
// openoffice gives us filters separated by ';' qt dialogs just want space separated
f.replace(";", " ");
@@ -360,8 +316,8 @@ void SAL_CALL Qt5FilePicker::appendFilter(const OUString& title, const OUString&
// make sure "*.*" is not used as "all files"
f.replace("*.*", "*");
- m_aFilterTitleList.append(toQString(title));
- m_aNamedFilterList.append(QString("%1 (%2)").arg(t).arg(f));
+ m_aNamedFilterList << QStringLiteral("%1 (%2)").arg(n, f);
+ m_aTitleToFilterMap[t] = m_aNamedFilterList.constLast();
}
void SAL_CALL Qt5FilePicker::setCurrentFilter(const OUString& title)
@@ -372,7 +328,7 @@ void SAL_CALL Qt5FilePicker::setCurrentFilter(const OUString& title)
return Q_EMIT setCurrentFilterSignal(title);
}
- m_aCurrentFilterTitle = toQString(title);
+ m_aCurrentFilter = m_aTitleToFilterMap.value(toQString(title).replace("/", "\\/"));
}
OUString SAL_CALL Qt5FilePicker::getCurrentFilter()
@@ -383,13 +339,10 @@ OUString SAL_CALL Qt5FilePicker::getCurrentFilter()
return Q_EMIT getCurrentFilterSignal();
}
- QString filter = m_pFileDialog->selectedNameFilter();
- for (int i = 0; i < m_aNamedFilterList.size(); ++i)
- if (filter == m_aNamedFilterList[i])
- return toOUString(m_aFilterTitleList[i]);
- SAL_WARN("vcl.qt5", m_aNamedFilterList.size() << " Unknown filter: " << toOUString(filter));
- assert(!"Selected filter not in filter list?! ");
- return OUString("");
+ QString filter = m_aTitleToFilterMap.key(m_pFileDialog->selectedNameFilter());
+ if (filter.isEmpty())
+ filter = "ODF Text Document (.odt)";
+ return toOUString(filter);
}
void SAL_CALL Qt5FilePicker::appendFilterGroup(const OUString& rGroupTitle,
@@ -409,6 +362,81 @@ void SAL_CALL Qt5FilePicker::appendFilterGroup(const OUString& rGroupTitle,
}
}
+static uno::Any HandleGetListValue(QComboBox* pWidget, sal_Int16 nControlAction)
+{
+ uno::Any aAny;
+ switch (nControlAction)
+ {
+ case ControlActions::GET_ITEMS:
+ {
+ Sequence<OUString> aItemList(pWidget->count());
+ for (sal_Int32 i = 0; i < pWidget->count(); ++i)
+ aItemList[i] = toOUString(pWidget->itemText(i));
+ aAny <<= aItemList;
+ break;
+ }
+ case ControlActions::GET_SELECTED_ITEM:
+ {
+ if (!pWidget->currentText().isEmpty())
+ aAny <<= toOUString(pWidget->currentText());
+ break;
+ }
+ case ControlActions::GET_SELECTED_ITEM_INDEX:
+ {
+ if (pWidget->currentIndex() >= 0)
+ aAny <<= static_cast<sal_Int32>(pWidget->currentIndex());
+ break;
+ }
+ default:
+ SAL_WARN("vcl.qt5",
+ "undocumented/unimplemented ControlAction for a list " << nControlAction);
+ break;
+ }
+ return aAny;
+}
+
+static void HandleSetListValue(QComboBox* pWidget, sal_Int16 nControlAction, const uno::Any& rValue)
+{
+ switch (nControlAction)
+ {
+ case ControlActions::ADD_ITEM:
+ {
+ OUString sItem;
+ rValue >>= sItem;
+ pWidget->addItem(toQString(sItem));
+ break;
+ }
+ case ControlActions::ADD_ITEMS:
+ {
+ Sequence<OUString> aStringList;
+ rValue >>= aStringList;
+ for (auto const& sItem : aStringList)
+ pWidget->addItem(toQString(sItem));
+ break;
+ }
+ case ControlActions::DELETE_ITEM:
+ {
+ sal_Int32 nPos = 0;
+ rValue >>= nPos;
+ pWidget->removeItem(nPos);
+ break;
+ }
+ case ControlActions::SET_SELECT_ITEM:
+ {
+ sal_Int32 nPos = 0;
+ rValue >>= nPos;
+ pWidget->setCurrentIndex(nPos);
+ break;
+ }
+ default:
+ SAL_WARN("vcl.qt5",
+ "undocumented/unimplemented ControlAction for a list " << nControlAction);
+ break;
+ }
+
+ pWidget->setEnabled(pWidget->count() > 0);
+}
+
void SAL_CALL Qt5FilePicker::setValue(sal_Int16 controlId, sal_Int16 nControlAction,
const uno::Any& value)
{
@@ -420,24 +448,23 @@ void SAL_CALL Qt5FilePicker::setValue(sal_Int16 controlId, sal_Int16 nControlAct
if (m_aCustomWidgetsMap.contains(controlId))
{
- QCheckBox* cb = dynamic_cast<QCheckBox*>(m_aCustomWidgetsMap.value(controlId));
+ QWidget* widget = m_aCustomWidgetsMap.value(controlId);
+ QCheckBox* cb = dynamic_cast<QCheckBox*>(widget);
if (cb)
cb->setChecked(value.get<bool>());
+ else
+ {
+ QComboBox* combo = dynamic_cast<QComboBox*>(widget);
+ if (combo)
+ HandleSetListValue(combo, nControlAction, value);
+ }
}
else
- SAL_WARN("vcl", "set label on unknown control " << controlId);
+ SAL_WARN("vcl.qt5", "set value on unknown control " << controlId);
}
uno::Any SAL_CALL Qt5FilePicker::getValue(sal_Int16 controlId, sal_Int16 nControlAction)
{
- if (CHECKBOX_AUTOEXTENSION == controlId)
- // We ignore this one and rely on QFileDialog to provide the function.
- // Always return false, to pretend we do not support this, otherwise
- // LO core would try to be smart and cut the extension in some places,
- // interfering with QFileDialog's handling of it. QFileDialog also
- // saves the value of the setting, so LO core is not needed for that either.
- return uno::Any(false);
-
if (qApp->thread() != QThread::currentThread())
{
SolarMutexReleaser aReleaser;
@@ -447,12 +474,19 @@ uno::Any SAL_CALL Qt5FilePicker::getValue(sal_Int16 controlId, sal_Int16 nContro
uno::Any res(false);
if (m_aCustomWidgetsMap.contains(controlId))
{
- QCheckBox* cb = dynamic_cast<QCheckBox*>(m_aCustomWidgetsMap.value(controlId));
+ QWidget* widget = m_aCustomWidgetsMap.value(controlId);
+ QCheckBox* cb = dynamic_cast<QCheckBox*>(widget);
if (cb)
res <<= cb->isChecked();
+ else
+ {
+ QComboBox* combo = dynamic_cast<QComboBox*>(widget);
+ if (combo)
+ res = HandleGetListValue(combo, nControlAction);
+ }
}
else
- SAL_WARN("vcl", "get value on unknown control " << controlId);
+ SAL_WARN("vcl.qt5", "get value on unknown control " << controlId);
return res;
}
@@ -468,7 +502,7 @@ void SAL_CALL Qt5FilePicker::enableControl(sal_Int16 controlId, sal_Bool enable)
if (m_aCustomWidgetsMap.contains(controlId))
m_aCustomWidgetsMap.value(controlId)->setEnabled(enable);
else
- SAL_WARN("vcl", "enable unknown control " << controlId);
+ SAL_WARN("vcl.qt5", "enable unknown control " << controlId);
}
void SAL_CALL Qt5FilePicker::setLabel(sal_Int16 controlId, const OUString& label)
@@ -486,7 +520,7 @@ void SAL_CALL Qt5FilePicker::setLabel(sal_Int16 controlId, const OUString& label
cb->setText(toQString(label));
}
else
- SAL_WARN("vcl", "set label on unknown control " << controlId);
+ SAL_WARN("vcl.qt5", "set label on unknown control " << controlId);
}
OUString SAL_CALL Qt5FilePicker::getLabel(sal_Int16 controlId)
@@ -505,7 +539,7 @@ OUString SAL_CALL Qt5FilePicker::getLabel(sal_Int16 controlId)
label = cb->text();
}
else
- SAL_WARN("vcl", "get label on unknown control " << controlId);
+ SAL_WARN("vcl.qt5", "get label on unknown control " << controlId);
return toOUString(label);
}
@@ -522,10 +556,10 @@ QString Qt5FilePicker::getResString(const char* pResId)
return aResString.replace('~', '&');
}
-void Qt5FilePicker::addCustomControl(QGridLayout* pLayout, sal_Int16 controlId)
+void Qt5FilePicker::addCustomControl(sal_Int16 controlId)
{
QWidget* widget = nullptr;
- QWidget* label = nullptr;
+ QLabel* label = nullptr;
const char* resId = nullptr;
switch (controlId)
@@ -551,6 +585,9 @@ void Qt5FilePicker::addCustomControl(QGridLayout* pLayout, sal_Int16 controlId)
case CHECKBOX_SELECTION:
resId = STR_FPICKER_SELECTION;
break;
+ case CHECKBOX_GPGENCRYPTION:
+ resId = STR_FPICKER_GPGENCRYPT;
+ break;
case PUSHBUTTON_PLAY:
resId = STR_FPICKER_PLAY;
break;
@@ -579,7 +616,8 @@ void Qt5FilePicker::addCustomControl(QGridLayout* pLayout, sal_Int16 controlId)
case CHECKBOX_LINK:
case CHECKBOX_PREVIEW:
case CHECKBOX_SELECTION:
- widget = new QCheckBox(getResString(resId), m_pOptionsDialog);
+ case CHECKBOX_GPGENCRYPTION:
+ widget = new QCheckBox(getResString(resId), m_pExtraControls);
break;
case PUSHBUTTON_PLAY:
break;
@@ -587,8 +625,9 @@ void Qt5FilePicker::addCustomControl(QGridLayout* pLayout, sal_Int16 controlId)
case LISTBOX_TEMPLATE:
case LISTBOX_IMAGE_TEMPLATE:
case LISTBOX_FILTER_SELECTOR:
- label = new QLabel(getResString(resId), m_pOptionsDialog);
- widget = new QComboBox(m_pOptionsDialog);
+ label = new QLabel(getResString(resId), m_pExtraControls);
+ widget = new QComboBox(m_pExtraControls);
+ label->setBuddy(widget);
break;
case LISTBOX_VERSION_LABEL:
case LISTBOX_TEMPLATE_LABEL:
@@ -598,10 +637,10 @@ void Qt5FilePicker::addCustomControl(QGridLayout* pLayout, sal_Int16 controlId)
if (widget)
{
- const int row = pLayout->rowCount();
+ const int row = m_pLayout->rowCount();
if (label)
- pLayout->addWidget(label, row, 0);
- pLayout->addWidget(widget, row, 1);
+ m_pLayout->addWidget(label, row, 0);
+ m_pLayout->addWidget(widget, row, 1);
m_aCustomWidgetsMap.insert(controlId, widget);
}
}
@@ -615,8 +654,8 @@ void SAL_CALL Qt5FilePicker::initialize(const uno::Sequence<uno::Any>& args)
}
m_aNamedFilterList.clear();
- m_aFilterTitleList.clear();
- m_aCurrentFilterTitle.clear();
+ m_aTitleToFilterMap.clear();
+ m_aCurrentFilter.clear();
// parameter checking
uno::Any arg;
@@ -634,15 +673,6 @@ void SAL_CALL Qt5FilePicker::initialize(const uno::Sequence<uno::Any>& args)
static_cast<XFilePicker2*>(this), 1);
}
- QGridLayout* pLayout = new QGridLayout();
- m_pOptionsDialog->setLayout(pLayout);
- pLayout->addWidget(new QLabel("Filename:"), 0, 0);
- m_pFilenameLabel = new QLabel();
- pLayout->addWidget(m_pFilenameLabel, 0, 1);
- pLayout->addWidget(new QLabel("Type:"), 1, 0);
- m_pFilterLabel = new QLabel();
- pLayout->addWidget(m_pFilterLabel, 1, 1);
-
sal_Int16 templateId = -1;
arg >>= templateId;
@@ -658,61 +688,63 @@ void SAL_CALL Qt5FilePicker::initialize(const uno::Sequence<uno::Any>& args)
case FILESAVE_AUTOEXTENSION:
acceptMode = QFileDialog::AcceptSave;
- addCustomControl(pLayout, CHECKBOX_AUTOEXTENSION);
+ addCustomControl(CHECKBOX_AUTOEXTENSION);
break;
case FILESAVE_AUTOEXTENSION_PASSWORD:
acceptMode = QFileDialog::AcceptSave;
- addCustomControl(pLayout, CHECKBOX_AUTOEXTENSION);
- addCustomControl(pLayout, CHECKBOX_PASSWORD);
+ addCustomControl(CHECKBOX_AUTOEXTENSION);
+ addCustomControl(CHECKBOX_PASSWORD);
+ addCustomControl(CHECKBOX_GPGENCRYPTION);
break;
case FILESAVE_AUTOEXTENSION_PASSWORD_FILTEROPTIONS:
acceptMode = QFileDialog::AcceptSave;
- addCustomControl(pLayout, CHECKBOX_AUTOEXTENSION);
- addCustomControl(pLayout, CHECKBOX_PASSWORD);
- addCustomControl(pLayout, CHECKBOX_FILTEROPTIONS);
+ addCustomControl(CHECKBOX_AUTOEXTENSION);
+ addCustomControl(CHECKBOX_PASSWORD);
+ addCustomControl(CHECKBOX_GPGENCRYPTION);
+ addCustomControl(CHECKBOX_FILTEROPTIONS);
break;
case FILESAVE_AUTOEXTENSION_SELECTION:
acceptMode = QFileDialog::AcceptSave;
- addCustomControl(pLayout, CHECKBOX_AUTOEXTENSION);
- addCustomControl(pLayout, CHECKBOX_SELECTION);
+ addCustomControl(CHECKBOX_AUTOEXTENSION);
+ addCustomControl(CHECKBOX_SELECTION);
break;
case FILESAVE_AUTOEXTENSION_TEMPLATE:
acceptMode = QFileDialog::AcceptSave;
- addCustomControl(pLayout, CHECKBOX_AUTOEXTENSION);
- addCustomControl(pLayout, LISTBOX_TEMPLATE);
+ addCustomControl(CHECKBOX_AUTOEXTENSION);
+ addCustomControl(LISTBOX_TEMPLATE);
break;
case FILEOPEN_LINK_PREVIEW_IMAGE_TEMPLATE:
- addCustomControl(pLayout, CHECKBOX_LINK);
- addCustomControl(pLayout, CHECKBOX_PREVIEW);
- addCustomControl(pLayout, LISTBOX_IMAGE_TEMPLATE);
+ addCustomControl(CHECKBOX_LINK);
+ addCustomControl(CHECKBOX_PREVIEW);
+ addCustomControl(LISTBOX_IMAGE_TEMPLATE);
break;
case FILEOPEN_PLAY:
- addCustomControl(pLayout, PUSHBUTTON_PLAY);
+ addCustomControl(PUSHBUTTON_PLAY);
break;
case FILEOPEN_LINK_PLAY:
- addCustomControl(pLayout, CHECKBOX_LINK);
- addCustomControl(pLayout, PUSHBUTTON_PLAY);
+ addCustomControl(CHECKBOX_LINK);
+ addCustomControl(PUSHBUTTON_PLAY);
break;
case FILEOPEN_READONLY_VERSION:
- addCustomControl(pLayout, CHECKBOX_READONLY);
- addCustomControl(pLayout, LISTBOX_VERSION);
+ addCustomControl(CHECKBOX_READONLY);
+ addCustomControl(LISTBOX_VERSION);
break;
case FILEOPEN_LINK_PREVIEW:
- addCustomControl(pLayout, CHECKBOX_LINK);
- addCustomControl(pLayout, CHECKBOX_PREVIEW);
+ addCustomControl(CHECKBOX_LINK);
+ addCustomControl(CHECKBOX_PREVIEW);
break;
case FILEOPEN_PREVIEW:
- addCustomControl(pLayout, CHECKBOX_PREVIEW);
+ addCustomControl(CHECKBOX_PREVIEW);
break;
default:
@@ -720,19 +752,6 @@ void SAL_CALL Qt5FilePicker::initialize(const uno::Sequence<uno::Any>& args)
static_cast<XFilePicker2*>(this), 1);
}
- if (!m_aCustomWidgetsMap.empty())
- {
- QHBoxLayout* pHBoxLayout = new QHBoxLayout();
- pLayout->addLayout(pHBoxLayout, pLayout->rowCount(), 0, 1, 2);
- pHBoxLayout->addStretch();
- QPushButton* pButton = new QPushButton("Ok");
- connect(pButton, SIGNAL(clicked()), m_pOptionsDialog, SLOT(accept()));
- pHBoxLayout->addWidget(pButton);
- pButton = new QPushButton("Cancel");
- connect(pButton, SIGNAL(clicked()), m_pOptionsDialog, SLOT(reject()));
- pHBoxLayout->addWidget(pButton);
- }
-
const char* resId = nullptr;
switch (acceptMode)
{
@@ -780,15 +799,15 @@ void Qt5FilePicker::filterSelected(const QString&)
{
FilePickerEvent aEvent;
aEvent.ElementId = LISTBOX_FILTER;
- SAL_INFO("vcl", "filter changed");
+ SAL_INFO("vcl.qt5", "filter changed");
if (m_xListener.is())
m_xListener->controlStateChanged(aEvent);
}
-void Qt5FilePicker::selectionChanged()
+void Qt5FilePicker::currentChanged(const QString&)
{
FilePickerEvent aEvent;
- SAL_INFO("vcl", "file selection changed");
+ SAL_INFO("vcl.qt5", "file selection changed");
if (m_xListener.is())
m_xListener->fileSelectionChanged(aEvent);
}