chart2/inc/strings.hrc                                    |   21 -
 chart2/source/controller/dialogs/dlg_ObjectProperties.cxx |  186 +++++++----
 chart2/source/controller/dialogs/dlg_ShapeFont.cxx        |   11 
 chart2/source/controller/dialogs/dlg_ShapeParagraph.cxx   |   22 -
 chart2/source/controller/dialogs/dlg_View3D.cxx           |   15 
 chart2/uiconfig/ui/3dviewdialog.ui                        |    2 
 chart2/uiconfig/ui/attributedialog.ui                     |    2 
 chart2/uiconfig/ui/chardialog.ui                          |   70 ----
 chart2/uiconfig/ui/paradialog.ui                          |  234 +-------------
 include/vcl/tabs.hrc                                      |   33 +
 10 files changed, 211 insertions(+), 385 deletions(-)

New commits:
commit d2662f5f286df2655266494305d9795246627012
Author:     Heiko Tietze <tietze.he...@gmail.com>
AuthorDate: Mon Jul 7 10:48:30 2025 +0200
Commit:     Heiko Tietze <heiko.tie...@documentfoundation.org>
CommitDate: Thu Jul 10 09:20:58 2025 +0200

    tdf#167316 tdf#167407 - VT style to chart props & char/para format
    
    Change-Id: If103cb3ba1b5d60bce08a237d39e93475a6f16d3
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187466
    Reviewed-by: Heiko Tietze <heiko.tie...@documentfoundation.org>
    Tested-by: Jenkins

diff --git a/chart2/inc/strings.hrc b/chart2/inc/strings.hrc
index 522dd8cdedfa..52dc3893b54e 100644
--- a/chart2/inc/strings.hrc
+++ b/chart2/inc/strings.hrc
@@ -28,27 +28,6 @@
 #define STR_PAGE_CHARTTYPE                          NC_("STR_PAGE_CHARTTYPE", 
"Chart Type")
 #define STR_PAGE_DATA_RANGE                         NC_("STR_PAGE_DATA_RANGE", 
"Data Range")
 #define STR_PAGE_CHART_ELEMENTS                     
NC_("STR_PAGE_CHART_ELEMENTS", "Chart Elements")
-#define STR_PAGE_LINE                               NC_("STR_PAGE_LINE", 
"Line")
-#define STR_PAGE_BORDER                             NC_("STR_PAGE_BORDER", 
"Borders")
-#define STR_PAGE_AREA                               NC_("STR_PAGE_AREA", 
"Area")
-#define STR_PAGE_TRANSPARENCY                       
NC_("STR_PAGE_TRANSPARENCY", "Transparency")
-#define STR_PAGE_FONT                               NC_("STR_PAGE_FONT", 
"Font")
-#define STR_PAGE_FONT_EFFECTS                       
NC_("STR_PAGE_FONT_EFFECTS", "Font Effects")
-#define STR_PAGE_NUMBERS                            NC_("STR_PAGE_NUMBERS", 
"Numbers")
-#define STR_PAGE_POSITION                           NC_("STR_PAGE_POSITION", 
"Position")
-#define STR_PAGE_LAYOUT                             NC_("STR_PAGE_LAYOUT", 
"Layout")
-#define STR_PAGE_OPTIONS                            NC_("STR_PAGE_OPTIONS", 
"Options")
-#define STR_PAGE_SCALE                              NC_("STR_PAGE_SCALE", 
"Scale")
-#define STR_PAGE_POSITIONING                        
NC_("STR_PAGE_POSITIONING", "Positioning")
-#define STR_PAGE_TRENDLINE_TYPE                     
NC_("STR_PAGE_TRENDLINE_TYPE", "Type")
-#define STR_PAGE_XERROR_BARS                        
NC_("STR_PAGE_XERROR_BARS", "X Error Bars")
-#define STR_PAGE_YERROR_BARS                        
NC_("STR_PAGE_YERROR_BARS", "Y Error Bars")
-#define STR_PAGE_ALIGNMENT                          NC_("STR_PAGE_ALIGNMENT", 
"Alignment")
-#define STR_PAGE_PERSPECTIVE                        
NC_("STR_PAGE_PERSPECTIVE", "Perspective")
-#define STR_PAGE_APPEARANCE                         NC_("STR_PAGE_APPEARANCE", 
"Appearance")
-#define STR_PAGE_ILLUMINATION                       
NC_("STR_PAGE_ILLUMINATION", "Illumination")
-#define STR_PAGE_ASIAN                              NC_("STR_PAGE_ASIAN", 
"Asian Typography")
-#define STR_PAGE_COLOR_PALETTE                      
NC_("STR_PAGE_COLOR_PALETTE", "Color Palette")
 #define STR_OBJECT_AVERAGE_LINE_WITH_PARAMETERS     
NC_("STR_OBJECT_AVERAGE_LINE_WITH_PARAMETERS", "Mean value line with value 
%AVERAGE_VALUE and standard deviation %STD_DEVIATION")
 #define STR_OBJECT_AXIS                             NC_("STR_OBJECT_AXIS", 
"Axis")
 #define STR_OBJECT_AXIS_X                           NC_("STR_OBJECT_AXIS_X", 
"X Axis")
diff --git a/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx 
b/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
index 8148bd6b880a..3d34617ee244 100644
--- a/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
+++ b/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
@@ -22,7 +22,6 @@
 #include <cstddef>
 
 #include <dlg_ObjectProperties.hxx>
-#include <strings.hrc>
 #include "tp_AxisLabel.hxx"
 #include "tp_DataLabel.hxx"
 #include "tp_LegendPosition.hxx"
@@ -37,7 +36,6 @@
 #include "tp_DataPointOption.hxx"
 #include "tp_DataTable.hxx"
 #include "tp_ChartColorPalette.hxx"
-#include <ResId.hxx>
 #include <ViewElementListProvider.hxx>
 #include <ChartType.hxx>
 #include <ChartTypeHelper.hxx>
@@ -75,6 +73,8 @@
 #include <utility>
 #include <comphelper/diagnose_ex.hxx>
 
