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"

Reply via email to