filter/source/pdf/impdialog.cxx        |   24 +-
 filter/uiconfig/ui/pdfoptionsdialog.ui |  319 ---------------------------------
 include/vcl/tabs.hrc                   |    8 
 3 files changed, 24 insertions(+), 327 deletions(-)

New commits:
commit f80d35be727356af596d44d7f79cc4a20adb21da
Author:     Heiko Tietze <[email protected]>
AuthorDate: Wed Oct 1 11:58:09 2025 +0200
Commit:     Heiko Tietze <[email protected]>
CommitDate: Wed Oct 1 13:59:18 2025 +0200

    Resolves tdf#168627 - UI-less tab style for PDF export dialog
    
    Change-Id: Ib9f5d5bf3fddd18d234f69d3fb8dbb8d20f10a1b
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191714
    Reviewed-by: Heiko Tietze <[email protected]>
    Tested-by: Jenkins

diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx
index 788eccd670f5..e319530fb53c 100644
--- a/filter/source/pdf/impdialog.cxx
+++ b/filter/source/pdf/impdialog.cxx
@@ -46,6 +46,8 @@
 #include <com/sun/star/beans/XMaterialHolder.hpp>
 #include <com/sun/star/lang/XServiceInfo.hpp>
 
+#include <vcl/tabs.hrc>
+
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno;
 
