tdf#152150 make AccessibilityCheckDialog modal when child of modal pdf dialog
Change-Id: If6ff13d17a5ead40d9694ea861dc8946c201147e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143044
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx
index 7463028..16b4b8a 100644
--- a/filter/source/pdf/impdialog.cxx
+++ b/filter/source/pdf/impdialog.cxx
@@ -52,7 +52,6 @@ ImpPDFTabDialog::ImpPDFTabDialog(weld::Window* pParent, const Sequence< Property
const Reference< XComponent >& rxDoc)
: SfxTabDialogController(pParent, "filter/ui/pdfoptionsdialog.ui", "PdfOptionsDialog"),
mrDoc(rxDoc),
mpParent(pParent),
maConfigItem( u"Office.Common/Filter/PDF/Export/", &rFilterData ),
maConfigI18N( u"Office.Common/I18N/CTL/" ),
mbIsPresentation( false ),
@@ -319,9 +318,10 @@ IMPL_LINK_NOARG(ImpPDFTabDialog, OkHdl, weld::Button&, void)
if (!aCollection.getIssues().empty())
{
mpAccessibilityCheckDialog = std::make_shared<svx::AccessibilityCheckDialog>(
mpParent, aCollection, [pShell]() -> sfx::AccessibilityIssueCollection {
m_xDialog.get(), aCollection, [pShell]() -> sfx::AccessibilityIssueCollection {
return pShell->runAccessibilityCheck();
});
mpAccessibilityCheckDialog->getDialog()->set_modal(true);
weld::DialogController::runAsync(mpAccessibilityCheckDialog, [this](sal_Int32 retValue){
m_xDialog->response(retValue);
});
@@ -348,6 +348,8 @@ ImpPDFTabDialog::~ImpPDFTabDialog()
maConfigI18N.WriteModifiedConfig();
if (mpAccessibilityCheckDialog)
{
// restore set_modal to its original state
mpAccessibilityCheckDialog->getDialog()->set_modal(false);
mpAccessibilityCheckDialog->response(RET_CANCEL);
}
}
diff --git a/filter/source/pdf/impdialog.hxx b/filter/source/pdf/impdialog.hxx
index 5063f91..9dc97d6 100644
--- a/filter/source/pdf/impdialog.hxx
+++ b/filter/source/pdf/impdialog.hxx
@@ -59,7 +59,6 @@ class ImpPDFTabLinksPage;
class ImpPDFTabDialog final : public SfxTabDialogController
{
css::uno::Reference<css::lang::XComponent> mrDoc;
weld::Window* mpParent;
FilterConfigItem maConfigItem;
FilterConfigItem maConfigI18N;