diff options
Diffstat (limited to 'cui/source/factory/dlgfact.cxx')
-rw-r--r-- | cui/source/factory/dlgfact.cxx | 487 |
1 files changed, 176 insertions, 311 deletions
diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx index 75fb59b7fe29..9c422c4f71a6 100644 --- a/cui/source/factory/dlgfact.cxx +++ b/cui/source/factory/dlgfact.cxx @@ -18,11 +18,13 @@ */ #include <config_extensions.h> +#include <config_wasm_strip.h> #include <align.hxx> #include "dlgfact.hxx" #include <about.hxx> +#include <whatsnew.hxx> #include <sfx2/app.hxx> #include <sfx2/basedlgs.hxx> #include <sfx2/pageids.hxx> @@ -31,7 +33,7 @@ #include <numfmt.hxx> #include <splitcelldlg.hxx> #include <cuiimapwnd.hxx> -#include <cui/cuicharmap.hxx> +#include <svx/cuicharmap.hxx> #include <srchxtra.hxx> #include <textanim.hxx> #include <autocdlg.hxx> @@ -46,7 +48,6 @@ #include <cuisrchdlg.hxx> #include <cuitbxform.hxx> #include <optdict.hxx> -#include <dlgname.hxx> #include <multipat.hxx> #include <cuihyperdlg.hxx> #include <cuifmsearch.hxx> @@ -88,6 +89,7 @@ #include <hyphen.hxx> #include <thesdlg.hxx> #include <tipofthedaydlg.hxx> +#include <widgettestdlg.hxx> #include <toolbarmodedlg.hxx> #include <DiagramDialog.hxx> #include <fileextcheckdlg.hxx> @@ -100,217 +102,57 @@ using namespace ::com::sun::star::container; using ::com::sun::star::uno::Reference; using namespace svx; -// AbstractTabDialog implementations just forwards everything to the dialog -short CuiAbstractController_Impl::Execute() -{ - return m_xDlg->run(); -} - -short CuiAbstractTipController_Impl::Execute() -{ - return m_xDlg->run(); -} - -bool CuiAbstractTipController_Impl::StartExecuteAsync(AsyncContext& rCtx) -{ - return weld::DialogController::runAsync(m_xDlg, rCtx.maEndDialogFn); -} - -short CuiAbstractSingleTabController_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractHangulHanjaConversionDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractFmShowColsDialog_Impl::Execute() -{ - return m_xDlg->run(); -} +IMPL_ABSTDLG_CLASS_ASYNC(AbstractAdditionsDialog, weld::GenericDialogController) +IMPL_ABSTDLG_CLASS_ASYNC(AbstractDiagramDialog, DiagramDialog) +IMPL_ABSTDLG_CLASS(AbstractFmInputRecordNoDialog) +IMPL_ABSTDLG_CLASS(AbstractFmSearchDialog) +IMPL_ABSTDLG_CLASS(AbstractFmShowColsDialog) +IMPL_ABSTDLG_CLASS(AbstractGalleryIdDialog) +IMPL_ABSTDLG_CLASS_ASYNC(AbstractGraphicFilterDialog, GraphicFilterDialog) +IMPL_ABSTDLG_CLASS(AbstractHangulHanjaConversionDialog) +IMPL_ABSTDLG_CLASS(AbstractInsertObjectDialog) +IMPL_ABSTDLG_CLASS_ASYNC(AbstractLinksDialog, SvBaseLinksDlg) +IMPL_ABSTDLG_CLASS(AbstractScreenshotAnnotationDlg) +IMPL_ABSTDLG_CLASS_ASYNC(AbstractSignatureLineDialog, SignatureLineDialog) +IMPL_ABSTDLG_CLASS_ASYNC(AbstractSignSignatureLineDialog, SignSignatureLineDialog) +IMPL_ABSTDLG_CLASS_ASYNC(AbstractSvxCharacterMapDialog, SvxCharacterMap) +IMPL_ABSTDLG_CLASS(AbstractSecurityOptionsDialog) +IMPL_ABSTDLG_CLASS(AbstractSvxHpLinkDlg) +IMPL_ABSTDLG_CLASS(AbstractSvxJSearchOptionsDialog) +IMPL_ABSTDLG_CLASS(AbstractSvxMultiPathDialog) +IMPL_ABSTDLG_CLASS(AbstractSvxNameDialog) +IMPL_ABSTDLG_CLASS(AbstractSvxNewDictionaryDialog) +IMPL_ABSTDLG_CLASS_ASYNC(AbstractSvxObjectNameDialog, SvxObjectNameDialog) +IMPL_ABSTDLG_CLASS_ASYNC(AbstractSvxObjectTitleDescDialog, SvxObjectTitleDescDialog) +IMPL_ABSTDLG_CLASS(AbstractSvxPathSelectDialog) +IMPL_ABSTDLG_CLASS(AbstractSvxPostItDialog) +IMPL_ABSTDLG_CLASS_ASYNC(AbstractSvxSearchSimilarityDialog,SvxSearchSimilarityDialog) +IMPL_ABSTDLG_CLASS(AbstractSvxZoomDialog) +IMPL_ABSTDLG_CLASS(AbstractTitleDialog) +IMPL_ABSTDLG_CLASS(AbstractURLDlg) +IMPL_ABSTDLG_CLASS_ASYNC(AbstractPasswordToOpenModifyDialog,weld::DialogController) +IMPL_ABSTDLG_CLASS_ASYNC(AbstractQrCodeGenDialog,QrCodeGenDialog) +IMPL_ABSTDLG_CLASS_ASYNC(AbstractPasteDialog,SfxDialogController) +IMPL_ABSTDLG_CLASS_ASYNC(AbstractScriptSelectorDialog,SfxDialogController) +IMPL_ABSTDLG_CLASS_ASYNC(AbstractSpellDialog,SfxDialogController) +IMPL_ABSTDLG_CLASS_ASYNC(AbstractSvxAreaTabDialog,SfxTabDialogController) +IMPL_ABSTDLG_CLASS_ASYNC(AbstractSvxCaptionDialog,SfxTabDialogController) +IMPL_ABSTDLG_CLASS_ASYNC(AbstractSvxTransformTabDialog,SfxTabDialogController) +IMPL_ABSTDLG_CLASS_ASYNC(AbstractThesaurusDialog,SfxDialogController) +IMPL_ABSTDLG_CLASS_ASYNC(CuiAbstractControllerAsync,weld::DialogController) +IMPL_ABSTDLG_CLASS_ASYNC(CuiAbstractTabController,SfxTabDialogController) +IMPL_ABSTDLG_CLASS(CuiAbstractController) +IMPL_ABSTDLG_CLASS_ASYNC(CuiAbstractSingleTabController, SfxSingleTabDialogController) +IMPL_ABSTDLG_CLASS_ASYNC(CuiAbstractWidgetTestControllerAsync,weld::GenericDialogController) short AbstractHyphenWordDialog_Impl::Execute() { +#if !ENABLE_WASM_STRIP_HUNSPELL return m_xDlg->run(); -} - -short AbstractThesaurusDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -bool AbstractThesaurusDialog_Impl::StartExecuteAsync(AsyncContext &rCtx) -{ - return SfxDialogController::runAsync(m_xDlg, rCtx.maEndDialogFn); -} - -short AbstractSvxZoomDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractTitleDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -bool AbstractScriptSelectorDialog_Impl::StartExecuteAsync(AsyncContext &rCtx) -{ - return SfxDialogController::runAsync(m_xDlg, rCtx.maEndDialogFn); -} - -short AbstractScriptSelectorDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractGalleryIdDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractURLDlg_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractSvxSearchSimilarityDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractSvxTransformTabDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -bool AbstractSvxTransformTabDialog_Impl::StartExecuteAsync(AsyncContext &rCtx) -{ - return SfxTabDialogController::runAsync(m_xDlg, rCtx.maEndDialogFn); -} - -short AbstractSvxCaptionDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -bool AbstractSvxCaptionDialog_Impl::StartExecuteAsync(AsyncContext &rCtx) -{ - return SfxTabDialogController::runAsync(m_xDlg, rCtx.maEndDialogFn); -} - -short AbstractSvxJSearchOptionsDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractFmInputRecordNoDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractSvxNewDictionaryDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractSvxNameDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -// #i68101# -short AbstractSvxObjectNameDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractSvxObjectTitleDescDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractSvxMultiPathDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractSvxPathSelectDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractSvxHpLinkDlg_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractFmSearchDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractGraphicFilterDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractSvxAreaTabDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -bool AbstractSvxAreaTabDialog_Impl::StartExecuteAsync(AsyncContext &rCtx) -{ - return SfxTabDialogController::runAsync(m_xDlg, rCtx.maEndDialogFn); -} - -short AbstractPasteDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -bool AbstractPasteDialog_Impl::StartExecuteAsync(AsyncContext &rCtx) -{ - return SfxDialogController::runAsync(m_xDlg, rCtx.maEndDialogFn); -} - -short AbstractInsertObjectDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractLinksDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractSpellDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -bool AbstractSpellDialog_Impl::StartExecuteAsync(AsyncContext &rCtx) -{ - return SfxDialogController::runAsync(m_xDlg, rCtx.maEndDialogFn); -} - -short AbstractSvxPostItDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractPasswordToOpenModifyDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractSvxCharacterMapDialog_Impl::Execute() -{ - return m_xDlg->run(); +#else + return 0; +#endif } const SfxItemSet* AbstractSvxCharacterMapDialog_Impl::GetOutputItemSet() const @@ -323,37 +165,7 @@ void AbstractSvxCharacterMapDialog_Impl::SetText(const OUString& rStr) m_xDlg->set_title(rStr); } -short AbstractSignatureLineDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractSignSignatureLineDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractQrCodeGenDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractScreenshotAnnotationDlg_Impl::Execute() -{ - return m_xDlg->run(); -} - -short CuiAbstractTabController_Impl::Execute() -{ - return m_xDlg->run(); -} - -bool CuiAbstractTabController_Impl::StartExecuteAsync(AsyncContext &rCtx) -{ - return SfxTabDialogController::runAsync(m_xDlg, rCtx.maEndDialogFn); -} - -void CuiAbstractTabController_Impl::SetCurPageId( const OString &rName ) +void CuiAbstractTabController_Impl::SetCurPageId( const OUString &rName ) { m_xDlg->SetCurPageId( rName ); } @@ -379,12 +191,12 @@ void CuiAbstractTabController_Impl::SetText( const OUString& rStr ) m_xDlg->set_title(rStr); } -std::vector<OString> CuiAbstractTabController_Impl::getAllPageUIXMLDescriptions() const +std::vector<OUString> CuiAbstractTabController_Impl::getAllPageUIXMLDescriptions() const { return m_xDlg->getAllPageUIXMLDescriptions(); } -bool CuiAbstractTabController_Impl::selectPageByUIXMLDescription(const OString& rUIXMLDescription) +bool CuiAbstractTabController_Impl::selectPageByUIXMLDescription(const OUString& rUIXMLDescription) { return m_xDlg->selectPageByUIXMLDescription(rUIXMLDescription); } @@ -394,7 +206,7 @@ BitmapEx CuiAbstractTabController_Impl::createScreenshot() const return m_xDlg->createScreenshot(); } -OString CuiAbstractTabController_Impl::GetScreenshotId() const +OUString CuiAbstractTabController_Impl::GetScreenshotId() const { return m_xDlg->GetScreenshotId(); } @@ -654,7 +466,7 @@ bool AbstractSvxSearchSimilarityDialog_Impl::IsRelaxed() } // AbstractSvxTransformTabDialog implementations just forwards everything to the dialog -void AbstractSvxTransformTabDialog_Impl::SetCurPageId( const OString& rName ) +void AbstractSvxTransformTabDialog_Impl::SetCurPageId( const OUString& rName ) { m_xDlg->SetCurPageId( rName ); } @@ -686,7 +498,7 @@ void AbstractSvxTransformTabDialog_Impl::SetValidateFramePosLink( const Link<Svx } // AbstractSvxCaptionDialog implementations just forwards everything to the dialog -void AbstractSvxCaptionDialog_Impl::SetCurPageId( const OString& rName ) +void AbstractSvxCaptionDialog_Impl::SetCurPageId( const OUString& rName ) { m_xDlg->SetCurPageId(rName); } @@ -736,18 +548,18 @@ tools::Long AbstractFmInputRecordNoDialog_Impl::GetValue() const return m_xDlg->GetNewDictionary(); } -void AbstractSvxNameDialog_Impl::GetName(OUString& rName) +OUString AbstractSvxNameDialog_Impl::GetName() { - rName = m_xDlg->GetName(); + return m_xDlg->GetName(); } -void AbstractSvxNameDialog_Impl::SetCheckNameHdl( const Link<AbstractSvxNameDialog&,bool>& rLink, bool bCheckImmediately ) +void AbstractSvxNameDialog_Impl::SetCheckNameHdl( const Link<AbstractSvxNameDialog&,bool>& rLink ) { aCheckNameHdl = rLink; if( rLink.IsSet() ) - m_xDlg->SetCheckNameHdl( LINK(this, AbstractSvxNameDialog_Impl, CheckNameHdl), bCheckImmediately ); + m_xDlg->SetCheckNameHdl( LINK(this, AbstractSvxNameDialog_Impl, CheckNameHdl) ); else - m_xDlg->SetCheckNameHdl( Link<SvxNameDialog&,bool>(), bCheckImmediately ); + m_xDlg->SetCheckNameHdl( Link<SvxNameDialog&,bool>() ); } void AbstractSvxNameDialog_Impl::SetCheckNameTooltipHdl( const Link<AbstractSvxNameDialog&,OUString>& rLink) @@ -759,12 +571,12 @@ void AbstractSvxNameDialog_Impl::SetCheckNameTooltipHdl( const Link<AbstractSvxN m_xDlg->SetCheckNameTooltipHdl( Link<SvxNameDialog&,OUString>()); } -void AbstractSvxNameDialog_Impl::SetEditHelpId(const OString& rHelpId) +void AbstractSvxNameDialog_Impl::SetEditHelpId(const OUString& rHelpId) { m_xDlg->SetEditHelpId(rHelpId); } -void AbstractSvxNameDialog_Impl::SetHelpId(const OString& rHelpId) +void AbstractSvxNameDialog_Impl::SetHelpId(const OUString& rHelpId) { m_xDlg->set_help_id(rHelpId); } @@ -784,9 +596,9 @@ IMPL_LINK_NOARG(AbstractSvxNameDialog_Impl, CheckNameTooltipHdl, SvxNameDialog&, return aCheckNameTooltipHdl.Call(*this); } -void AbstractSvxObjectNameDialog_Impl::GetName(OUString& rName) +OUString AbstractSvxObjectNameDialog_Impl::GetName() { - rName = m_xDlg->GetName(); + return m_xDlg->GetName(); } void AbstractSvxObjectNameDialog_Impl::SetCheckNameHdl(const Link<AbstractSvxObjectNameDialog&,bool>& rLink) @@ -808,14 +620,19 @@ IMPL_LINK_NOARG(AbstractSvxObjectNameDialog_Impl, CheckNameHdl, SvxObjectNameDia return aCheckNameHdl.Call(*this); } -void AbstractSvxObjectTitleDescDialog_Impl::GetTitle(OUString& rTitle) +OUString AbstractSvxObjectTitleDescDialog_Impl::GetTitle() { - rTitle = m_xDlg->GetTitle(); + return m_xDlg->GetTitle(); } -void AbstractSvxObjectTitleDescDialog_Impl::GetDescription(OUString& rDescription) +OUString AbstractSvxObjectTitleDescDialog_Impl::GetDescription() { - rDescription = m_xDlg->GetDescription(); + return m_xDlg->GetDescription(); +} + +bool AbstractSvxObjectTitleDescDialog_Impl::IsDecorative() +{ + return m_xDlg->IsDecorative(); } OUString AbstractSvxMultiPathDialog_Impl::GetPath() const @@ -879,7 +696,7 @@ Graphic AbstractGraphicFilterDialog_Impl::GetFilteredGraphic(const Graphic& rGra } // AbstractSvxAreaTabDialog implementations just forwards everything to the dialog -void AbstractSvxAreaTabDialog_Impl::SetCurPageId( const OString& rName ) +void AbstractSvxAreaTabDialog_Impl::SetCurPageId( const OUString& rName ) { m_xDlg->SetCurPageId( rName ); } @@ -992,52 +809,64 @@ bool AbstractPasswordToOpenModifyDialog_Impl::IsRecommendToOpenReadonly() const return m_xDlg->IsRecommendToOpenReadonly(); } +void AbstractPasswordToOpenModifyDialog_Impl::Response(sal_Int32 nResult) +{ + m_xDlg->response(nResult); +} + +void AbstractPasswordToOpenModifyDialog_Impl::AllowEmpty() +{ + m_xDlg->AllowEmpty(); +} + // Create dialogs with simplest interface VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateVclDialog(weld::Window* pParent, sal_uInt32 nResId) { - std::unique_ptr<OfaTreeOptionsDialog> xDlg; switch ( nResId ) { - case SID_OPTIONS_TREEDIALOG : case SID_OPTIONS_DATABASES : + { + Reference< frame::XFrame > xFrame; + auto xDlg = std::make_shared<OfaTreeOptionsDialog>(pParent, xFrame, /*bActivateLastSelection*/false); + xDlg->ActivatePage(SID_SB_DBREGISTEROPTIONS); + return VclPtr<CuiAbstractControllerAsync_Impl>::Create(std::move(xDlg)); + } + case SID_OPTIONS_TREEDIALOG : case SID_LANGUAGE_OPTIONS : { bool bActivateLastSelection = false; if (nResId == SID_OPTIONS_TREEDIALOG) bActivateLastSelection = true; Reference< frame::XFrame > xFrame; - xDlg = std::make_unique<OfaTreeOptionsDialog>(pParent, xFrame, bActivateLastSelection); - if (nResId == SID_OPTIONS_DATABASES) - { - xDlg->ActivatePage(SID_SB_DBREGISTEROPTIONS); - } - else if (nResId == SID_LANGUAGE_OPTIONS) + auto xDlg = std::make_unique<OfaTreeOptionsDialog>(pParent, xFrame, bActivateLastSelection); + if (nResId == SID_LANGUAGE_OPTIONS) { //open the tab page "tools/options/languages" xDlg->ActivatePage(OFA_TP_LANGUAGES_FOR_SET_DOCUMENT_LANGUAGE); } + return VclPtr<CuiAbstractController_Impl>::Create(std::move(xDlg)); } break; + default: - break; + assert(false); + return nullptr; } - - if (xDlg) - return VclPtr<CuiAbstractController_Impl>::Create(std::move(xDlg)); - return nullptr; } VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateFrameDialog(weld::Window* pParent, const Reference< frame::XFrame >& rxFrame, - sal_uInt32 nResId, const OUString& rParameter ) + sal_uInt32 nResId, sal_uInt16 nPageId, const OUString& rParameter) { std::unique_ptr<OfaTreeOptionsDialog> xDlg; if (SID_OPTIONS_TREEDIALOG == nResId || SID_OPTIONS_DATABASES == nResId) { // only activate last page if we don't want to activate a special page - bool bActivateLastSelection = ( nResId != SID_OPTIONS_DATABASES && rParameter.isEmpty() ); + bool bActivateLastSelection = ( nResId != SID_OPTIONS_DATABASES && rParameter.isEmpty() && !nPageId); xDlg = std::make_unique<OfaTreeOptionsDialog>(pParent, rxFrame, bActivateLastSelection); if ( nResId == SID_OPTIONS_DATABASES ) xDlg->ActivatePage(SID_SB_DBREGISTEROPTIONS); + else if (nPageId) + xDlg->ActivatePage(nPageId); else if ( !rParameter.isEmpty() ) xDlg->ActivatePage( rParameter ); } @@ -1047,6 +876,16 @@ VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateFrameDialog(weld::Wi return nullptr; } +VclPtr<AbstractSecurityOptionsDialog> AbstractDialogFactory_Impl::CreateSvxSecurityOptionsDialog(weld::Window* pParent) +{ + return VclPtr<AbstractSecurityOptionsDialog_Impl>::Create(std::make_unique<svx::SecurityOptionsDialog>(pParent)); +} + +bool AbstractSecurityOptionsDialog_Impl::SetSecurityOptions() +{ + return m_xDlg->SetSecurityOptions(); +} + // TabDialog outside the drawing layer VclPtr<SfxAbstractTabDialog> AbstractDialogFactory_Impl::CreateAutoCorrTabDialog(weld::Window* pParent, const SfxItemSet* pAttrSet) { @@ -1095,7 +934,16 @@ VclPtr<AbstractHyphenWordDialog> AbstractDialogFactory_Impl::CreateHyphenWordDia css::uno::Reference< css::linguistic2::XHyphenator > &xHyphen, SvxSpellWrapper* pWrapper) { +#if !ENABLE_WASM_STRIP_EXTRA return VclPtr<AbstractHyphenWordDialog_Impl>::Create(std::make_unique<SvxHyphenWordDialog>(rWord, nLang, pParent, xHyphen, pWrapper)); +#else + (void) pParent; + (void) rWord; + (void) nLang; + (void) xHyphen; + (void) pWrapper; + return nullptr; +#endif } VclPtr<AbstractFmShowColsDialog> AbstractDialogFactory_Impl::CreateFmShowColsDialog(weld::Window* pParent) @@ -1257,9 +1105,9 @@ VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateSvxEditDictionaryDia } VclPtr<AbstractSvxNameDialog> AbstractDialogFactory_Impl::CreateSvxNameDialog(weld::Window* pParent, - const OUString& rName, const OUString& rDesc) + const OUString& rName, const OUString& rDesc, const OUString& rTitle) { - return VclPtr<AbstractSvxNameDialog_Impl>::Create(std::make_unique<SvxNameDialog>(pParent, rName, rDesc)); + return VclPtr<AbstractSvxNameDialog_Impl>::Create(std::make_unique<SvxNameDialog>(pParent, rName, rDesc, rTitle)); } VclPtr<AbstractSvxObjectNameDialog> AbstractDialogFactory_Impl::CreateSvxObjectNameDialog(weld::Window* pParent, const OUString& rName) @@ -1267,9 +1115,9 @@ VclPtr<AbstractSvxObjectNameDialog> AbstractDialogFactory_Impl::CreateSvxObjectN return VclPtr<AbstractSvxObjectNameDialog_Impl>::Create(std::make_unique<SvxObjectNameDialog>(pParent, rName)); } -VclPtr<AbstractSvxObjectTitleDescDialog> AbstractDialogFactory_Impl::CreateSvxObjectTitleDescDialog(weld::Window* pParent, const OUString& rTitle, const OUString& rDescription) +VclPtr<AbstractSvxObjectTitleDescDialog> AbstractDialogFactory_Impl::CreateSvxObjectTitleDescDialog(weld::Window* pParent, const OUString& rTitle, const OUString& rDescription, bool const isDecorative) { - return VclPtr<AbstractSvxObjectTitleDescDialog_Impl>::Create(std::make_unique<SvxObjectTitleDescDialog>(pParent, rTitle, rDescription)); + return VclPtr<AbstractSvxObjectTitleDescDialog_Impl>::Create(std::make_unique<SvxObjectTitleDescDialog>(pParent, rTitle, rDescription, isDecorative)); } VclPtr<AbstractSvxMultiPathDialog> AbstractDialogFactory_Impl::CreateSvxMultiPathDialog(weld::Window* pParent) @@ -1337,9 +1185,11 @@ VclPtr<AbstractGraphicFilterDialog> AbstractDialogFactory_Impl::CreateGraphicFil VclPtr<AbstractSvxAreaTabDialog> AbstractDialogFactory_Impl::CreateSvxAreaTabDialog(weld::Window* pParent, const SfxItemSet* pAttr, SdrModel* pModel, - bool bShadow) + bool bShadow, + bool bSlideBackground) { - return VclPtr<AbstractSvxAreaTabDialog_Impl>::Create(std::make_shared<SvxAreaTabDialog>(pParent, pAttr, pModel, bShadow)); + return VclPtr<AbstractSvxAreaTabDialog_Impl>::Create( + std::make_shared<SvxAreaTabDialog>(pParent, pAttr, pModel, bShadow, bSlideBackground)); } VclPtr<SfxAbstractTabDialog> AbstractDialogFactory_Impl::CreateSvxLineTabDialog(weld::Window* pParent, const SfxItemSet* pAttr, //add forSvxLineTabDialog @@ -1390,46 +1240,34 @@ VclPtr<AbstractSvxPostItDialog> AbstractDialogFactory_Impl::CreateSvxPostItDialo namespace { -class SvxMacroAssignDialog : public VclAbstractDialog +class SvxMacroAssignDialog_Impl : public VclAbstractDialog { public: - SvxMacroAssignDialog( weld::Window* _pParent, const Reference< XFrame >& _rxDocumentFrame, const bool _bUnoDialogMode, + SvxMacroAssignDialog_Impl( weld::Window* _pParent, const Reference< XFrame >& _rxDocumentFrame, const bool _bUnoDialogMode, const Reference< XNameReplace >& _rxEvents, const sal_uInt16 _nInitiallySelectedEvent ) :m_aItems( SfxGetpApp()->GetPool(), svl::Items<SID_ATTR_MACROITEM, SID_ATTR_MACROITEM> ) { m_aItems.Put( SfxBoolItem( SID_ATTR_MACROITEM, _bUnoDialogMode ) ); - m_xDialog.reset(new SvxMacroAssignDlg(_pParent, _rxDocumentFrame, m_aItems, _rxEvents, _nInitiallySelectedEvent)); + m_xDlg = std::make_shared<SvxMacroAssignDlg>(_pParent, _rxDocumentFrame, m_aItems, _rxEvents, _nInitiallySelectedEvent); } virtual short Execute() override; + virtual bool StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx) override; private: SfxItemSet m_aItems; - std::unique_ptr<SvxMacroAssignDlg> m_xDialog; + std::shared_ptr<SvxMacroAssignDlg> m_xDlg; }; +IMPL_ABSTDLG_CLASS_ASYNC(SvxMacroAssignDialog, SvxMacroAssignDlg) } -short SvxMacroAssignDialog::Execute() -{ - return m_xDialog->run(); -} - -short AbstractAdditionsDialog_Impl::Execute() -{ - return m_xDlg->run(); -} - -short AbstractDiagramDialog_Impl::Execute() -{ - return m_xDlg->run(); -} VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateSvxMacroAssignDlg( weld::Window* _pParent, const Reference< XFrame >& _rxDocumentFrame, const bool _bUnoDialogMode, const Reference< XNameReplace >& _rxEvents, const sal_uInt16 _nInitiallySelectedEvent ) { - return VclPtr<SvxMacroAssignDialog>::Create( _pParent, _rxDocumentFrame, _bUnoDialogMode, _rxEvents, _nInitiallySelectedEvent ); + return VclPtr<SvxMacroAssignDialog_Impl>::Create(_pParent, _rxDocumentFrame, _bUnoDialogMode, _rxEvents, _nInitiallySelectedEvent); } // Factories for TabPages @@ -1585,7 +1423,7 @@ VclPtr<SfxAbstractInsertObjectDialog> AbstractDialogFactory_Impl::CreateInsertOb if ( pDlg ) { - pDlg->SetHelpId( OUStringToOString( rCommand, RTL_TEXTENCODING_UTF8 ) ); + pDlg->SetHelpId(rCommand); return VclPtr<AbstractInsertObjectDialog_Impl>::Create( std::move(pDlg) ); } return nullptr; @@ -1597,7 +1435,7 @@ VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateEditObjectDialog(wel if ( rCommand == ".uno:InsertObjectFloatingFrame" ) { auto pDlg = std::make_unique<SfxInsertFloatingFrameDialog>(pParent, xObj); - pDlg->SetHelpId( OUStringToOString( rCommand, RTL_TEXTENCODING_UTF8 ) ); + pDlg->SetHelpId(rCommand); return VclPtr<AbstractInsertObjectDialog_Impl>::Create( std::move(pDlg) ); } return nullptr; @@ -1616,9 +1454,9 @@ VclPtr<SfxAbstractLinksDialog> AbstractDialogFactory_Impl::CreateLinksDialog(wel return VclPtr<AbstractLinksDialog_Impl>::Create(std::move(xLinkDlg)); } -VclPtr<SfxAbstractTabDialog> AbstractDialogFactory_Impl::CreateSvxFormatCellsDialog(weld::Window* pParent, const SfxItemSet* pAttr, const SdrModel& rModel) +VclPtr<SfxAbstractTabDialog> AbstractDialogFactory_Impl::CreateSvxFormatCellsDialog(weld::Window* pParent, const SfxItemSet& rAttr, const SdrModel& rModel, bool bStyle) { - return VclPtr<CuiAbstractTabController_Impl>::Create(std::make_shared<SvxFormatCellsDialog>(pParent, pAttr, rModel)); + return VclPtr<CuiAbstractTabController_Impl>::Create(std::make_shared<SvxFormatCellsDialog>(pParent, rAttr, rModel, bStyle)); } VclPtr<SvxAbstractSplitTableDialog> AbstractDialogFactory_Impl::CreateSvxSplitTableDialog(weld::Window* pParent, bool bIsTableVertical, tools::Long nMaxVertical) @@ -1636,9 +1474,9 @@ VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateOptionsDialog(weld:: return VclPtr<CuiAbstractController_Impl>::Create(std::make_unique<OfaTreeOptionsDialog>(pParent, rExtensionId)); } -VclPtr<SvxAbstractInsRowColDlg> AbstractDialogFactory_Impl::CreateSvxInsRowColDlg(weld::Window* pParent, bool bCol, const OString& rHelpId) +VclPtr<SvxAbstractInsRowColDlg> AbstractDialogFactory_Impl::CreateSvxInsRowColDlg(weld::Window* pParent, bool bCol, const OUString& rHelpId) { - return VclPtr<SvxInsRowColDlg>::Create(pParent, bCol, rHelpId); + return VclPtr<SvxAbstractInsRowColDlg_Impl>::Create(std::make_shared<SvxInsRowColDlg>(pParent, bCol, rHelpId)); } VclPtr<AbstractPasswordToOpenModifyDialog> AbstractDialogFactory_Impl::CreatePasswordToOpenModifyDialog( @@ -1671,7 +1509,7 @@ VclPtr<AbstractQrCodeGenDialog> AbstractDialogFactory_Impl::CreateQrCodeGenDialo weld::Window* pParent, const Reference<XModel> xModel, bool bEditExisting) { return VclPtr<AbstractQrCodeGenDialog_Impl>::Create( - std::make_unique<QrCodeGenDialog>(pParent, xModel, bEditExisting)); + std::make_shared<QrCodeGenDialog>(pParent, xModel, bEditExisting)); } VclPtr<AbstractAdditionsDialog> AbstractDialogFactory_Impl::CreateAdditionsDialog( @@ -1683,22 +1521,47 @@ VclPtr<AbstractAdditionsDialog> AbstractDialogFactory_Impl::CreateAdditionsDialo #else (void) pParent; (void) sAdditionsTag; - return VclPtr<AbstractAdditionsDialog>(nullptr); + return nullptr; #endif } VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateAboutDialog(weld::Window* pParent) { - return VclPtr<CuiAbstractController_Impl>::Create( - std::make_unique<AboutDialog>(pParent)); + return VclPtr<CuiAbstractControllerAsync_Impl>::Create( + std::make_shared<AboutDialog>(pParent)); +} + +VclPtr<VclAbstractDialog> +AbstractDialogFactory_Impl::CreateWhatsNewDialog(weld::Window* pParent, const bool bWelcome) +{ +#if !ENABLE_WASM_STRIP_PINGUSER + return VclPtr<CuiAbstractControllerAsync_Impl>::Create( + std::make_shared<WhatsNewDialog>(pParent, bWelcome)); +#else + (void) pParent; + (void) bWelcome; + return nullptr; +#endif } VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateTipOfTheDayDialog(weld::Window* pParent) { - return VclPtr<CuiAbstractTipController_Impl>::Create( +#if !ENABLE_WASM_STRIP_PINGUSER + return VclPtr<CuiAbstractControllerAsync_Impl>::Create( std::make_shared<TipOfTheDayDialog>(pParent)); +#else + (void) pParent; + return nullptr; +#endif +} + +VclPtr<VclAbstractDialog> +AbstractDialogFactory_Impl::CreateWidgetTestDialog(weld::Window* pParent) +{ + return VclPtr<CuiAbstractWidgetTestControllerAsync_Impl>::Create( + std::make_shared<WidgetTestDialog>(pParent)); } VclPtr<VclAbstractDialog> @@ -1709,10 +1572,12 @@ AbstractDialogFactory_Impl::CreateToolbarmodeDialog(weld::Window* pParent) } VclPtr<AbstractDiagramDialog> -AbstractDialogFactory_Impl::CreateDiagramDialog(weld::Window* pParent, std::shared_ptr<DiagramDataInterface> pDiagramData) +AbstractDialogFactory_Impl::CreateDiagramDialog( + weld::Window* pParent, + SdrObjGroup& rDiagram) { return VclPtr<AbstractDiagramDialog_Impl>::Create( - std::make_unique<DiagramDialog>(pParent, pDiagramData)); + std::make_unique<DiagramDialog>(pParent, rDiagram)); } #ifdef _WIN32 |