cui/source/dialogs/QrCodeGenDialog.cxx | 27 +++++++++++++++++++++++++++ cui/source/factory/dlgfact.cxx | 4 ++-- cui/source/factory/dlgfact.hxx | 2 +- cui/source/inc/QrCodeGenDialog.hxx | 5 ++++- external/python3/ExternalPackage_python3.mk | 6 ++++++ sw/source/uibase/uiview/viewdlg2.cxx | 6 ++++-- vcl/jsdialog/enabled.cxx | 1 + 7 files changed, 45 insertions(+), 6 deletions(-)
New commits: commit d4f1db07753396efee9b59cffed79adde141293c Author: Andras Timar <andras.ti...@collabora.com> AuthorDate: Sun May 21 17:20:17 2023 +0200 Commit: Caolán McNamara <caolan.mcnam...@collabora.com> CommitDate: Tue Oct 10 20:49:23 2023 +0200 fix internal python build on aarch64-unknown-linux-gnu Change-Id: I74189af9edd8384cbb1d65a805a29cea91646eeb (cherry picked from commit 77ebb08e5f93ea9b9e82ddc3de0698babe0630a8) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157752 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> diff --git a/external/python3/ExternalPackage_python3.mk b/external/python3/ExternalPackage_python3.mk index 1f29c9efbebb..143e64700dc1 100644 --- a/external/python3/ExternalPackage_python3.mk +++ b/external/python3/ExternalPackage_python3.mk @@ -146,6 +146,11 @@ $(eval $(call gb_ExternalPackage_add_files,python3,$(LIBO_BIN_FOLDER)/python-cor LO_lib/_sysconfigdata_$(if $(ENABLE_DBGUTIL),d)_linux_powerpc64le-linux-gnu.py \ )) else +ifeq ($(HOST_PLATFORM),aarch64-unknown-linux-gnu) +$(eval $(call gb_ExternalPackage_add_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib,\ + LO_lib/_sysconfigdata_$(if $(ENABLE_DBGUTIL),d)_linux_aarch64-linux-gnu.py \ +)) +else # note: python configure overrides config.guess with something that doesn't # put -pc in its linux platform triplets, so filter that... ifneq ($(OS),WNT) @@ -160,6 +165,7 @@ $(eval $(call gb_ExternalPackage_add_files,python3,$(LIBO_BIN_FOLDER)/python-cor endif endif endif +endif # packages not shipped: commit 39f9c0020505719517972bbf262306c2e0defd9c Author: Darshan-upadhyay1110 <darshan.upadh...@collabora.com> AuthorDate: Thu Sep 7 13:00:50 2023 +0530 Commit: Caolán McNamara <caolan.mcnam...@collabora.com> CommitDate: Tue Oct 10 20:49:08 2023 +0200 Enable QR and barcode dialog for online - enable QR and barcode genration dialog for online - Change Qr code genration dialog to async Change-Id: Ia46b8e27a3002adcc893e5ef4c2545d7edcc3e41 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156642 Reviewed-by: Szymon Kłos <szymon.k...@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> (cherry picked from commit 6ed38adb5578d0b52d11d8f2077e345f9a8c7ade) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157728 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> diff --git a/cui/source/dialogs/QrCodeGenDialog.cxx b/cui/source/dialogs/QrCodeGenDialog.cxx index 0058ea362128..8a25e3b364e7 100644 --- a/cui/source/dialogs/QrCodeGenDialog.cxx +++ b/cui/source/dialogs/QrCodeGenDialog.cxx @@ -250,6 +250,33 @@ short QrCodeGenDialog::run() #endif } +bool QrCodeGenDialog::runAsync(const std::shared_ptr<QrCodeGenDialog>& rController, + const std::function<void(sal_Int32)>& rFunc) +{ +#if ENABLE_ZXING + + weld::GenericDialogController::runAsync(rController, [rController, rFunc](sal_Int32 nResult) { + if (nResult == RET_OK) + { + try + { + rController->Apply(); + } + catch (const std::exception&) + { + std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog( + rController->GetParent(), VclMessageType::Warning, VclButtonsType::Ok, + CuiResId(RID_CUISTR_QRCODEDATALONG))); + xBox->run(); + } + } + + rFunc(nResult); + }); +#endif + return true; +} + void QrCodeGenDialog::Apply() { #if ENABLE_ZXING diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx index f558f9e4a37d..086fd01c5af3 100644 --- a/cui/source/factory/dlgfact.cxx +++ b/cui/source/factory/dlgfact.cxx @@ -113,7 +113,6 @@ IMPL_ABSTDLG_CLASS(AbstractGraphicFilterDialog) IMPL_ABSTDLG_CLASS(AbstractHangulHanjaConversionDialog) IMPL_ABSTDLG_CLASS(AbstractInsertObjectDialog) IMPL_ABSTDLG_CLASS(AbstractLinksDialog) -IMPL_ABSTDLG_CLASS(AbstractQrCodeGenDialog) IMPL_ABSTDLG_CLASS(AbstractScreenshotAnnotationDlg) IMPL_ABSTDLG_CLASS(AbstractSignatureLineDialog) IMPL_ABSTDLG_CLASS(AbstractSignSignatureLineDialog) @@ -132,6 +131,7 @@ 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) @@ -1495,7 +1495,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( diff --git a/cui/source/factory/dlgfact.hxx b/cui/source/factory/dlgfact.hxx index 4adc0d82ee47..38ca4beded0a 100644 --- a/cui/source/factory/dlgfact.hxx +++ b/cui/source/factory/dlgfact.hxx @@ -407,7 +407,7 @@ DECL_ABSTDLG_CLASS(AbstractSignatureLineDialog,SignatureLineDialog) }; // AbstractQrCodeGenDialog_Impl -DECL_ABSTDLG_CLASS(AbstractQrCodeGenDialog,QrCodeGenDialog) +DECL_ABSTDLG_CLASS_ASYNC(AbstractQrCodeGenDialog,QrCodeGenDialog) }; // AbstractSignSignatureLineDialog_Impl diff --git a/cui/source/inc/QrCodeGenDialog.hxx b/cui/source/inc/QrCodeGenDialog.hxx index 001df88c5581..e477c0b44879 100644 --- a/cui/source/inc/QrCodeGenDialog.hxx +++ b/cui/source/inc/QrCodeGenDialog.hxx @@ -24,9 +24,11 @@ public: bool bEditExisting); virtual short run() override; + static bool runAsync(const std::shared_ptr<QrCodeGenDialog>& rController, + const std::function<void(sal_Int32)>& rFunc); -protected: void Apply(); + weld::Widget* GetParent() { return mpParent; } private: css::uno::Reference<css::frame::XModel> m_xModel; @@ -34,6 +36,7 @@ private: std::unique_ptr<weld::RadioButton> m_xECC[4]; std::unique_ptr<weld::SpinButton> m_xSpinBorder; std::unique_ptr<weld::ComboBox> m_xComboType; + #if ENABLE_ZXING weld::Widget* mpParent; #endif diff --git a/sw/source/uibase/uiview/viewdlg2.cxx b/sw/source/uibase/uiview/viewdlg2.cxx index 19678d38fdcb..597731645ebe 100644 --- a/sw/source/uibase/uiview/viewdlg2.cxx +++ b/sw/source/uibase/uiview/viewdlg2.cxx @@ -75,9 +75,11 @@ void SwView::ExecDlgExt(SfxRequest const& rReq) { VclAbstractDialogFactory* pFact = VclAbstractDialogFactory::Create(); const uno::Reference<frame::XModel> xModel(GetCurrentDocument()); - ScopedVclPtr<AbstractQrCodeGenDialog> pDialog(pFact->CreateQrCodeGenDialog( + VclPtr<AbstractQrCodeGenDialog> pDialog(pFact->CreateQrCodeGenDialog( GetFrameWeld(), xModel, rReq.GetSlot() == SID_EDIT_QRCODE)); - pDialog->Execute(); + pDialog->StartExecuteAsync([pDialog](sal_Int32) { + pDialog->disposeOnce(); + }); break; } case SID_ADDITIONS_DIALOG: diff --git a/vcl/jsdialog/enabled.cxx b/vcl/jsdialog/enabled.cxx index 13d45dd06849..1a774e243196 100644 --- a/vcl/jsdialog/enabled.cxx +++ b/vcl/jsdialog/enabled.cxx @@ -84,6 +84,7 @@ bool isBuilderEnabled(std::u16string_view rUIFile, bool bMobile) || rUIFile == u"cui/ui/transparencytabpage.ui" || rUIFile == u"cui/ui/twolinespage.ui" || rUIFile == u"cui/ui/widgettestdialog.ui" + || rUIFile == u"cui/ui/qrcodegen.ui" // formula || rUIFile == u"formula/ui/formuladialog.ui" || rUIFile == u"formula/ui/functionpage.ui"