filter/source/pdf/impdialog.cxx      |    2 --
 filter/source/pdf/impdialog.hxx      |    1 -
 filter/uiconfig/ui/pdfgeneralpage.ui |    7 +------
 vcl/qt5/QtInstanceBuilder.cxx        |    7 +++++++
 4 files changed, 8 insertions(+), 9 deletions(-)

New commits:
commit b0bdada577a3748b2aa659b333ccd3917053e8aa
Author:     Michael Weghorn <[email protected]>
AuthorDate: Wed Oct 1 16:50:28 2025 +0200
Commit:     Michael Weghorn <[email protected]>
CommitDate: Wed Oct 1 21:37:43 2025 +0200

    tdf#130857 a11y: Set mnemonic widget in PDF export dialog
    
    Set the mnemonic widget instead of manually setting
    the accessible labelled-for and labelled-by relations.
    
    For the case of native Qt widgets (qt6 VCL plugin
    with SAL_VCL_QT_USE_WELDED_WIDGETS=1), this also
    means that the label is correctly displayed now,
    instead of as a literal "PDF& Version" when
    the accelerator wasn't used as such.
    
    Change-Id: Iee2bbaa0f7cc9e98ae3c5333657c44a01a0a3687
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191745
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <[email protected]>

diff --git a/filter/uiconfig/ui/pdfgeneralpage.ui 
b/filter/uiconfig/ui/pdfgeneralpage.ui
index 5dea05536721..87218ec9f3fc 100644
--- a/filter/uiconfig/ui/pdfgeneralpage.ui
+++ b/filter/uiconfig/ui/pdfgeneralpage.ui
@@ -591,9 +591,6 @@
                               <item id="3" translatable="yes" 
context="pdfgeneralpage|pdf_version">PDF/A-3b (PDF 1.7 base)</item>
                               <item id="4" translatable="yes" 
context="pdfgeneralpage|pdf_version">PDF/A-4 (PDF 2.0 base)</item>
                             </items>
-                            <accessibility>
-                              <relation type="labelled-by" 
target="pdf_version_label"/>
-                            </accessibility>
                             <child internal-child="accessible">
                               <object class="AtkObject" 
id="pdf_version-atkobject">
                                 <property 
name="AtkObject::accessible-description" translatable="yes" 
context="pdfgeneralpage|extended_tip|pdf_version">Versions can be either the 
"classic" PDF (i.e. PDF 1.7, PDF 2.0) or PDF/A conformant. PDF/A is defined as 
an electronic document file format for long term preservation  and archiving. 
It allows only a subset of PDF features that are compatible with that use case. 
For example: All fonts that were used in the source document will be embedded 
into the generated PDF file. PDF tags will be written.</property>
@@ -619,9 +616,7 @@
                                 <property name="vexpand">True</property>
                                 <property name="label" translatable="yes" 
context="pdfgeneralpage|pdf_version">PDF_ Version:</property>
                                 <property name="use-underline">True</property>
-                                <accessibility>
-                                  <relation type="label-for" 
target="pdf_version"/>
-                                </accessibility>
+                                <property 
name="mnemonic-widget">pdf_version</property>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
commit 737fce67e8804ec9b03dcc40a8bcb273fab0ba3d
Author:     Michael Weghorn <[email protected]>
AuthorDate: Wed Oct 1 16:16:13 2025 +0200
Commit:     Michael Weghorn <[email protected]>
CommitDate: Wed Oct 1 21:37:36 2025 +0200

    tdf#130857 qt weld: Support PDF export 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 using "File" -> "Export As"
    -> "Export as PDF" in Writer.
    
    Change-Id: If7c0b9fba1110d6d891d6cce1d4d252a4cf00717
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191744
    Reviewed-by: Michael Weghorn <[email protected]>
    Tested-by: Jenkins

