sw/source/ui/config/mailconfigpage.cxx | 5 +++-- sw/uiconfig/swriter/ui/testmailsettings.ui | 1 + vcl/qt5/QtInstanceBuilder.cxx | 1 + 3 files changed, 5 insertions(+), 2 deletions(-)
New commits: commit f463a48a9bc525d4ecfc34799a2b33c1cb1a89a0 Author: Michael Weghorn <[email protected]> AuthorDate: Sun Oct 5 01:27:17 2025 +0200 Commit: Michael Weghorn <[email protected]> CommitDate: Sun Oct 5 11:24:43 2025 +0200 tdf#130857 qt weld: Support mail merge test account settings dialog This means that native Qt widgets are used for that dialog now when using the qt5 or qt6 VCL plugin and starting LO with environment variable SAL_VCL_QT_USE_WELDED_WIDGETS=1 set. The dialog can be triggered as follows: * "Tools" -> "Options" -> "LibreOfficeDev Writer" -> "Mail Merge Email" * click the "Test Settings" button Change-Id: I47886d4954f59ae3d38c93b70272e9260a93bbba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191870 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/vcl/qt5/QtInstanceBuilder.cxx b/vcl/qt5/QtInstanceBuilder.cxx index 481428a57a46..e03e6dd4fb4d 100644 --- a/vcl/qt5/QtInstanceBuilder.cxx +++ b/vcl/qt5/QtInstanceBuilder.cxx @@ -172,6 +172,7 @@ bool QtInstanceBuilder::IsUIFileSupported(const OUString& rUIFile, const weld::W u"modules/swriter/ui/renameobjectdialog.ui"_ustr, u"modules/swriter/ui/rowheight.ui"_ustr, u"modules/swriter/ui/splittable.ui"_ustr, + u"modules/swriter/ui/testmailsettings.ui"_ustr, u"modules/swriter/ui/wordcount.ui"_ustr, u"sfx/ui/documentpropertiesdialog.ui"_ustr, u"sfx/ui/editdurationdialog.ui"_ustr, commit a86f1bb0e30f1dbc6f260130db5bd74b273326d3 Author: Michael Weghorn <[email protected]> AuthorDate: Sun Oct 5 01:18:18 2025 +0200 Commit: Michael Weghorn <[email protected]> CommitDate: Sun Oct 5 11:24:36 2025 +0200 tdf#130857 Make mail merge test account settings dialog async In its ctor, SwTestAccountSettingsDialog posts an event that is responsible for actually running the account settings test: m_pPostedEvent = Application::PostUserEvent(LINK(this, SwTestAccountSettingsDialog, TestHdl)); For the case of a native Qt dialog (QtInstanceDialog), that event would only be processed after the dialog gets closed when the dialog is run synchronously, so no test result would be shown in the dialog at all (once support for it is declared for using native Qt widgets, which will be done in an upcoming commit). Run the dialog asynchronously to make sure events get processed while it is being run. Explicitly make it modal to make sure it remains on top of the parent. The dialog can be triggered as follows: * "Tools" -> "Options" -> "LibreOfficeDev Writer" -> "Mail Merge Email" * click the "Test Settings" button Change-Id: I0ffb0c0a59690917217fd3d5d7cdf8dfb092e364 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191869 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/sw/source/ui/config/mailconfigpage.cxx b/sw/source/ui/config/mailconfigpage.cxx index 4e40badaa21b..77e366aa2255 100644 --- a/sw/source/ui/config/mailconfigpage.cxx +++ b/sw/source/ui/config/mailconfigpage.cxx @@ -253,8 +253,9 @@ IMPL_LINK_NOARG(SwMailConfigPage, AuthenticationHdl, weld::Button&, void) IMPL_LINK_NOARG(SwMailConfigPage, TestHdl, weld::Button&, void) { - SwTestAccountSettingsDialog aDlg(this); - aDlg.run(); + std::shared_ptr<SwTestAccountSettingsDialog> pDialog + = std::make_shared<SwTestAccountSettingsDialog>(this); + weld::DialogController::runAsync(pDialog, [](int) {}); } IMPL_LINK(SwMailConfigPage, SecureHdl, weld::Toggleable&, rBox, void) diff --git a/sw/uiconfig/swriter/ui/testmailsettings.ui b/sw/uiconfig/swriter/ui/testmailsettings.ui index b774d8cde234..0c096d652185 100644 --- a/sw/uiconfig/swriter/ui/testmailsettings.ui +++ b/sw/uiconfig/swriter/ui/testmailsettings.ui @@ -9,6 +9,7 @@ <property name="can-focus">False</property> <property name="border-width">6</property> <property name="title" translatable="yes" context="testmailsettings|TestMailSettings">Test Account Settings</property> + <property name="modal">True</property> <property name="type-hint">dialog</property> <child internal-child="vbox"> <object class="GtkBox" id="dialog-vbox1">
