cui/Library_cui.mk | 1 cui/UIConfig_cui.mk | 1 cui/inc/widgettestdlg.hxx | 30 ++ cui/source/dialogs/widgettestdlg.cxx | 36 ++ cui/source/factory/dlgfact.cxx | 9 cui/source/factory/dlgfact.hxx | 6 cui/uiconfig/ui/widgettestdialog.ui | 496 +++++++++++++++++++++++++++++++++++ include/sfx2/sfxdlg.hxx | 2 include/sfx2/sfxsids.hrc | 1 sfx2/sdi/appslots.sdi | 4 sfx2/sdi/sfx.sdi | 17 + sfx2/source/appl/appserv.cxx | 11 vcl/jsdialog/enabled.cxx | 3 13 files changed, 616 insertions(+), 1 deletion(-)
New commits: commit 7f44d4b0efa23affc71b5dc77ac2fd78cc76e87e Author: rash419 <rashesh.pa...@collabora.com> AuthorDate: Wed Apr 13 16:20:36 2022 +0530 Commit: Szymon Kłos <szymon.k...@collabora.com> CommitDate: Fri Apr 15 12:23:49 2022 +0200 jsdialogs: added WidgetTestDialog to test different vcl widgets in online side Signed-off-by: rash419 <rashesh.pa...@collabora.com> Change-Id: I27cbb72b4ccd486b58934503b1d3d5d7ff47cbfe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132865 Reviewed-by: Szymon Kłos <szymon.k...@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> diff --git a/cui/Library_cui.mk b/cui/Library_cui.mk index fb3546b4e9ad..88e75ee1faef 100644 --- a/cui/Library_cui.mk +++ b/cui/Library_cui.mk @@ -231,6 +231,7 @@ $(eval $(call gb_Library_add_exception_objects,cui,\ cui/source/tabpages/tptrans \ cui/source/tabpages/transfrm \ cui/source/util/FontFeatures \ + cui/source/dialogs/widgettestdlg \ )) # vim: set noet sw=4 ts=4: diff --git a/cui/UIConfig_cui.mk b/cui/UIConfig_cui.mk index daa8a1e3d55d..c70cbd94588c 100644 --- a/cui/UIConfig_cui.mk +++ b/cui/UIConfig_cui.mk @@ -220,6 +220,7 @@ $(eval $(call gb_UIConfig_add_uifiles,cui,\ cui/uiconfig/ui/wordcompletionpage \ cui/uiconfig/ui/spinbox \ cui/uiconfig/ui/zoomdialog \ + cui/uiconfig/ui/widgettestdialog \ )) # vim: set noet sw=4 ts=4: diff --git a/cui/inc/widgettestdlg.hxx b/cui/inc/widgettestdlg.hxx new file mode 100644 index 000000000000..15a480d7119d --- /dev/null +++ b/cui/inc/widgettestdlg.hxx @@ -0,0 +1,30 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* +* This file is part of the LibreOffice project. +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +*/ + +#pragma once + +#include "tools/link.hxx" +#include <vcl/weld.hxx> +#include <vcl/weldutils.hxx> + +class WidgetTestDialog final : public weld::GenericDialogController +{ +private: + std::unique_ptr<weld::Button> m_xOKButton; + std::unique_ptr<weld::Button> m_xCancelButton; + + DECL_LINK(OkHdl, weld::Button&, void); + DECL_LINK(CancelHdl, weld::Button&, void); + +public: + WidgetTestDialog(weld::Window *pParent); + ~WidgetTestDialog(); +}; + + diff --git a/cui/source/dialogs/widgettestdlg.cxx b/cui/source/dialogs/widgettestdlg.cxx new file mode 100644 index 000000000000..891d3f542438 --- /dev/null +++ b/cui/source/dialogs/widgettestdlg.cxx @@ -0,0 +1,36 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* +* This file is part of the LibreOffice project. +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +*/ + +#include <widgettestdlg.hxx> + +WidgetTestDialog::WidgetTestDialog(weld::Window *pParent) + : GenericDialogController(pParent, "cui/ui/widgettestdialog.ui", "WidgetTestDialog") +{ + m_xOKButton = m_xBuilder->weld_button("ok_btn"); + m_xCancelButton = m_xBuilder->weld_button("cancel_btn"); + + m_xOKButton->connect_clicked(LINK(this, WidgetTestDialog, OkHdl)); + m_xCancelButton->connect_clicked(LINK(this, WidgetTestDialog, CancelHdl)); +} + +WidgetTestDialog::~WidgetTestDialog() +{ +} + +IMPL_LINK_NOARG(WidgetTestDialog, OkHdl, weld::Button&, void) +{ + m_xDialog->response(RET_OK); +} + +IMPL_LINK_NOARG(WidgetTestDialog, CancelHdl, weld::Button&, void) +{ + m_xDialog->response(RET_CANCEL); +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx index bd3130fd0fc7..4496b8e8799d 100644 --- a/cui/source/factory/dlgfact.cxx +++ b/cui/source/factory/dlgfact.cxx @@ -88,6 +88,7 @@ #include <hyphen.hxx> #include <thesdlg.hxx> #include <tipofthedaydlg.hxx> +#include <widgettestdlg.hxx> #include <toolbarmodedlg.hxx> #include <DiagramDialog.hxx> #include <fileextcheckdlg.hxx> @@ -142,6 +143,7 @@ IMPL_ABSTDLG_CLASS_ASYNC(CuiAbstractControllerAsync,weld::DialogController) IMPL_ABSTDLG_CLASS_ASYNC(CuiAbstractTabController,SfxTabDialogController) IMPL_ABSTDLG_CLASS(CuiAbstractController) IMPL_ABSTDLG_CLASS(CuiAbstractSingleTabController) +IMPL_ABSTDLG_CLASS_ASYNC(CuiAbstractWidgetTestControllerAsync,weld::GenericDialogController) const SfxItemSet* AbstractSvxCharacterMapDialog_Impl::GetOutputItemSet() const { @@ -1488,6 +1490,13 @@ AbstractDialogFactory_Impl::CreateTipOfTheDayDialog(weld::Window* pParent) std::make_shared<TipOfTheDayDialog>(pParent)); } +VclPtr<VclAbstractDialog> +AbstractDialogFactory_Impl::CreateWidgetTestDialog(weld::Window* pParent) +{ + return VclPtr<CuiAbstractWidgetTestControllerAsync_Impl>::Create( + std::make_shared<WidgetTestDialog>(pParent)); +} + VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateToolbarmodeDialog(weld::Window* pParent) { diff --git a/cui/source/factory/dlgfact.hxx b/cui/source/factory/dlgfact.hxx index 5a07bf8e95fb..874d117c37b5 100644 --- a/cui/source/factory/dlgfact.hxx +++ b/cui/source/factory/dlgfact.hxx @@ -109,6 +109,10 @@ DECL_ABSTDLG_CLASS_UNIQUE(CuiAbstractController, VclAbstractDialog, weld::Dialog DECL_ABSTDLG_CLASS_SHARED_ASYNC(CuiAbstractControllerAsync, VclAbstractDialog, weld::DialogController) }; +// CuiAbstractWidgetTestControllerAsync_Impl +DECL_ABSTDLG_CLASS_SHARED_ASYNC(CuiAbstractWidgetTestControllerAsync, VclAbstractDialog, weld::GenericDialogController) +}; + // CuiAbstractSingleTabController_Impl DECL_ABSTDLG_CLASS_UNIQUE(CuiAbstractSingleTabController, SfxAbstractDialog, SfxSingleTabDialogController) virtual const SfxItemSet* GetOutputItemSet() const override; @@ -604,6 +608,8 @@ public: virtual VclPtr<VclAbstractDialog> CreateTipOfTheDayDialog(weld::Window* pParent) override; + virtual VclPtr<VclAbstractDialog> CreateWidgetTestDialog(weld::Window* pParent) override; + virtual VclPtr<VclAbstractDialog> CreateToolbarmodeDialog(weld::Window* pParent) override; virtual VclPtr<AbstractDiagramDialog> CreateDiagramDialog( diff --git a/cui/uiconfig/ui/widgettestdialog.ui b/cui/uiconfig/ui/widgettestdialog.ui new file mode 100644 index 000000000000..ce8e52879fec --- /dev/null +++ b/cui/uiconfig/ui/widgettestdialog.ui @@ -0,0 +1,496 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.38.2 --> +<interface domain="cui"> + <requires lib="gtk+" version="3.20"/> + <object class="GtkDialog" id="WidgetTestDialog"> + <property name="can-focus">False</property> + <property name="type-hint">dialog</property> + <child internal-child="vbox"> + <object class="GtkBox"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="orientation">vertical</property> + <property name="spacing">5</property> + <child internal-child="action_area"> + <object class="GtkButtonBox"> + <property name="can-focus">False</property> + <property name="layout-style">end</property> + <child> + <object class="GtkButton" id="cancel_btn"> + <property name="label" translatable="no">Cancel</property> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="receives-default">True</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="ok_btn"> + <property name="label" translatable="no">Ok</property> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="receives-default">True</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <!-- n-columns=2 n-rows=7 --> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="row-spacing">5</property> + <property name="column-spacing">5</property> + <child> + <object class="GtkEntry" id="entry_box_1"> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="text" translatable="no">Editable Entry</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">2</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="entry_box_2"> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="can-focus">True</property> + <property name="text" translatable="no">Disabled Entry</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">3</property> + </packing> + </child> + <child> + <object class="GtkComboBox" id="combo_box_disable"> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="can-focus">False</property> + <property name="model">liststore1</property> + <property name="button-sensitivity">off</property> + <property name="has-entry">True</property> + <property name="entry-text-column">0</property> + <child internal-child="entry"> + <object class="GtkEntry"> + <property name="sensitive">False</property> + <property name="can-focus">False</property> + </object> + </child> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">1</property> + </packing> + </child> + <child> + <object class="GtkToggleButton" id="toggle_btn_1"> + <property name="label" translatable="no">Toggle Button</property> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="receives-default">True</property> + </object> + <packing> + <property name="left-attach">1</property> + <property name="top-attach">0</property> + </packing> + </child> + <child> + <object class="GtkToggleButton" id="toggle_btn_2"> + <property name="label" translatable="no">Toggle Button</property> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="can-focus">True</property> + <property name="receives-default">True</property> + </object> + <packing> + <property name="left-attach">1</property> + <property name="top-attach">1</property> + </packing> + </child> + <child> + <object class="GtkToggleButton" id="toggle_btn_3"> + <property name="label" translatable="no">Toggle Button</property> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="receives-default">True</property> + <property name="active">True</property> + </object> + <packing> + <property name="left-attach">1</property> + <property name="top-attach">2</property> + </packing> + </child> + <child> + <object class="GtkLinkButton" id="link_btn_1"> + <property name="label" translatable="no">Collabora Office</property> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="receives-default">True</property> + <property name="relief">none</property> + <property name="uri">https://www.collaboraoffice.com/</property> + <property name="visited">True</property> + </object> + <packing> + <property name="left-attach">1</property> + <property name="top-attach">5</property> + </packing> + </child> + <child> + <object class="GtkLinkButton" id="link_btn_2"> + <property name="label" translatable="no">Collabora Office</property> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="can-focus">True</property> + <property name="receives-default">True</property> + <property name="relief">none</property> + <property name="uri">https://www.collaboraoffice.com/</property> + <property name="visited">True</property> + </object> + <packing> + <property name="left-attach">1</property> + <property name="top-attach">6</property> + </packing> + </child> + <child> + <!-- n-columns=4 n-rows=1 --> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="can-focus">False</property> + <property name="row-spacing">5</property> + <property name="column-spacing">5</property> + <child> + <object class="GtkLabel" id="label_1"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="label" translatable="no">Label</property> + <property name="justify">center</property> + <property name="mnemonic-widget">spin_btn_1</property> + <property name="ellipsize">start</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">0</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="spin_btn_1"> + <property name="visible">True</property> + <property name="can-focus">True</property> + </object> + <packing> + <property name="left-attach">1</property> + <property name="top-attach">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label_2"> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="can-focus">False</property> + <property name="label" translatable="no">Label</property> + <property name="justify">center</property> + <property name="mnemonic-widget">spin_btn_2</property> + <property name="ellipsize">start</property> + </object> + <packing> + <property name="left-attach">2</property> + <property name="top-attach">0</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="spin_btn_2"> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="can-focus">True</property> + </object> + <packing> + <property name="left-attach">3</property> + <property name="top-attach">0</property> + </packing> + </child> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">4</property> + </packing> + </child> + <child> + <object class="GtkSpinner" id="spinner_1"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="tooltip-text" translatable="no">switch_1</property> + <property name="active">True</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">5</property> + </packing> + </child> + <child> + <object class="GtkSpinner" id="spinner_2"> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="can-focus">False</property> + <property name="active">True</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">6</property> + </packing> + </child> + <child> + <object class="GtkComboBox" id="combo_box_enable"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="model">liststore1</property> + <property name="has-entry">True</property> + <property name="entry-text-column">0</property> + <child internal-child="entry"> + <object class="GtkEntry"> + <property name="can-focus">False</property> + <property name="text" translatable="no">Test 3</property> + </object> + </child> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">0</property> + </packing> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkSeparator"> + <property name="visible">True</property> + <property name="can-focus">False</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <!-- n-columns=1 n-rows=1 --> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="row-spacing">5</property> + <property name="column-spacing">5</property> + <child> + <object class="GtkExpander" id="expander_1"> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="expanded">True</property> + <child> + <!-- n-columns=2 n-rows=4 --> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="margin-top">5</property> + <property name="row-spacing">5</property> + <property name="column-spacing">5</property> + <child> + <object class="GtkCheckButton" id="check_btn_1"> + <property name="label" translatable="no">Check Button 1</property> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="active">True</property> + <property name="draw-indicator">True</property> + <property name="mnemonic-widget">entry_box_1</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">0</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="check_btn_2"> + <property name="label" translatable="no">Check Button 2</property> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="draw-indicator">True</property> + <property name="mnemonic-widget">entry_box_2</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">1</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="check_btn_4"> + <property name="label" translatable="no">Check Button 4</property> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="draw-indicator">True</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">3</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="check_btn_3"> + <property name="label" translatable="no">Check Button 3</property> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="active">True</property> + <property name="draw-indicator">True</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">2</property> + </packing> + </child> + <child> + <object class="GtkRadioButton" id="radio_btn_1"> + <property name="label" translatable="no">Radio Button 1</property> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="active">True</property> + <property name="draw-indicator">True</property> + </object> + <packing> + <property name="left-attach">1</property> + <property name="top-attach">0</property> + </packing> + </child> + <child> + <object class="GtkRadioButton" id="radio_btn_2"> + <property name="label" translatable="no">Radio Button 2</property> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="draw-indicator">True</property> + <property name="group">radio_btn_1</property> + </object> + <packing> + <property name="left-attach">1</property> + <property name="top-attach">1</property> + </packing> + </child> + <child> + <object class="GtkRadioButton" id="radio_btn_3"> + <property name="label" translatable="no">Radio Button 3</property> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="active">True</property> + <property name="draw-indicator">True</property> + </object> + <packing> + <property name="left-attach">1</property> + <property name="top-attach">2</property> + </packing> + </child> + <child> + <object class="GtkRadioButton" id="radio_btn_4"> + <property name="label" translatable="no">Radio Button 4</property> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="draw-indicator">True</property> + <property name="group">radio_btn_3</property> + </object> + <packing> + <property name="left-attach">1</property> + <property name="top-attach">3</property> + </packing> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel" id="expander"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="label" translatable="no">Expander</property> + </object> + </child> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">0</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + </object> + </child> + </object> + <object class="GtkTextBuffer" id="textbuffer1"> + <property name="text" translatable="no">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy tex +t ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a + type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, + remaining essentially unchanged. + It was popularised in the 1960s with the release + of Letraset sheets containing Lorem + Ipsum passages, and more recently with desktop publishing + software like Aldus PageMaker including versions of Lorem Ipsum.</property> + </object> + <object class="GtkListStore" id="liststore1"> + <columns> + <!-- column-name gchararray1 --> + <column type="gchararray"/> + </columns> + <data> + <row> + <col id="0" translatable="no">Test 1</col> + </row> + <row> + <col id="0" translatable="no">Test 2</col> + </row> + <row> + <col id="0" translatable="no">Test 3</col> + </row> + <row> + <col id="0" translatable="no">Test 4</col> + </row> + <row> + <col id="0" translatable="no">Test 5</col> + </row> + </data> + </object> +</interface> diff --git a/include/sfx2/sfxdlg.hxx b/include/sfx2/sfxdlg.hxx index ba30626937e8..2fca42eef290 100644 --- a/include/sfx2/sfxdlg.hxx +++ b/include/sfx2/sfxdlg.hxx @@ -148,6 +148,8 @@ public: virtual VclPtr<VclAbstractDialog> CreateTipOfTheDayDialog(weld::Window* _pParent) = 0; virtual VclPtr<VclAbstractDialog> CreateToolbarmodeDialog(weld::Window* _pParent) = 0; + + virtual VclPtr<VclAbstractDialog> CreateWidgetTestDialog(weld::Window* _pParent) = 0; }; #endif diff --git a/include/sfx2/sfxsids.hrc b/include/sfx2/sfxsids.hrc index e4bf9bbbe71b..39a3ec5bf9d6 100644 --- a/include/sfx2/sfxsids.hrc +++ b/include/sfx2/sfxsids.hrc @@ -277,6 +277,7 @@ class SvxSearchItem; #define SID_ADDITIONS_TAG (SID_SFX_START + 1741) #define SID_TOOLBAR_MODE_UI (SID_SFX_START + 1742) #define SID_TOOLBAR_LOCK (SID_SFX_START + 1743) +#define SID_WIDGET_TEST_DIALOG (SID_SFX_START + 1744) // SID_SFX_free_END (SID_SFX_START + 3999) diff --git a/sfx2/sdi/appslots.sdi b/sfx2/sdi/appslots.sdi index 5503c624e84c..daa0a86265e0 100644 --- a/sfx2/sdi/appslots.sdi +++ b/sfx2/sdi/appslots.sdi @@ -60,6 +60,10 @@ interface Application [ ExecMethod = MiscExec_Impl ; ] + SID_WIDGET_TEST_DIALOG // ole(no) api(final/play/rec) + [ + ExecMethod = MiscExec_Impl ; + ] SID_CONFIG // ole(no) api(final/play/rec) [ ExecMethod = MiscExec_Impl ; diff --git a/sfx2/sdi/sfx.sdi b/sfx2/sdi/sfx.sdi index 77690bf01e24..49888d5a2a73 100644 --- a/sfx2/sdi/sfx.sdi +++ b/sfx2/sdi/sfx.sdi @@ -5784,3 +5784,20 @@ SfxBoolItem ToolbarLock SID_TOOLBAR_LOCK ToolBoxConfig = TRUE, GroupId = SfxGroupId::Application; ] + +SfxVoidItem WidgetTestDialog SID_WIDGET_TEST_DIALOG +() +[ + AutoUpdate = FALSE, + FastCall = FALSE, + ReadOnlyDoc = FALSE, + Toggle = FALSE, + Container = FALSE, + RecordAbsolute = FALSE, + RecordPerSet; + + AccelConfig = TRUE, + MenuConfig = TRUE, + ToolBoxConfig = TRUE, + GroupId = SfxGroupId::Application; +] diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx index d78975afc650..2b1da7ce96cc 100644 --- a/sfx2/source/appl/appserv.cxx +++ b/sfx2/source/appl/appserv.cxx @@ -646,6 +646,17 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq ) bDone = true; break; } + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + case SID_WIDGET_TEST_DIALOG: + { + SfxAbstractDialogFactory* pFact = SfxAbstractDialogFactory::Create(); + VclPtr<VclAbstractDialog> pDlg(pFact->CreateWidgetTestDialog(rReq.GetFrameWeld())); + pDlg->StartExecuteAsync([pDlg](sal_Int32 /*nResult*/){ + pDlg->disposeOnce(); + }); + bDone = true; + break; + } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - case SID_ABOUT: diff --git a/vcl/jsdialog/enabled.cxx b/vcl/jsdialog/enabled.cxx index ddd7e3ce9ba0..f7849bb9e3e4 100644 --- a/vcl/jsdialog/enabled.cxx +++ b/vcl/jsdialog/enabled.cxx @@ -57,7 +57,8 @@ bool isBuilderEnabled(std::u16string_view rUIFile, bool bMobile) || rUIFile == u"xmlsec/ui/digitalsignaturesdialog.ui" || rUIFile == u"xmlsec/ui/viewcertdialog.ui" || rUIFile == u"xmlsec/ui/certgeneral.ui" || rUIFile == u"xmlsec/ui/certpage.ui" || rUIFile == u"svx/ui/accessibilitycheckdialog.ui" - || rUIFile == u"svx/ui/accessibilitycheckentry.ui") + || rUIFile == u"svx/ui/accessibilitycheckentry.ui" + || rUIFile == u"cui/ui/widgettestdialog.ui") { return true; }