diff --git a/vcl/qt5/QtInstanceBuilder.cxx b/vcl/qt5/QtInstanceBuilder.cxx
index a770290f8d1c..481428a57a46 100644
--- a/vcl/qt5/QtInstanceBuilder.cxx
+++ b/vcl/qt5/QtInstanceBuilder.cxx
@@ -119,6 +119,7 @@ bool QtInstanceBuilder::IsUIFileSupported(const OUString& 
rUIFile, const weld::W
         u"dbaccess/ui/tabledesignsavemodifieddialog.ui"_ustr,
         u"desktop/ui/installforalldialog.ui"_ustr,
         u"desktop/ui/licensedialog.ui"_ustr,
+        u"filter/ui/pdfoptionsdialog.ui"_ustr,
         u"filter/ui/testxmlfilter.ui"_ustr,
         u"filter/ui/xmlfiltertabpagegeneral.ui"_ustr,
         u"filter/ui/xmlfiltertabpagetransformation.ui"_ustr,
@@ -235,6 +236,12 @@ bool QtInstanceBuilder::IsUIFileSupported(const OUString& 
rUIFile, const weld::W
         u"cui/ui/textattrtabpage.ui"_ustr,
         u"cui/ui/textanimtabpage.ui"_ustr,
         u"cui/ui/textcolumnstabpage.ui"_ustr,
+        u"filter/ui/pdfgeneralpage.ui"_ustr,
+        u"filter/ui/pdflinkspage.ui"_ustr,
+        u"filter/ui/pdfsecuritypage.ui"_ustr,
+        u"filter/ui/pdfsignpage.ui"_ustr,
+        u"filter/ui/pdfuserinterfacepage.ui"_ustr,
+        u"filter/ui/pdfviewpage.ui"_ustr,
         u"modules/scalc/ui/statisticsinfopage.ui"_ustr,
         u"modules/simpress/ui/annotationtagmenu.ui"_ustr,
         u"modules/swriter/ui/printoptionspage.ui"_ustr,
commit 5c762b43c493170890cdeac96e62bae3aa6c4c72
Author:     Michael Weghorn <[email protected]>
AuthorDate: Wed Oct 1 16:34:28 2025 +0200
Commit:     Michael Weghorn <[email protected]>
CommitDate: Wed Oct 1 21:37:27 2025 +0200

    tdf#130857 pdf export dialog: Don't disable frame label
    
    Don't disable the File "Encryption and Permission" frame
    label in the "Security" page of the PDF export dialog.
    
    A part of its content (the labels saying why no encryption
    happens, when one of the PDF/A versions was selected in
    the "General" tab) is not disabled either, so the frame
    label itself shouldn't either, as the frame itself
    isn't disabled altogether.
    
    This also prepares for supporting the dialog with
    native Qt widgets, where there is no separate
    label widget for the frame, but the QGroupBox
    widget used in QtInstanceFrame handles the
    title itself.
    
    Change-Id: Ic8cf0bd09deae69f8830b972014e68d6126248d8
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191743
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <[email protected]>

diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx
index e319530fb53c..108291f21ddd 100644
--- a/filter/source/pdf/impdialog.cxx
+++ b/filter/source/pdf/impdialog.cxx
@@ -1372,7 +1372,6 @@ 
ImpPDFTabSecurityPage::ImpPDFTabSecurityPage(weld::Container* pPage, weld::Dialo
     , mxCbEnableCopy(m_xBuilder->weld_check_button(u"enablecopy"_ustr))
     , 
mxCbEnableAccessibility(m_xBuilder->weld_check_button(u"enablea11y"_ustr))
     , mxPasswordTitle(m_xBuilder->weld_label(u"setpasswordstitle"_ustr))
-    , mxPermissionTitle(m_xBuilder->weld_label(u"label2"_ustr))
 {
     msStrSetPwd = mxPasswordTitle->get_label();
     mxPbSetPwd->connect_clicked(LINK(this, ImpPDFTabSecurityPage, 
ClickmaPbSetPwdHdl));
@@ -1537,7 +1536,6 @@ void ImpPDFTabSecurityPage::enablePermissionControls()
     {
         mxCbEnableAccessibility->set_active(true);
     }
-    mxPermissionTitle->set_sensitive(!bIsPDFASel);
     mxPbSetPwd->set_sensitive(!bIsPDFASel);
     mxCbEnableAccessibility->set_sensitive(!bIsPDFUASel);
     if (bIsPDFASel)
diff --git a/filter/source/pdf/impdialog.hxx b/filter/source/pdf/impdialog.hxx
index 6d3bc4a3b695..625b662ef8e8 100644
--- a/filter/source/pdf/impdialog.hxx
+++ b/filter/source/pdf/impdialog.hxx
@@ -362,7 +362,6 @@ class ImpPDFTabSecurityPage : public SfxTabPage
     std::unique_ptr<weld::CheckButton> mxCbEnableCopy;
     std::unique_ptr<weld::CheckButton> mxCbEnableAccessibility;
     std::unique_ptr<weld::Label> mxPasswordTitle;
-    std::unique_ptr<weld::Label> mxPermissionTitle;
 
     std::shared_ptr< SfxPasswordDialog > mpPasswordDialog;
     std::shared_ptr< weld::MessageDialog > mpUnsupportedMsgDialog;

Reply via email to