+#include <vcl/tabs.hrc>
+
 namespace chart
 {
 
@@ -347,57 +347,89 @@ SchAttribTabDlg::SchAttribTabDlg(weld::Window* pParent,
     switch (eType)
     {
         case OBJECTTYPE_TITLE:
-            AddTabPage(u"border"_ustr, SchResId(STR_PAGE_BORDER), 
RID_SVXPAGE_LINE);
-            AddTabPage(u"area"_ustr, SchResId(STR_PAGE_AREA), 
RID_SVXPAGE_AREA);
-            AddTabPage(u"transparent"_ustr, SchResId(STR_PAGE_TRANSPARENCY), 
RID_SVXPAGE_TRANSPARENCE);
-            AddTabPage(u"fontname"_ustr, SchResId(STR_PAGE_FONT), 
RID_SVXPAGE_CHAR_NAME);
-            AddTabPage(u"effects"_ustr, SchResId(STR_PAGE_FONT_EFFECTS), 
RID_SVXPAGE_CHAR_EFFECTS);
-            AddTabPage(u"alignment"_ustr, SchResId(STR_PAGE_ALIGNMENT), 
SchAlignmentTabPage::Create);
+            AddTabPage(u"border"_ustr, TabResId(RID_TAB_BORDER.aLabel), 
RID_SVXPAGE_LINE,
+                       RID_M + RID_TAB_BORDER.sIconName);
+            AddTabPage(u"area"_ustr, TabResId(RID_TAB_AREA.aLabel), 
RID_SVXPAGE_AREA,
+                       RID_M + RID_TAB_AREA.sIconName);
+            AddTabPage(u"transparent"_ustr, 
TabResId(RID_TAB_TRANSPARENCE.aLabel), RID_SVXPAGE_TRANSPARENCE,
+                       RID_M + RID_TAB_TRANSPARENCE.sIconName);
+            AddTabPage(u"fontname"_ustr, TabResId(RID_TAB_FONT.aLabel), 
RID_SVXPAGE_CHAR_NAME,
+                       RID_M + RID_TAB_FONT.sIconName);
+            AddTabPage(u"effects"_ustr, TabResId(RID_TAB_FONTEFFECTS.aLabel), 
RID_SVXPAGE_CHAR_EFFECTS,
+                       RID_M + RID_TAB_FONTEFFECTS.sIconName);
+            AddTabPage(u"alignment"_ustr, TabResId(RID_TAB_ALIGNMENT.aLabel), 
SchAlignmentTabPage::Create,
+                       RID_M + RID_TAB_ALIGNMENT.sIconName);
             if( SvtCJKOptions::IsAsianTypographyEnabled() )
-                AddTabPage(u"asian"_ustr, SchResId(STR_PAGE_ASIAN), 
RID_SVXPAGE_PARA_ASIAN);
+                AddTabPage(u"asian"_ustr, TabResId(RID_TAB_ASIANTYPO.aLabel), 
RID_SVXPAGE_PARA_ASIAN,
+                           RID_M + RID_TAB_ASIANTYPO.sIconName);
             break;
 
         case OBJECTTYPE_LEGEND:
-            AddTabPage(u"border"_ustr, SchResId(STR_PAGE_BORDER), 
RID_SVXPAGE_LINE);
-            AddTabPage(u"area"_ustr, SchResId(STR_PAGE_AREA), 
RID_SVXPAGE_AREA);
-            AddTabPage(u"transparent"_ustr, SchResId(STR_PAGE_TRANSPARENCY), 
RID_SVXPAGE_TRANSPARENCE);
-            AddTabPage(u"colorpalette"_ustr, SchResId(STR_PAGE_COLOR_PALETTE), 
ChartColorPaletteTabPage::Create);
-            AddTabPage(u"fontname"_ustr, SchResId(STR_PAGE_FONT), 
RID_SVXPAGE_CHAR_NAME);
-            AddTabPage(u"effects"_ustr, SchResId(STR_PAGE_FONT_EFFECTS), 
RID_SVXPAGE_CHAR_EFFECTS);
-            AddTabPage(u"legendpos"_ustr, SchResId(STR_PAGE_POSITION), 
SchLegendPosTabPage::Create);
+            AddTabPage(u"border"_ustr, TabResId(RID_TAB_BORDER.aLabel), 
RID_SVXPAGE_LINE,
+                       RID_M + RID_TAB_BORDER.sIconName);
+            AddTabPage(u"area"_ustr, TabResId(RID_TAB_AREA.aLabel), 
RID_SVXPAGE_AREA,
+                       RID_M + RID_TAB_AREA.sIconName);
+            AddTabPage(u"transparent"_ustr, 
TabResId(RID_TAB_TRANSPARENCE.aLabel), RID_SVXPAGE_TRANSPARENCE,
+                       RID_M + RID_TAB_TRANSPARENCE.sIconName);
+            AddTabPage(u"colorpalette"_ustr, 
TabResId(RID_TAB_COLORPALETTE.aLabel), ChartColorPaletteTabPage::Create,
+                       RID_M + RID_TAB_COLORPALETTE.sIconName);
+            AddTabPage(u"fontname"_ustr, TabResId(RID_TAB_FONT.aLabel), 
RID_SVXPAGE_CHAR_NAME,
+                       RID_M + RID_TAB_FONT.sIconName);
+            AddTabPage(u"effects"_ustr, TabResId(RID_TAB_FONTEFFECTS.aLabel), 
RID_SVXPAGE_CHAR_EFFECTS,
+                       RID_M + RID_TAB_FONTEFFECTS.sIconName);
+            AddTabPage(u"legendpos"_ustr, 
TabResId(RID_TAB_CHART_LEGENDPOS.aLabel), SchLegendPosTabPage::Create,
+                       RID_M + RID_TAB_CHART_LEGENDPOS.sIconName);
             if (SvtCJKOptions::IsAsianTypographyEnabled())
-                AddTabPage(u"asian"_ustr, SchResId(STR_PAGE_ASIAN), 
RID_SVXPAGE_PARA_ASIAN);
+                AddTabPage(u"asian"_ustr, TabResId(RID_TAB_ASIANTYPO.aLabel), 
RID_SVXPAGE_PARA_ASIAN,
+                           RID_M + RID_TAB_ASIANTYPO.sIconName);
             break;
 
         case OBJECTTYPE_DATA_SERIES:
         case OBJECTTYPE_DATA_POINT:
             if( m_pParameter->ProvidesSecondaryYAxis() || 
m_pParameter->ProvidesOverlapAndGapWidth() || 
m_pParameter->ProvidesMissingValueTreatments() )
-                AddTabPage(u"options"_ustr, 
SchResId(STR_PAGE_OPTIONS),SchOptionTabPage::Create);
+                AddTabPage(u"options"_ustr, 
TabResId(RID_TAB_CHART_OPTIONS.aLabel), SchOptionTabPage::Create,
+                           RID_M + RID_TAB_CHART_OPTIONS.sIconName);
             if( m_pParameter->ProvidesStartingAngle())
-                AddTabPage(u"polaroptions"_ustr, SchResId(STR_PAGE_OPTIONS), 
PolarOptionsTabPage::Create);
+                AddTabPage(u"polaroptions"_ustr, 
TabResId(RID_TAB_CHART_OPTIONS.aLabel), PolarOptionsTabPage::Create,
+                           RID_M + RID_TAB_CHART_OPTIONS.sIconName);
             if (m_pParameter->IsPieChartDataPoint())
-                AddTabPage(u"datapointoption"_ustr, 
SchResId(STR_PAGE_OPTIONS), DataPointOptionTabPage::Create);
+                AddTabPage(u"datapointoption"_ustr, 
TabResId(RID_TAB_CHART_OPTIONS.aLabel), DataPointOptionTabPage::Create,
+                           RID_M + RID_TAB_CHART_OPTIONS.sIconName);
 
             if( m_pParameter->HasGeometryProperties() )
-                AddTabPage(u"layout"_ustr, SchResId(STR_PAGE_LAYOUT), 
SchLayoutTabPage::Create);
+                AddTabPage(u"layout"_ustr, 
TabResId(RID_TAB_CHART_LAYOUT.aLabel), SchLayoutTabPage::Create,
+                           RID_M + RID_TAB_CHART_LAYOUT.sIconName);
 
             if(m_pParameter->HasAreaProperties())
             {
-                AddTabPage(u"area"_ustr, SchResId(STR_PAGE_AREA), 
RID_SVXPAGE_AREA);
-                AddTabPage(u"transparent"_ustr, 
SchResId(STR_PAGE_TRANSPARENCY), RID_SVXPAGE_TRANSPARENCE);
+                AddTabPage(u"area"_ustr, TabResId(RID_TAB_AREA.aLabel), 
RID_SVXPAGE_AREA,
+                           RID_M + RID_TAB_AREA.sIconName);
+                AddTabPage(u"transparent"_ustr, 
TabResId(RID_TAB_TRANSPARENCE.aLabel), RID_SVXPAGE_TRANSPARENCE,
+                           RID_M + RID_TAB_TRANSPARENCE.sIconName);
+                AddTabPage(u"border"_ustr, TabResId(RID_TAB_BORDER.aLabel), 
RID_SVXPAGE_LINE,
+                        RID_M + RID_TAB_BORDER.sIconName);
             }
-            AddTabPage(u"border"_ustr, SchResId( 
m_pParameter->HasAreaProperties() ? STR_PAGE_BORDER : STR_PAGE_LINE ), 
RID_SVXPAGE_LINE);
-            AddTabPage(u"colorpalette"_ustr, SchResId(STR_PAGE_COLOR_PALETTE), 
ChartColorPaletteTabPage::Create);
+            else
+                AddTabPage(u"border"_ustr, TabResId(RID_TAB_LINE.aLabel), 
RID_SVXPAGE_LINE,
+                           RID_M + RID_TAB_LINE.sIconName);
+
+            AddTabPage(u"colorpalette"_ustr, 
TabResId(RID_TAB_COLORPALETTE.aLabel), ChartColorPaletteTabPage::Create,
+                       RID_M + RID_TAB_COLORPALETTE.sIconName);
             break;
 
         case OBJECTTYPE_DATA_LABEL:
         case OBJECTTYPE_DATA_LABELS:
-            AddTabPage(u"border"_ustr, SchResId(STR_PAGE_BORDER), 
RID_SVXPAGE_LINE);
-            AddTabPage(u"datalabels"_ustr, SchResId(STR_OBJECT_DATALABELS), 
DataLabelsTabPage::Create);
-            AddTabPage(u"fontname"_ustr, SchResId(STR_PAGE_FONT), 
RID_SVXPAGE_CHAR_NAME);
-            AddTabPage(u"effects"_ustr, SchResId(STR_PAGE_FONT_EFFECTS), 
RID_SVXPAGE_CHAR_EFFECTS);
+            AddTabPage(u"border"_ustr, TabResId(RID_TAB_BORDER.aLabel), 
RID_SVXPAGE_LINE,
+                       RID_M + RID_TAB_BORDER.sIconName);
+            AddTabPage(u"datalabels"_ustr, 
TabResId(RID_TAB_CHART_DATALABEL.aLabel), DataLabelsTabPage::Create,
+                       RID_M + RID_TAB_CHART_DATALABEL.sIconName);
+            AddTabPage(u"fontname"_ustr, TabResId(RID_TAB_FONT.aLabel), 
RID_SVXPAGE_CHAR_NAME,
+                       RID_M + RID_TAB_FONT.sIconName);
+            AddTabPage(u"effects"_ustr, TabResId(RID_TAB_FONTEFFECTS.aLabel), 
RID_SVXPAGE_CHAR_EFFECTS,
+                       RID_M + RID_TAB_FONTEFFECTS.sIconName);
             if( SvtCJKOptions::IsAsianTypographyEnabled() )
-                AddTabPage(u"asian"_ustr, SchResId(STR_PAGE_ASIAN), 
RID_SVXPAGE_PARA_ASIAN);
+                AddTabPage(u"asian"_ustr, TabResId(RID_TAB_ASIANTYPO.aLabel), 
RID_SVXPAGE_PARA_ASIAN,
+                           RID_M + RID_TAB_ASIANTYPO.sIconName);
 
             break;
 
@@ -405,29 +437,41 @@ SchAttribTabDlg::SchAttribTabDlg(weld::Window* pParent,
         {
             if( m_pParameter->HasScaleProperties() )
             {
-                AddTabPage(u"scale"_ustr, SchResId(STR_PAGE_SCALE), 
ScaleTabPage::Create);
+                AddTabPage(u"scale"_ustr, 
TabResId(RID_TAB_CHART_SCALE.aLabel), ScaleTabPage::Create,
+                           RID_M + RID_TAB_CHART_SCALE.sIconName);
                 //no positioning page for z axes so far as the tickmarks are 
not shown so far
-                AddTabPage(u"axispos"_ustr, SchResId(STR_PAGE_POSITIONING), 
AxisPositionsTabPage::Create);
+                AddTabPage(u"axispos"_ustr, 
TabResId(RID_TAB_CHART_POSITIONING.aLabel), AxisPositionsTabPage::Create,
+                           RID_M + RID_TAB_CHART_POSITIONING.sIconName);
             }
-            AddTabPage(u"border"_ustr, SchResId(STR_PAGE_LINE), 
RID_SVXPAGE_LINE);
-            AddTabPage(u"axislabel"_ustr, SchResId(STR_OBJECT_LABEL), 
SchAxisLabelTabPage::Create);
+            AddTabPage(u"border"_ustr, TabResId(RID_TAB_BORDER.aLabel), 
RID_SVXPAGE_LINE,
+                       RID_M + RID_TAB_BORDER.sIconName);
+            AddTabPage(u"axislabel"_ustr, 
TabResId(RID_TAB_CHART_AXISLABEL.aLabel), SchAxisLabelTabPage::Create,
+                       RID_M + RID_TAB_CHART_AXISLABEL.sIconName);
             if( m_pParameter->HasNumberProperties() )
-                AddTabPage(u"numberformat"_ustr, SchResId(STR_PAGE_NUMBERS), 
RID_SVXPAGE_NUMBERFORMAT);
-            AddTabPage(u"fontname"_ustr, SchResId(STR_PAGE_FONT), 
RID_SVXPAGE_CHAR_NAME);
-            AddTabPage(u"effects"_ustr, SchResId(STR_PAGE_FONT_EFFECTS), 
RID_SVXPAGE_CHAR_EFFECTS);
+                AddTabPage(u"numberformat"_ustr, 
TabResId(RID_TAB_NUMBERS.aLabel), RID_SVXPAGE_NUMBERFORMAT,
+                           RID_M + RID_TAB_NUMBERS.sIconName);
+            AddTabPage(u"fontname"_ustr, TabResId(RID_TAB_FONT.aLabel), 
RID_SVXPAGE_CHAR_NAME,
+                       RID_M + RID_TAB_FONT.sIconName);
+            AddTabPage(u"effects"_ustr, TabResId(RID_TAB_FONTEFFECTS.aLabel), 
RID_SVXPAGE_CHAR_EFFECTS,
+                       RID_M + RID_TAB_FONTEFFECTS.sIconName);
             if( SvtCJKOptions::IsAsianTypographyEnabled() )
-                AddTabPage(u"asian"_ustr, SchResId(STR_PAGE_ASIAN), 
RID_SVXPAGE_PARA_ASIAN);
+                AddTabPage(u"asian"_ustr, TabResId(RID_TAB_ASIANTYPO.aLabel), 
RID_SVXPAGE_PARA_ASIAN,
+                           RID_M + RID_TAB_ASIANTYPO.sIconName);
             break;
         }
 
         case OBJECTTYPE_DATA_ERRORS_X:
-            AddTabPage(u"xerrorbar"_ustr, SchResId(STR_PAGE_XERROR_BARS), 
ErrorBarsTabPage::Create);
-            AddTabPage(u"border"_ustr, SchResId(STR_PAGE_LINE), 
RID_SVXPAGE_LINE);
+            AddTabPage(u"xerrorbar"_ustr, 
TabResId(RID_TAB_CHART_ERROR_X.aLabel), ErrorBarsTabPage::Create,
+                       RID_M  + RID_TAB_CHART_ERROR_X.sIconName);
+            AddTabPage(u"border"_ustr, TabResId(RID_TAB_LINE.aLabel), 
RID_SVXPAGE_LINE,
+                       RID_M + RID_TAB_LINE.sIconName);
             break;
 
         case OBJECTTYPE_DATA_ERRORS_Y:
-            AddTabPage(u"yerrorbar"_ustr, SchResId(STR_PAGE_YERROR_BARS), 
ErrorBarsTabPage::Create);
-            AddTabPage(u"border"_ustr, SchResId(STR_PAGE_LINE), 
RID_SVXPAGE_LINE);
+            AddTabPage(u"yerrorbar"_ustr, 
TabResId(RID_TAB_CHART_ERROR_Y.aLabel), ErrorBarsTabPage::Create,
+                       RID_M  + RID_TAB_CHART_ERROR_Y.sIconName);
+            AddTabPage(u"border"_ustr, TabResId(RID_TAB_LINE.aLabel), 
RID_SVXPAGE_LINE,
+                       RID_M + RID_TAB_LINE.sIconName);
             break;
 
         case OBJECTTYPE_DATA_ERRORS_Z:
@@ -437,12 +481,15 @@ SchAttribTabDlg::SchAttribTabDlg(weld::Window* pParent,
         case OBJECTTYPE_SUBGRID:
         case OBJECTTYPE_DATA_AVERAGE_LINE:
         case OBJECTTYPE_DATA_STOCK_RANGE:
-            AddTabPage(u"border"_ustr, SchResId(STR_PAGE_LINE), 
RID_SVXPAGE_LINE);
+            AddTabPage(u"border"_ustr, TabResId(RID_TAB_LINE.aLabel), 
RID_SVXPAGE_LINE,
+                       RID_M + RID_TAB_LINE.sIconName);
             break;
 
         case OBJECTTYPE_DATA_CURVE:
-            AddTabPage(u"trendline"_ustr, SchResId(STR_PAGE_TRENDLINE_TYPE), 
TrendlineTabPage::Create);
-            AddTabPage(u"border"_ustr, SchResId(STR_PAGE_LINE), 
RID_SVXPAGE_LINE);
+            AddTabPage(u"trendline"_ustr, 
TabResId(RID_TAB_CHART_TREND.aLabel), TrendlineTabPage::Create,
+                       RID_M + RID_TAB_CHART_TREND.sIconName);
+            AddTabPage(u"border"_ustr, TabResId(RID_TAB_LINE.aLabel), 
RID_SVXPAGE_LINE,
+                       RID_M + RID_TAB_LINE.sIconName);
             break;
 
         case OBJECTTYPE_DATA_STOCK_LOSS:
@@ -451,11 +498,16 @@ SchAttribTabDlg::SchAttribTabDlg(weld::Window* pParent,
         case OBJECTTYPE_DIAGRAM_FLOOR:
         case OBJECTTYPE_DIAGRAM_WALL:
         case OBJECTTYPE_DIAGRAM:
-            AddTabPage(u"border"_ustr, SchResId(STR_PAGE_BORDER), 
RID_SVXPAGE_LINE);
-            AddTabPage(u"area"_ustr, SchResId(STR_PAGE_AREA), 
RID_SVXPAGE_AREA);
-            AddTabPage(u"transparent"_ustr, SchResId(STR_PAGE_TRANSPARENCY), 
RID_SVXPAGE_TRANSPARENCE);
+            AddTabPage(u"border"_ustr, TabResId(RID_TAB_BORDER.aLabel), 
RID_SVXPAGE_LINE,
+                       RID_M + RID_TAB_BORDER.sIconName);
+            AddTabPage(u"area"_ustr, TabResId(RID_TAB_AREA.aLabel), 
RID_SVXPAGE_AREA,
+                       RID_M + RID_TAB_AREA.sIconName);
+            AddTabPage(u"transparent"_ustr, 
TabResId(RID_TAB_TRANSPARENCE.aLabel), RID_SVXPAGE_TRANSPARENCE,
+                       RID_M + RID_TAB_TRANSPARENCE.sIconName);
             if (eType != OBJECTTYPE_DATA_STOCK_LOSS && eType != 
OBJECTTYPE_DATA_STOCK_GAIN)
-                AddTabPage(u"colorpalette"_ustr, 
SchResId(STR_PAGE_COLOR_PALETTE), ChartColorPaletteTabPage::Create);
+                AddTabPage(u"colorpalette"_ustr, 
TabResId(RID_TAB_COLORPALETTE.aLabel), ChartColorPaletteTabPage::Create,
+                           RID_M + RID_TAB_COLORPALETTE.sIconName);
+
             break;
 
         case OBJECTTYPE_LEGEND_ENTRY:
@@ -464,25 +516,37 @@ SchAttribTabDlg::SchAttribTabDlg(weld::Window* pParent,
             // nothing
             break;
         case OBJECTTYPE_DATA_TABLE:
-            AddTabPage(u"datatable"_ustr, SchResId(STR_DATA_TABLE), 
DataTableTabPage::Create);
-            AddTabPage(u"border"_ustr, SchResId(STR_PAGE_LINE), 
RID_SVXPAGE_LINE);
-            AddTabPage(u"area"_ustr, SchResId(STR_PAGE_AREA), 
RID_SVXPAGE_AREA);
-            AddTabPage(u"fontname"_ustr, SchResId(STR_PAGE_FONT), 
RID_SVXPAGE_CHAR_NAME);
-            AddTabPage(u"effects"_ustr, SchResId(STR_PAGE_FONT_EFFECTS), 
RID_SVXPAGE_CHAR_EFFECTS);
+            AddTabPage(u"datatable"_ustr, 
TabResId(RID_TAB_CHART_TABLE.aLabel), DataTableTabPage::Create,
+                       RID_M + RID_TAB_CHART_TABLE.sIconName);
+            AddTabPage(u"border"_ustr, TabResId(RID_TAB_BORDER.aLabel), 
RID_SVXPAGE_LINE,
+                       RID_M + RID_TAB_BORDER.sIconName);
+            AddTabPage(u"area"_ustr, TabResId(RID_TAB_AREA.aLabel), 
RID_SVXPAGE_AREA,
+                       RID_M + RID_TAB_AREA.sIconName);
+            AddTabPage(u"fontname"_ustr, TabResId(RID_TAB_FONT.aLabel), 
RID_SVXPAGE_CHAR_NAME,
+                       RID_M + RID_TAB_FONT.sIconName);
+            AddTabPage(u"effects"_ustr, TabResId(RID_TAB_FONTEFFECTS.aLabel), 
RID_SVXPAGE_CHAR_EFFECTS,
+                       RID_M + RID_TAB_FONTEFFECTS.sIconName);
             break;
         case OBJECTTYPE_DATA_CURVE_EQUATION:
-            AddTabPage(u"border"_ustr, SchResId(STR_PAGE_BORDER), 
RID_SVXPAGE_LINE);
-            AddTabPage(u"area"_ustr, SchResId(STR_PAGE_AREA), 
RID_SVXPAGE_AREA);
-            AddTabPage(u"transparent"_ustr, SchResId(STR_PAGE_TRANSPARENCY), 
RID_SVXPAGE_TRANSPARENCE);
-            AddTabPage(u"fontname"_ustr, SchResId(STR_PAGE_FONT), 
RID_SVXPAGE_CHAR_NAME);
-            AddTabPage(u"effects"_ustr, SchResId(STR_PAGE_FONT_EFFECTS), 
RID_SVXPAGE_CHAR_EFFECTS);
-            AddTabPage(u"numberformat"_ustr, SchResId(STR_PAGE_NUMBERS), 
RID_SVXPAGE_NUMBERFORMAT);
+            AddTabPage(u"border"_ustr, TabResId(RID_TAB_BORDER.aLabel), 
RID_SVXPAGE_LINE,
+                       RID_M + RID_TAB_BORDER.sIconName);
+            AddTabPage(u"area"_ustr, TabResId(RID_TAB_AREA.aLabel), 
RID_SVXPAGE_AREA,
+                       RID_M + RID_TAB_AREA.sIconName);
+            AddTabPage(u"transparent"_ustr, 
TabResId(RID_TAB_TRANSPARENCE.aLabel), RID_SVXPAGE_TRANSPARENCE,
+                       RID_M + RID_TAB_TRANSPARENCE.sIconName);
+            AddTabPage(u"fontname"_ustr, TabResId(RID_TAB_FONT.aLabel), 
RID_SVXPAGE_CHAR_NAME,
+                       RID_M + RID_TAB_FONT.sIconName);
+            AddTabPage(u"effects"_ustr, TabResId(RID_TAB_FONTEFFECTS.aLabel), 
RID_SVXPAGE_CHAR_EFFECTS,
+                       RID_M + RID_TAB_FONTEFFECTS.sIconName);
+            AddTabPage(u"numberformat"_ustr, TabResId(RID_TAB_NUMBERS.aLabel), 
RID_SVXPAGE_NUMBERFORMAT,
+                           RID_M + RID_TAB_NUMBERS.sIconName);
             if (SvtCTLOptions::IsCTLFontEnabled())
             {
                 /*  When rotation is supported for equation text boxes, use
                     SchAlignmentTabPage::Create here. The special
                     SchAlignmentTabPage::CreateWithoutRotation can be deleted. 
*/
-                AddTabPage(u"alignment"_ustr, SchResId(STR_PAGE_ALIGNMENT), 
SchAlignmentTabPage::CreateWithoutRotation);
+                AddTabPage(u"alignment"_ustr, 
TabResId(RID_TAB_ALIGNMENT.aLabel), SchAlignmentTabPage::CreateWithoutRotation,
+                           RID_M + RID_TAB_ALIGNMENT.sIconName);
             }
             break;
         default:
diff --git a/chart2/source/controller/dialogs/dlg_ShapeFont.cxx 
b/chart2/source/controller/dialogs/dlg_ShapeFont.cxx
index 4f4efb96085d..515c260167a3 100644
--- a/chart2/source/controller/dialogs/dlg_ShapeFont.cxx
+++ b/chart2/source/controller/dialogs/dlg_ShapeFont.cxx
@@ -26,6 +26,8 @@
 #include <svx/flagsdef.hxx>
 #include <editeng/flstitem.hxx>
 
+#include <vcl/tabs.hrc>
+
 using namespace ::com::sun::star;
 
 namespace chart
@@ -36,9 +38,12 @@ ShapeFontDialog::ShapeFontDialog(weld::Window* pParent, 
const SfxItemSet* pAttr,
     : SfxTabDialogController(pParent, u"modules/schart/ui/chardialog.ui"_ustr, 
u"CharDialog"_ustr, pAttr)
     , m_pViewElementListProvider(pViewElementListProvider)
 {
-    AddTabPage(u"font"_ustr, RID_SVXPAGE_CHAR_NAME);
-    AddTabPage(u"fonteffects"_ustr, RID_SVXPAGE_CHAR_EFFECTS);
-    AddTabPage(u"position"_ustr, RID_SVXPAGE_CHAR_POSITION );
+    AddTabPage(u"fontname"_ustr, TabResId(RID_TAB_FONT.aLabel), 
RID_SVXPAGE_CHAR_NAME,
+               RID_L + RID_TAB_FONT.sIconName);
+    AddTabPage(u"effects"_ustr, TabResId(RID_TAB_FONTEFFECTS.aLabel), 
RID_SVXPAGE_CHAR_EFFECTS,
+               RID_L + RID_TAB_FONTEFFECTS.sIconName);
+    AddTabPage(u"position"_ustr, TabResId(RID_TAB_POSITION.aLabel), 
RID_SVXPAGE_CHAR_POSITION,
+               RID_L + RID_TAB_POSITION.sIconName);
 }
 
 void ShapeFontDialog::PageCreated(const OUString& rId, SfxTabPage& rPage)
diff --git a/chart2/source/controller/dialogs/dlg_ShapeParagraph.cxx 
b/chart2/source/controller/dialogs/dlg_ShapeParagraph.cxx
index 9af94eef04d0..777c49319c44 100644
--- a/chart2/source/controller/dialogs/dlg_ShapeParagraph.cxx
+++ b/chart2/source/controller/dialogs/dlg_ShapeParagraph.cxx
@@ -25,6 +25,8 @@
 #include <svx/svxids.hrc>
 #include <svx/flagsdef.hxx>
 
+#include <vcl/tabs.hrc>
+
 using namespace ::com::sun::star;
 
 namespace chart
@@ -34,22 +36,20 @@ ShapeParagraphDialog::ShapeParagraphDialog(weld::Window* 
pParent,
     const SfxItemSet* pAttr)
     : SfxTabDialogController(pParent, u"modules/schart/ui/paradialog.ui"_ustr, 
u"ParagraphDialog"_ustr, pAttr)
 {
-    AddTabPage(u"labelTP_PARA_STD"_ustr,  RID_SVXPAGE_STD_PARAGRAPH);
-    AddTabPage(u"labelTP_PARA_ALIGN"_ustr, RID_SVXPAGE_ALIGN_PARAGRAPH );
+    AddTabPage(u"indents"_ustr, TabResId(RID_TAB_INDENTS.aLabel), 
RID_SVXPAGE_STD_PARAGRAPH,
+               RID_L + RID_TAB_INDENTS.sIconName );
+    AddTabPage(u"alignment"_ustr, TabResId(RID_TAB_ALIGNMENT.aLabel), 
RID_SVXPAGE_ALIGN_PARAGRAPH,
+               RID_L + RID_TAB_ALIGNMENT.sIconName );
     if (SvtCJKOptions::IsAsianTypographyEnabled())
-    {
-        AddTabPage(u"labelTP_PARA_ASIAN"_ustr, RID_SVXPAGE_PARA_ASIAN);
-    }
-    else
-    {
-        RemoveTabPage(u"labelTP_PARA_ASIAN"_ustr);
-    }
-    AddTabPage(u"labelTP_TABULATOR"_ustr, RID_SVXPAGE_TABULATOR);
+        AddTabPage(u"asian"_ustr, TabResId(RID_TAB_ASIANTYPO.aLabel), 
RID_SVXPAGE_PARA_ASIAN,
+                    RID_L + RID_TAB_ASIANTYPO.sIconName);
+    AddTabPage(u"tabs"_ustr, TabResId(RID_TAB_TABS.aLabel), 
RID_SVXPAGE_TABULATOR,
+               RID_L + RID_TAB_TABS.sIconName);
 }
 
 void ShapeParagraphDialog::PageCreated(const OUString& rId, SfxTabPage& rPage)
 {
-    if (rId == "labelTP_TABULATOR")
+    if (rId == "tabs")
     {
         SfxAllItemSet aSet( *( GetInputSetImpl()->GetPool() ) );
         TabulatorDisableFlags const nFlags(( TabulatorDisableFlags::TypeMask 
&~TabulatorDisableFlags::TypeLeft ) |
diff --git a/chart2/source/controller/dialogs/dlg_View3D.cxx 
b/chart2/source/controller/dialogs/dlg_View3D.cxx
index e8f41a7ff39e..984e06bc8ed4 100644
--- a/chart2/source/controller/dialogs/dlg_View3D.cxx
+++ b/chart2/source/controller/dialogs/dlg_View3D.cxx
@@ -18,14 +18,15 @@
  */
 
 #include <dlg_View3D.hxx>
-#include <strings.hrc>
-#include <ResId.hxx>
+
 #include "tp_3D_SceneGeometry.hxx"
 #include "tp_3D_SceneAppearance.hxx"
 #include "tp_3D_SceneIllumination.hxx"
 #include <ChartModel.hxx>
 #include <Diagram.hxx>
 
+#include <vcl/tabs.hrc>
+
 namespace chart
 {
 
@@ -39,14 +40,16 @@ View3DDialog::View3DDialog(weld::Window* pParent, const 
rtl::Reference<::chart::
     , m_xTabControl(m_xBuilder->weld_notebook(u"tabcontrol"_ustr))
 {
     rtl::Reference< Diagram > xSceneProperties = 
xChartModel->getFirstChartDiagram();
-
-    m_xTabControl->append_page(u"geometry"_ustr, 
SchResId(STR_PAGE_PERSPECTIVE));
+    OUString aStr = RID_L + RID_TAB_CHART_PERSPECTIVE.sIconName;
+    m_xTabControl->append_page(u"geometry"_ustr, 
TabResId(RID_TAB_CHART_PERSPECTIVE.aLabel), &aStr);
     m_xGeometry.reset(new 
ThreeD_SceneGeometry_TabPage(m_xTabControl->get_page(u"geometry"_ustr), 
xSceneProperties, m_aControllerLocker));
 
-    m_xTabControl->append_page(u"appearance"_ustr, 
SchResId(STR_PAGE_APPEARANCE));
+    aStr = RID_L + RID_TAB_CHART_APPEARANCE.sIconName;
+    m_xTabControl->append_page(u"appearance"_ustr, 
TabResId(RID_TAB_CHART_APPEARANCE.aLabel), &aStr);
     m_xAppearance.reset(new 
ThreeD_SceneAppearance_TabPage(m_xTabControl->get_page(u"appearance"_ustr), 
xChartModel, m_aControllerLocker));
 
-    m_xTabControl->append_page(u"illumination"_ustr, 
SchResId(STR_PAGE_ILLUMINATION));
+    aStr = RID_L + RID_TAB_CHART_ILLUMINATION.sIconName;
+    m_xTabControl->append_page(u"illumination"_ustr, 
TabResId(RID_TAB_CHART_ILLUMINATION.aLabel), &aStr);
     m_xIllumination.reset(new 
ThreeD_SceneIllumination_TabPage(m_xTabControl->get_page(u"illumination"_ustr), 
m_xDialog.get(),
         xSceneProperties, xChartModel));
 
diff --git a/chart2/uiconfig/ui/3dviewdialog.ui 
b/chart2/uiconfig/ui/3dviewdialog.ui
index 4f414bb7f996..623e53b2e797 100644
--- a/chart2/uiconfig/ui/3dviewdialog.ui
+++ b/chart2/uiconfig/ui/3dviewdialog.ui
@@ -78,8 +78,10 @@
             <property name="can-focus">True</property>
             <property name="hexpand">True</property>
             <property name="vexpand">True</property>
+            <property name="tab-pos">left</property>
             <property name="scrollable">True</property>
             <property name="enable-popup">True</property>
+            <property name="group-name">icons</property>
           </object>
           <packing>
             <property name="expand">False</property>
diff --git a/chart2/uiconfig/ui/attributedialog.ui 
b/chart2/uiconfig/ui/attributedialog.ui
index d99a2936bd07..af58cc3aa67b 100644
--- a/chart2/uiconfig/ui/attributedialog.ui
+++ b/chart2/uiconfig/ui/attributedialog.ui
@@ -95,7 +95,7 @@
             <property name="hexpand">True</property>
             <property name="vexpand">True</property>
             <property name="scrollable">True</property>
-            <property name="enable_popup">True</property>
+            <property name="tab-pos">left</property>
           </object>
           <packing>
             <property name="expand">False</property>
diff --git a/chart2/uiconfig/ui/chardialog.ui b/chart2/uiconfig/ui/chardialog.ui
index 171c171e2dc3..c79dea5c232f 100644
--- a/chart2/uiconfig/ui/chardialog.ui
+++ b/chart2/uiconfig/ui/chardialog.ui
@@ -89,76 +89,10 @@
             <property name="can-focus">True</property>
             <property name="hexpand">True</property>
             <property name="vexpand">True</property>
+            <property name="tab-pos">left</property>
             <property name="scrollable">True</property>
             <property name="enable-popup">True</property>
-            <child>
-              <!-- n-columns=1 n-rows=1 -->
-              <object class="GtkGrid">
-                <property name="visible">True</property>
-                <property name="can-focus">False</property>
-                <child>
-                  <placeholder/>
-                </child>
-              </object>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel" id="font">
-                <property name="visible">True</property>
-                <property name="can-focus">False</property>
-                <property name="label" translatable="yes" 
context="chardialog|font">Font</property>
-              </object>
-              <packing>
-                <property name="tab-fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <!-- n-columns=1 n-rows=1 -->
-              <object class="GtkGrid">
-                <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="GtkLabel" id="fonteffects">
-                <property name="visible">True</property>
-                <property name="can-focus">False</property>
-                <property name="label" translatable="yes" 
context="chardialog|fonteffects">Font Effects</property>
-              </object>
-              <packing>
-                <property name="position">1</property>
-                <property name="tab-fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <!-- n-columns=1 n-rows=1 -->
-              <object class="GtkGrid">
-                <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="GtkLabel" id="position">
-                <property name="visible">True</property>
-                <property name="can-focus">False</property>
-                <property name="label" translatable="yes" 
context="chardialog|position">Position</property>
-              </object>
-              <packing>
-                <property name="position">2</property>
-                <property name="tab-fill">False</property>
-              </packing>
-            </child>
+            <property name="group-name">icons</property>
           </object>
           <packing>
             <property name="expand">False</property>
diff --git a/chart2/uiconfig/ui/paradialog.ui b/chart2/uiconfig/ui/paradialog.ui
index 18ceaf4ff377..841d40fae7e2 100644
--- a/chart2/uiconfig/ui/paradialog.ui
+++ b/chart2/uiconfig/ui/paradialog.ui
@@ -1,30 +1,27 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.22.1 -->
+<!-- Generated with glade 3.40.0 -->
 <interface domain="chart">
   <requires lib="gtk+" version="3.20"/>
   <object class="GtkDialog" id="ParagraphDialog">
-    <property name="can_focus">False</property>
-    <property name="border_width">6</property>
+    <property name="can-focus">False</property>
+    <property name="border-width">6</property>
     <property name="title" translatable="yes" 
context="paradialog|ParagraphDialog">Paragraph</property>
-    <property name="type_hint">dialog</property>
-    <child>
-      <placeholder/>
-    </child>
+    <property name="type-hint">dialog</property>
     <child internal-child="vbox">
       <object class="GtkBox" id="dialog-vbox1">
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="orientation">vertical</property>
         <property name="spacing">12</property>
         <child internal-child="action_area">
           <object class="GtkButtonBox" id="dialog-action_area1">
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
+            <property name="can-focus">False</property>
+            <property name="layout-style">end</property>
             <child>
               <object class="GtkButton" id="reset">
                 <property name="label" translatable="yes" 
context="stock">_Reset</property>
                 <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
+                <property name="can-focus">True</property>
+                <property name="receives-default">True</property>
                 <property name="use-underline">True</property>
               </object>
               <packing>
@@ -37,10 +34,10 @@
               <object class="GtkButton" id="ok">
                 <property name="label" translatable="yes" 
context="stock">_OK</property>
                 <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="has_default">True</property>
-                <property name="receives_default">True</property>
+                <property name="can-focus">True</property>
+                <property name="can-default">True</property>
+                <property name="has-default">True</property>
+                <property name="receives-default">True</property>
                 <property name="use-underline">True</property>
               </object>
               <packing>
@@ -53,8 +50,8 @@
               <object class="GtkButton" id="cancel">
                 <property name="label" translatable="yes" 
context="stock">_Cancel</property>
                 <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
+                <property name="can-focus">True</property>
+                <property name="receives-default">True</property>
                 <property name="use-underline">True</property>
               </object>
               <packing>
@@ -67,8 +64,8 @@
               <object class="GtkButton" id="help">
                 <property name="label" translatable="yes" 
context="stock">_Help</property>
                 <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
+                <property name="can-focus">True</property>
+                <property name="receives-default">True</property>
                 <property name="use-underline">True</property>
               </object>
               <packing>
@@ -82,207 +79,20 @@
           <packing>
             <property name="expand">False</property>
             <property name="fill">True</property>
-            <property name="pack_type">end</property>
+            <property name="pack-type">end</property>
             <property name="position">0</property>
           </packing>
         </child>
         <child>
           <object class="GtkNotebook" id="tabcontrol">
             <property name="visible">True</property>
-            <property name="can_focus">True</property>
+            <property name="can-focus">True</property>
             <property name="hexpand">True</property>
             <property name="vexpand">True</property>
+            <property name="tab-pos">left</property>
             <property name="scrollable">True</property>
-            <property name="enable_popup">True</property>
-            <child>
-              <!-- n-columns=1 n-rows=1 -->
-              <object class="GtkGrid">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-              </object>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel" id="labelTP_PARA_STD">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes" 
context="paradialog|labelTP_PARA_STD">Indents &amp; Spacing</property>
-              </object>
-              <packing>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <!-- n-columns=1 n-rows=1 -->
-              <object class="GtkGrid">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-              </object>
-              <packing>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel" id="labelTP_PARA_ALIGN">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes" 
context="paradialog|labelTP_PARA_ALIGN">Alignment</property>
-                <property name="xalign">0.5</property>
-              </object>
-              <packing>
-                <property name="position">1</property>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <!-- n-columns=1 n-rows=1 -->
-              <object class="GtkGrid">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-              </object>
-              <packing>
-                <property name="position">2</property>
-              </packing>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel" id="labelTP_PARA_ASIAN">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes" 
context="paradialog|labelTP_PARA_ASIAN">Asian Typography</property>
-              </object>
-              <packing>
-                <property name="position">2</property>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <!-- n-columns=1 n-rows=1 -->
-              <object class="GtkGrid">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-              </object>
-              <packing>
-                <property name="position">3</property>
-              </packing>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel" id="labelTP_TABULATOR">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes" 
context="paradialog|labelTP_TABULATOR">Tabs</property>
-              </object>
-              <packing>
-                <property name="position">3</property>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
+            <property name="enable-popup">True</property>
+            <property name="group-name">icons</property>
           </object>
           <packing>
             <property name="expand">False</property>
diff --git a/include/vcl/tabs.hrc b/include/vcl/tabs.hrc
index a0bb3f7c185a..4af5f683f7f4 100644
--- a/include/vcl/tabs.hrc
+++ b/include/vcl/tabs.hrc
@@ -26,9 +26,38 @@ struct TabData
  * the effective icon is loaded per RID_M + RID_TAB*.sIconName
 */
 
-static constexpr OUString RID_M = u"cmd/lc_"_ustr;
-static constexpr OUString RID_L = u"cmd/32/"_ustr;
+inline constexpr OUString RID_M = u"cmd/lc_"_ustr;
+inline constexpr OUString RID_L = u"cmd/32/"_ustr;
 
+const TabData RID_TAB_BORDER{ NC_("RID_TAB_BORDER", "Border"), 
"borderdialog.png" };
+const TabData RID_TAB_LINE{ NC_("RID_TAB_LINE", "Line"), "formatline.png" };
+const TabData RID_TAB_AREA{ NC_("RID_TAB_AREA", "Area"), "backgroundcolor.png" 
};
+const TabData RID_TAB_TRANSPARENCE{ NC_("RID_TAB_TRANSPARENCE", 
"Transparency"), "graftransparence.png" };
+const TabData RID_TAB_FONT{ NC_("RID_TAB_FONT", "Font"), "fontdialog.png" };
+const TabData RID_TAB_FONTEFFECTS{ NC_("RID_TAB_FONTEFFECTS", "Font Effects"), 
"color.png" };
+const TabData RID_TAB_ALIGNMENT{ NC_("RID_TAB_ALIGNMENT", "Alignment"), 
"alignblock.png" };
+const TabData RID_TAB_ASIANTYPO{ NC_("RID_TAB_ASIANTYPO", "Asian Typography"), 
"defaultcharstyle.png" };
+const TabData RID_TAB_POSITION{ NC_("RID_TAB_POSITION", "Position"), 
"fontwork.png" }; // font
+const TabData RID_TAB_HIGHLIGHTING{ NC_("RID_TAB_HIGHLIGHTING", 
"Highlighting"), "backcolor.png" };
+const TabData RID_TAB_COLORPALETTE{ NC_("RID_TAB_COLORPALETTE", "Color 
Palette"), "colorsettings.png" };
+const TabData RID_TAB_NUMBERS{ NC_("RID_TAB_NUMBERS", "Numbers"), 
"numberformatdecimal.png" };
+const TabData RID_TAB_INDENTS{ NC_("RID_TAB_INDENTS", "Indents &amp; 
Spacing"), "paraspaceincrease.png" };
+const TabData RID_TAB_TABS{ NC_("RID_TAB_TABS", "Tabs"), "hangingindent.png" };
+
+const TabData RID_TAB_CHART_OPTIONS{ NC_("RID_TAB_CHART_OPTIONS", "Options"), 
"diagramtype.png" };
+const TabData RID_TAB_CHART_ERROR_X{ NC_("RID_TAB_CHART_ERROR_X", "X Error 
Bars"), "arrowshapes.png" };
+const TabData RID_TAB_CHART_ERROR_Y{ NC_("RID_TAB_CHART_ERROR_Y", "Y Error 
Bars"), "arrowshapes.up-down-arrow.png" };
+const TabData RID_TAB_CHART_TREND{ NC_("RID_TAB_CHART_TREND", "Type"), 
"bezierconvert.png" };
+const TabData RID_TAB_CHART_TABLE{ NC_("RID_TAB_CHART_TABLE", "Data Table"), 
"inserttable.png" };
+const TabData RID_TAB_CHART_LEGENDPOS{ NC_("RID_TAB_CHART_LEGENDPOS", 
"Position"), "arrowshapes.quad-arrow.png" };
+const TabData RID_TAB_CHART_DATALABEL{ NC_("RID_TAB_CHART_DATALABEL", "Data 
Labels"), "numberformatstandard.png" };
+const TabData RID_TAB_CHART_SCALE{ NC_("RID_TAB_CHART_SCALE", "Scale"), 
"diagramaxisxyz.png" };
+const TabData RID_TAB_CHART_POSITIONING{ NC_("RID_TAB_CHART_POSITIONING", 
"Positioning"), "grow.png" };
+const TabData RID_TAB_CHART_AXISLABEL{ NC_("RID_TAB_CHART_AXISLABEL", 
"Label"), "insertfixedtext.png" };
+const TabData RID_TAB_CHART_LAYOUT{ NC_("RID_TAB_CHART_LAYOUT", "Layout"), 
"cyramid.png" };
+const TabData RID_TAB_CHART_PERSPECTIVE{ NC_("RID_TAB_CHART_PERSPECTIVE", 
"Perspective"), "window3d.png" };
+const TabData RID_TAB_CHART_APPEARANCE{ NC_("RID_TAB_CHART_APPEARANCE", 
"Appearance"), "shell3d.png" };
+const TabData RID_TAB_CHART_ILLUMINATION{ NC_("RID_TAB_CHART_ILLUMINATION", 
"Illumination"), "grafluminance.png" };
 
 static OUString TabResId(TranslateId aId)
 {

Reply via email to