@@ -195,15 +197,19 @@ ImpPDFTabDialog::ImpPDFTabDialog(weld::Window* pParent, 
const Sequence< Property
     mbSignPDF = maConfigItem.ReadBool( u"SignPDF"_ustr, false );
 
     // queue the tab pages for later creation (created when first shown)
-    AddTabPage(u"general"_ustr, ImpPDFTabGeneralPage::Create, nullptr );
-    if (comphelper::LibreOfficeKit::isActive())
-        m_xTabCtrl->remove_page(u"digitalsignatures"_ustr);
-    else
-        AddTabPage(u"digitalsignatures"_ustr, ImpPDFTabSigningPage::Create, 
nullptr);
-    AddTabPage(u"security"_ustr, ImpPDFTabSecurityPage::Create, nullptr);
-    AddTabPage(u"links"_ustr, ImpPDFTabLinksPage::Create, nullptr);
-    AddTabPage(u"userinterface"_ustr, ImpPDFTabViewerPage::Create, nullptr);
-    AddTabPage(u"initialview"_ustr, ImpPDFTabOpnFtrPage::Create, nullptr);
+    AddTabPage(u"general"_ustr, TabResId(RID_TAB_ORGANIZER.aLabel), 
ImpPDFTabGeneralPage::Create,
+               RID_L + RID_TAB_ORGANIZER.sIconName);
+    AddTabPage(u"initialview"_ustr, TabResId(RID_TAB_PDFINITIAL.aLabel),
+               ImpPDFTabOpnFtrPage::Create, RID_L + 
RID_TAB_PDFINITIAL.sIconName);
+    AddTabPage(u"userinterface"_ustr, TabResId(RID_TAB_PDFUI.aLabel), 
ImpPDFTabViewerPage::Create,
+               RID_L + RID_TAB_PDFUI.sIconName);
+    AddTabPage(u"links"_ustr, TabResId(RID_TAB_PDFLINKS.aLabel), 
ImpPDFTabLinksPage::Create,
+               RID_L + RID_TAB_PDFLINKS.sIconName);
+    AddTabPage(u"security"_ustr, TabResId(RID_TAB_PDFPROTECT.aLabel), 
ImpPDFTabSecurityPage::Create,
+               RID_L + RID_TAB_PDFPROTECT.sIconName);
+    if (!comphelper::LibreOfficeKit::isActive())
+        AddTabPage(u"digitalsignatures"_ustr, TabResId(RID_TAB_PDFSIGN.aLabel),
+                   ImpPDFTabSigningPage::Create, RID_L + 
RID_TAB_PDFSIGN.sIconName);
 
     SetCurPageId(u"general"_ustr);
 
diff --git a/filter/uiconfig/ui/pdfoptionsdialog.ui 
b/filter/uiconfig/ui/pdfoptionsdialog.ui
index 5c8fc555fc85..9cdd0d146002 100644
--- a/filter/uiconfig/ui/pdfoptionsdialog.ui
+++ b/filter/uiconfig/ui/pdfoptionsdialog.ui
@@ -92,326 +92,9 @@
             <property name="can-focus">True</property>
             <property name="hexpand">True</property>
             <property name="vexpand">True</property>
-            <property name="scrollable">True</property>
             <property name="tab-pos">left</property>
+            <property name="scrollable">True</property>
             <property name="group-name">icons</property>
-            <child>
-              <!-- n-columns=1 n-rows=1 -->
-              <object class="GtkBox">
-                <property name="visible">True</property>
-                <property name="can-focus">False</property>
-                <child>
-                  <placeholder/>
-                </child>
-              </object>
-            </child>
-            <child type="tab">
-              <object class="GtkBox" id="general">
-                <property name="can-focus">False</property>
-                <property name="spacing">3</property>
-                <child>
-                  <object class="GtkImage" id="imGeneral">
-                    <property name="visible">True</property>
-                    <property name="can-focus">False</property>
-                    <property 
name="icon-name">cmd/32/exportdialog.pdf</property>
-                    <accessibility>
-                      <relation type="labelled-by" target="lbGeneral"/>
-                    </accessibility>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="lbGeneral">
-                    <property name="visible">True</property>
-                    <property name="can-focus">False</property>
-                    <property name="label" translatable="yes" 
context="pdfoptionsdialog|general">General</property>
-                    <property name="mnemonic-widget">general</property>
-                    <accessibility>
-                      <relation type="label-for" target="imGeneral"/>
-                    </accessibility>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-              </object>
-            </child>
-            <child>
-              <!-- n-columns=1 n-rows=1 -->
-              <object class="GtkBox">
-                <property name="visible">True</property>
-                <property name="can-focus">False</property>
-                <child>
-                  <placeholder/>
-                </child>
-              </object>
-              <packing>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child type="tab">
-              <object class="GtkBox" id="initialview">
-                <property name="can-focus">False</property>
-                <property name="spacing">3</property>
-                <child>
-                  <object class="GtkImage" id="imInitialview">
-                    <property name="visible">True</property>
-                    <property name="can-focus">False</property>
-                    <property 
name="icon-name">cmd/32/showbookview.png</property>
-                    <accessibility>
-                      <relation type="labelled-by" target="lbInitialview"/>
-                    </accessibility>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="lbInitialview">
-                    <property name="visible">True</property>
-                    <property name="can-focus">False</property>
-                    <property name="label" translatable="yes" 
context="pdfoptionsdialog|initialview">Initial View</property>
-                    <property name="mnemonic-widget">initialview</property>
-                    <accessibility>
-                      <relation type="label-for" target="imInitialview"/>
-                    </accessibility>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="position">1</property>
-                <property name="tab-fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <!-- n-columns=1 n-rows=1 -->
-              <object class="GtkBox">
-                <property name="visible">True</property>
-                <property name="can-focus">False</property>
-                <child>
-                  <placeholder/>
-                </child>
-              </object>
-              <packing>
-                <property name="position">2</property>
-              </packing>
-            </child>
-            <child type="tab">
-              <object class="GtkBox" id="userinterface">
-                <property name="can-focus">False</property>
-                <property name="spacing">3</property>
-                <child>
-                  <object class="GtkImage" id="imUserinterface">
-                    <property name="visible">True</property>
-                    <property name="can-focus">False</property>
-                    <property 
name="icon-name">cmd/32/dbviewaliases.png</property>
-                    <accessibility>
-                      <relation type="labelled-by" target="lbUserinterface"/>
-                    </accessibility>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="lbUserinterface">
-                    <property name="visible">True</property>
-                    <property name="can-focus">False</property>
-                    <property name="label" translatable="yes" 
context="pdfoptionsdialog|userinterface">User Interface</property>
-                    <property name="mnemonic-widget">userinterface</property>
-                    <accessibility>
-                      <relation type="label-for" target="imUserinterface"/>
-                    </accessibility>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="position">2</property>
-                <property name="tab-fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <!-- n-columns=1 n-rows=1 -->
-              <object class="GtkBox">
-                <property name="visible">True</property>
-                <property name="can-focus">False</property>
-                <child>
-                  <placeholder/>
-                </child>
-              </object>
-              <packing>
-                <property name="position">3</property>
-              </packing>
-            </child>
-            <child type="tab">
-              <object class="GtkBox" id="links">
-                <property name="can-focus">False</property>
-                <property name="spacing">3</property>
-                <child>
-                  <object class="GtkImage" id="imLinks">
-                    <property name="visible">True</property>
-                    <property name="can-focus">False</property>
-                    <property 
name="icon-name">cmd/32/inserthyperlinkcontrol.png</property>
-                    <accessibility>
-                      <relation type="labelled-by" target="lbLinks"/>
-                    </accessibility>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="lbLinks">
-                    <property name="visible">True</property>
-                    <property name="can-focus">False</property>
-                    <property name="label" translatable="yes" 
context="pdfoptionsdialog|links">Links</property>
-                    <property name="mnemonic-widget">links</property>
-                    <accessibility>
-                      <relation type="label-for" target="imLinks"/>
-                    </accessibility>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">3</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="position">3</property>
-                <property name="tab-fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <!-- n-columns=1 n-rows=1 -->
-              <object class="GtkBox">
-                <property name="visible">True</property>
-                <property name="can-focus">False</property>
-                <child>
-                  <placeholder/>
-                </child>
-              </object>
-              <packing>
-                <property name="position">4</property>
-              </packing>
-            </child>
-            <child type="tab">
-              <object class="GtkBox" id="security">
-                <property name="can-focus">False</property>
-                <property name="spacing">3</property>
-                <child>
-                  <object class="GtkImage" id="imSecurity">
-                    <property name="visible">True</property>
-                    <property name="can-focus">False</property>
-                    <property name="icon-name">cmd/32/protect.png</property>
-                    <accessibility>
-                      <relation type="labelled-by" target="lbSecurity"/>
-                    </accessibility>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="lbSecurity">
-                    <property name="visible">True</property>
-                    <property name="can-focus">False</property>
-                    <property name="label" translatable="yes" 
context="pdfoptionsdialog|security">Security</property>
-                    <property name="mnemonic-widget">security</property>
-                    <accessibility>
-                      <relation type="label-for" target="imSecurity"/>
-                    </accessibility>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="position">4</property>
-                <property name="tab-fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <!-- n-columns=1 n-rows=1 -->
-              <object class="GtkBox">
-                <property name="visible">True</property>
-                <property name="can-focus">False</property>
-                <child>
-                  <placeholder/>
-                </child>
-              </object>
-              <packing>
-                <property name="position">5</property>
-              </packing>
-            </child>
-            <child type="tab">
-              <object class="GtkBox" id="digitalsignatures">
-                <property name="can-focus">False</property>
-                <property name="spacing">3</property>
-                <child>
-                  <object class="GtkImage" id="imDigitalsignatures">
-                    <property name="visible">True</property>
-                    <property name="can-focus">False</property>
-                    <property name="icon-name">cmd/32/signpdf.png</property>
-                    <accessibility>
-                      <relation type="labelled-by" 
target="lbDigitalsignatures"/>
-                    </accessibility>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="lbDigitalsignatures">
-                    <property name="visible">True</property>
-                    <property name="can-focus">False</property>
-                    <property name="label" translatable="yes" 
context="pdfoptionsdialog|digitalsignatures">Digital Signatures</property>
-                    <property 
name="mnemonic-widget">digitalsignatures</property>
-                    <accessibility>
-                      <relation type="label-for" target="imDigitalsignatures"/>
-                    </accessibility>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="position">5</property>
-                <property name="tab-fill">False</property>
-              </packing>
-            </child>
           </object>
           <packing>
             <property name="expand">False</property>
diff --git a/include/vcl/tabs.hrc b/include/vcl/tabs.hrc
index 75cf2333f83d..25d945e88fee 100644
--- a/include/vcl/tabs.hrc
+++ b/include/vcl/tabs.hrc
@@ -171,6 +171,14 @@ inline constexpr TabData RID_TAB_CUSTOM{ 
NC_("RID_TAB_CUSTOM", "Custom Propertie
 inline constexpr TabData RID_TAB_CMIS{ NC_("RID_TAB_CMIS", "CMIS Properties"), 
u"browseview.png"_ustr };
 inline constexpr TabData RID_TAB_SECURITY{ NC_("RID_TAB_SECURITY", 
"Security"), u"protect.png"_ustr };
 inline constexpr TabData RID_TAB_STATISTICS{ NC_("RID_TAB_STATISTICS", 
"Statistics"), u"autosum.png"_ustr };
+// pdf export
+inline constexpr TabData RID_TAB_PDFGENERAL{ NC_("RID_TAB_PDFGENERAL", 
"General"), u"exportdialog.pdf"_ustr };
+inline constexpr TabData RID_TAB_PDFINITIAL{ NC_("RID_TAB_PDFINITIAL", 
"Initial View"), u"showbookview.pdf"_ustr };
+inline constexpr TabData RID_TAB_PDFUI{ NC_("RID_TAB_PDFUI", "User 
Interface"), u"dbviewaliases.pdf"_ustr };
+inline constexpr TabData RID_TAB_PDFLINKS{ NC_("RID_TAB_PDFLINKS", "Links"), 
u"inserthyperlinkcontrol.pdf"_ustr };
+inline constexpr TabData RID_TAB_PDFPROTECT{ NC_("RID_TAB_PDFPROTECT", 
"Security"), u"protect.pdf"_ustr };
+inline constexpr TabData RID_TAB_PDFSIGN{ NC_("RID_TAB_PDFSIGN", "Digital 
Signatures"), u"signpdf.pdf"_ustr };
+
 
 static OUString TabResId(TranslateId aId)
 {

Reply via email to