Kaydet (Commit) 3be6a74d authored tarafından Michael Weghorn's avatar Michael Weghorn Kaydeden (comit) Katarina Behrens

kde5 fpicker: Reuse 'initialize()' from base class

Take over missing case from 'KDE5FilePicker::initialize' to
'Qt5FilePicker::initialize' and make
'Qt5FilePicker::addCustomControl' virtual, so that the
subclass's implementation is called in the 'initialize()'
method (in particular to avoid adding another autoextension
checkbox).

Drop the 'KDE5FilePicker::initialize' so that the
base class implementation is used, which now does the
same thing.

Add 'override' keyword in KDE5Filepicker.hxx.

Change-Id: Id151a4d4862af4275f6c21c6537a79c52e3ed513
Reviewed-on: https://gerrit.libreoffice.org/68059
Tested-by: Jenkins
Reviewed-by: 's avatarKatarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit 77d5795f)
Reviewed-on: https://gerrit.libreoffice.org/72656
üst 54ca7549
...@@ -155,7 +155,7 @@ protected: ...@@ -155,7 +155,7 @@ protected:
static css::uno::Any handleGetListValue(QComboBox* pWidget, sal_Int16 nControlAction); static css::uno::Any handleGetListValue(QComboBox* pWidget, sal_Int16 nControlAction);
static void handleSetListValue(QComboBox* pQComboBox, sal_Int16 nAction, static void handleSetListValue(QComboBox* pQComboBox, sal_Int16 nAction,
const css::uno::Any& rValue); const css::uno::Any& rValue);
void addCustomControl(sal_Int16 controlId); virtual void addCustomControl(sal_Int16 controlId);
void setCustomControlWidgetLayout(QGridLayout* pLayout) { m_pLayout = pLayout; } void setCustomControlWidgetLayout(QGridLayout* pLayout) { m_pLayout = pLayout; }
private Q_SLOTS: private Q_SLOTS:
......
...@@ -763,6 +763,12 @@ void SAL_CALL Qt5FilePicker::initialize(const uno::Sequence<uno::Any>& args) ...@@ -763,6 +763,12 @@ void SAL_CALL Qt5FilePicker::initialize(const uno::Sequence<uno::Any>& args)
addCustomControl(LISTBOX_IMAGE_TEMPLATE); addCustomControl(LISTBOX_IMAGE_TEMPLATE);
break; break;
case FILEOPEN_LINK_PREVIEW_IMAGE_ANCHOR:
addCustomControl(CHECKBOX_LINK);
addCustomControl(CHECKBOX_PREVIEW);
addCustomControl(LISTBOX_IMAGE_ANCHOR);
break;
case FILEOPEN_PLAY: case FILEOPEN_PLAY:
addCustomControl(PUSHBUTTON_PLAY); addCustomControl(PUSHBUTTON_PLAY);
break; break;
......
...@@ -81,9 +81,6 @@ public: ...@@ -81,9 +81,6 @@ public:
virtual sal_Bool SAL_CALL getShowState( ); virtual sal_Bool SAL_CALL getShowState( );
*/ */
// XInitialization
virtual void SAL_CALL initialize(const css::uno::Sequence<css::uno::Any>& rArguments) override;
// XServiceInfo // XServiceInfo
virtual OUString SAL_CALL getImplementationName() override; virtual OUString SAL_CALL getImplementationName() override;
virtual sal_Bool SAL_CALL supportsService(const OUString& rServiceName) override; virtual sal_Bool SAL_CALL supportsService(const OUString& rServiceName) override;
...@@ -91,7 +88,7 @@ public: ...@@ -91,7 +88,7 @@ public:
private: private:
//add a custom control widget to the file dialog //add a custom control widget to the file dialog
void addCustomControl(sal_Int16 controlId); void addCustomControl(sal_Int16 controlId) override;
protected: protected:
bool eventFilter(QObject* watched, QEvent* event) override; bool eventFilter(QObject* watched, QEvent* event) override;
......
...@@ -198,126 +198,6 @@ void KDE5FilePicker::addCustomControl(sal_Int16 controlId) ...@@ -198,126 +198,6 @@ void KDE5FilePicker::addCustomControl(sal_Int16 controlId)
Qt5FilePicker::addCustomControl(controlId); Qt5FilePicker::addCustomControl(controlId);
} }
// XInitialization
void SAL_CALL KDE5FilePicker::initialize(const uno::Sequence<uno::Any>& args)
{
// parameter checking
uno::Any arg;
if (args.getLength() == 0)
{
throw lang::IllegalArgumentException("no arguments", static_cast<XFilePicker2*>(this), 1);
}
arg = args[0];
if ((arg.getValueType() != cppu::UnoType<sal_Int16>::get())
&& (arg.getValueType() != cppu::UnoType<sal_Int8>::get()))
{
throw lang::IllegalArgumentException("invalid argument type",
static_cast<XFilePicker2*>(this), 1);
}
sal_Int16 templateId = -1;
arg >>= templateId;
bool saveDialog = false;
switch (templateId)
{
case FILEOPEN_SIMPLE:
break;
case FILESAVE_SIMPLE:
saveDialog = true;
break;
case FILESAVE_AUTOEXTENSION:
saveDialog = true;
addCustomControl(CHECKBOX_AUTOEXTENSION);
break;
case FILESAVE_AUTOEXTENSION_PASSWORD:
{
saveDialog = true;
addCustomControl(CHECKBOX_PASSWORD);
addCustomControl(CHECKBOX_GPGENCRYPTION);
break;
}
case FILESAVE_AUTOEXTENSION_PASSWORD_FILTEROPTIONS:
{
saveDialog = true;
addCustomControl(CHECKBOX_AUTOEXTENSION);
addCustomControl(CHECKBOX_PASSWORD);
addCustomControl(CHECKBOX_GPGENCRYPTION);
addCustomControl(CHECKBOX_FILTEROPTIONS);
break;
}
case FILESAVE_AUTOEXTENSION_SELECTION:
saveDialog = true;
addCustomControl(CHECKBOX_AUTOEXTENSION);
addCustomControl(CHECKBOX_SELECTION);
break;
case FILESAVE_AUTOEXTENSION_TEMPLATE:
saveDialog = true;
addCustomControl(CHECKBOX_AUTOEXTENSION);
addCustomControl(LISTBOX_TEMPLATE);
break;
case FILEOPEN_LINK_PREVIEW_IMAGE_TEMPLATE:
addCustomControl(CHECKBOX_LINK);
addCustomControl(CHECKBOX_PREVIEW);
addCustomControl(LISTBOX_IMAGE_TEMPLATE);
break;
case FILEOPEN_LINK_PREVIEW_IMAGE_ANCHOR:
addCustomControl(CHECKBOX_LINK);
addCustomControl(CHECKBOX_PREVIEW);
addCustomControl(LISTBOX_IMAGE_ANCHOR);
break;
case FILEOPEN_PLAY:
addCustomControl(PUSHBUTTON_PLAY);
break;
case FILEOPEN_LINK_PLAY:
addCustomControl(CHECKBOX_LINK);
addCustomControl(PUSHBUTTON_PLAY);
break;
case FILEOPEN_READONLY_VERSION:
addCustomControl(CHECKBOX_READONLY);
addCustomControl(LISTBOX_VERSION);
break;
case FILEOPEN_LINK_PREVIEW:
addCustomControl(CHECKBOX_LINK);
addCustomControl(CHECKBOX_PREVIEW);
break;
case FILEOPEN_PREVIEW:
addCustomControl(CHECKBOX_PREVIEW);
break;
default:
OSL_TRACE("Unknown templates %d", templateId);
return;
}
//default is opening
QFileDialog::AcceptMode operationMode
= saveDialog ? QFileDialog::AcceptSave : QFileDialog::AcceptOpen;
m_pFileDialog->setAcceptMode(operationMode);
if (saveDialog)
{
m_pFileDialog->setConfirmOverwrite(true);
m_pFileDialog->setFileMode(QFileDialog::AnyFile);
}
setTitle(VclResId(saveDialog ? STR_FPICKER_SAVE : STR_FPICKER_OPEN));
}
// XServiceInfo // XServiceInfo
OUString SAL_CALL KDE5FilePicker::getImplementationName() OUString SAL_CALL KDE5FilePicker::getImplementationName()
{ {
......
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