chart2/source/controller/dialogs/dlg_ObjectProperties.cxx    |   38 +++++++----
 chart2/source/controller/sidebar/Chart2PanelFactory.cxx      |   10 ++
 officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu |   12 +++
 3 files changed, 46 insertions(+), 14 deletions(-)

New commits:
commit 9c610123c3410a86b560cee7f41dfbfbbc9c187a
Author:     Marco Cecchetti <[email protected]>
AuthorDate: Thu Jan 15 22:31:51 2026 +0100
Commit:     Tomaž Vajngerl <[email protected]>
CommitDate: Tue Jan 27 04:31:02 2026 +0100

    chart: gradient presets support: make available in experimental mode only
    
    Change-Id: I0659a93407894eb2027638935c8459f4eb7de2b5
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197760
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Reviewed-by: Tomaž Vajngerl <[email protected]>

diff --git a/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx 
b/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
index 30f12100a87e..8530d58ee451 100644
--- a/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
+++ b/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
@@ -370,7 +370,8 @@ SchAttribTabDlg::SchAttribTabDlg(weld::Window* pParent,
             AddTabPage(u"transparent"_ustr, SchResId(STR_PAGE_TRANSPARENCY), 
RID_SVXPAGE_TRANSPARENCE);
             if (officecfg::Office::Common::Misc::ExperimentalMode::get())
                 AddTabPage(u"colorpalette"_ustr, 
SchResId(STR_PAGE_COLOR_PALETTE), ChartColorPaletteTabPage::Create);
-            AddTabPage(u"gradients"_ustr, SchResId(STR_PAGE_GRADIENT_PRESETS), 
ChartGradientsTabPage::Create);
+            if (officecfg::Office::Common::Misc::ExperimentalMode::get())
+                AddTabPage(u"gradients"_ustr, 
SchResId(STR_PAGE_GRADIENT_PRESETS), ChartGradientsTabPage::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);
@@ -398,7 +399,8 @@ SchAttribTabDlg::SchAttribTabDlg(weld::Window* pParent,
             AddTabPage(u"border"_ustr, SchResId( 
m_pParameter->HasAreaProperties() ? STR_PAGE_BORDER : STR_PAGE_LINE ), 
RID_SVXPAGE_LINE);
             if (officecfg::Office::Common::Misc::ExperimentalMode::get())
                 AddTabPage(u"colorpalette"_ustr, 
SchResId(STR_PAGE_COLOR_PALETTE), ChartColorPaletteTabPage::Create);
-            AddTabPage(u"gradients"_ustr, SchResId(STR_PAGE_GRADIENT_PRESETS), 
ChartGradientsTabPage::Create);
+            if (officecfg::Office::Common::Misc::ExperimentalMode::get())
+                AddTabPage(u"gradients"_ustr, 
SchResId(STR_PAGE_GRADIENT_PRESETS), ChartGradientsTabPage::Create);
             break;
 
         case OBJECTTYPE_DATA_LABEL:
@@ -469,7 +471,8 @@ SchAttribTabDlg::SchAttribTabDlg(weld::Window* pParent,
             {
                 if (officecfg::Office::Common::Misc::ExperimentalMode::get())
                     AddTabPage(u"colorpalette"_ustr, 
SchResId(STR_PAGE_COLOR_PALETTE), ChartColorPaletteTabPage::Create);
-                AddTabPage(u"gradients"_ustr, 
SchResId(STR_PAGE_GRADIENT_PRESETS), ChartGradientsTabPage::Create);
+                if (officecfg::Office::Common::Misc::ExperimentalMode::get())
+                    AddTabPage(u"gradients"_ustr, 
SchResId(STR_PAGE_GRADIENT_PRESETS), ChartGradientsTabPage::Create);
             }
             break;
 
@@ -655,10 +658,13 @@ void SchAttribTabDlg::PageCreated(const OUString& rId, 
SfxTabPage &rPage)
     }
     else if (rId == "gradients")
     {
-        auto* pGradientsTabPage = dynamic_cast<ChartGradientsTabPage*>( &rPage 
);
-        if (pGradientsTabPage)
+        if (officecfg::Office::Common::Misc::ExperimentalMode::get())
         {
-            pGradientsTabPage->init(m_pParameter->getDocument());
+            auto* pGradientsTabPage = dynamic_cast<ChartGradientsTabPage*>( 
&rPage );
+            if (pGradientsTabPage)
+            {
+                pGradientsTabPage->init(m_pParameter->getDocument());
+            }
         }
     }
 }
diff --git a/chart2/source/controller/sidebar/Chart2PanelFactory.cxx 
b/chart2/source/controller/sidebar/Chart2PanelFactory.cxx
index 39d6cc779954..3626b60fbaa8 100644
--- a/chart2/source/controller/sidebar/Chart2PanelFactory.cxx
+++ b/chart2/source/controller/sidebar/Chart2PanelFactory.cxx
@@ -111,7 +111,10 @@ Reference<css::ui::XUIElement> SAL_CALL 
ChartPanelFactory::createUIElement (
                  && officecfg::Office::Common::Misc::ExperimentalMode::get())
             xPanel = ChartThemePanel::Create(pParent, xFrame, pController);
         else if (rsResourceURL.endsWith("/GradientsPanel"))
-            xPanel = ChartGradientsPanel::Create(pParent, xFrame, pController);
+        {
+            if (officecfg::Office::Common::Misc::ExperimentalMode::get())
+                xPanel = ChartGradientsPanel::Create(pParent, xFrame, 
pController);
+        }
 
         if (xPanel)
             xElement = sfx2::sidebar::SidebarPanelBase::Create(
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu 
b/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
index 9e6909742bec..2703c5f53efd 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
@@ -2166,6 +2166,12 @@
         <prop oor:name="Title" oor:type="xs:string">
           <value xml:lang="en-US">Gradients</value>
         </prop>
+        <prop oor:name="IsExperimental" oor:type="xs:boolean">
+          <value>true</value>
+        </prop>
+        <prop oor:name="TitleBarIsOptional" oor:type="xs:boolean">
+          <value>true</value>
+        </prop>
         <prop oor:name="Id" oor:type="xs:string">
           <value>ChartGradientsPanel</value>
         </prop>
commit 338f3930a7d63030f5c42e6b829db5008a28c786
Author:     Marco Cecchetti <[email protected]>
AuthorDate: Thu Jan 15 22:13:25 2026 +0100
Commit:     Tomaž Vajngerl <[email protected]>
CommitDate: Tue Jan 27 04:30:56 2026 +0100

    chart: color palette support: make available in experimental mode only
    
    Change-Id: Iefd77ee9d5cb57d038f9a4e40cdacb6d9d534aab
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197759
    Reviewed-by: Tomaž Vajngerl <[email protected]>
    Tested-by: Jenkins CollaboraOffice <[email protected]>

diff --git a/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx 
b/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
index 243a8c433f4d..30f12100a87e 100644
--- a/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
+++ b/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
@@ -21,6 +21,8 @@
 
 #include <cstddef>
 
+#include <officecfg/Office/Common.hxx>
+
 #include <dlg_ObjectProperties.hxx>
 #include <strings.hrc>
 #include "tp_AxisLabel.hxx"
@@ -366,7 +368,8 @@ SchAttribTabDlg::SchAttribTabDlg(weld::Window* pParent,
             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);
+            if (officecfg::Office::Common::Misc::ExperimentalMode::get())
+                AddTabPage(u"colorpalette"_ustr, 
SchResId(STR_PAGE_COLOR_PALETTE), ChartColorPaletteTabPage::Create);
             AddTabPage(u"gradients"_ustr, SchResId(STR_PAGE_GRADIENT_PRESETS), 
ChartGradientsTabPage::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);
@@ -393,7 +396,8 @@ SchAttribTabDlg::SchAttribTabDlg(weld::Window* pParent,
                 AddTabPage(u"transparent"_ustr, 
SchResId(STR_PAGE_TRANSPARENCY), RID_SVXPAGE_TRANSPARENCE);
             }
             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);
+            if (officecfg::Office::Common::Misc::ExperimentalMode::get())
+                AddTabPage(u"colorpalette"_ustr, 
SchResId(STR_PAGE_COLOR_PALETTE), ChartColorPaletteTabPage::Create);
             AddTabPage(u"gradients"_ustr, SchResId(STR_PAGE_GRADIENT_PRESETS), 
ChartGradientsTabPage::Create);
             break;
 
@@ -463,7 +467,8 @@ SchAttribTabDlg::SchAttribTabDlg(weld::Window* pParent,
             AddTabPage(u"transparent"_ustr, SchResId(STR_PAGE_TRANSPARENCY), 
RID_SVXPAGE_TRANSPARENCE);
             if (eType != OBJECTTYPE_DATA_STOCK_LOSS && eType != 
OBJECTTYPE_DATA_STOCK_GAIN)
             {
-                AddTabPage(u"colorpalette"_ustr, 
SchResId(STR_PAGE_COLOR_PALETTE), ChartColorPaletteTabPage::Create);
+                if (officecfg::Office::Common::Misc::ExperimentalMode::get())
+                    AddTabPage(u"colorpalette"_ustr, 
SchResId(STR_PAGE_COLOR_PALETTE), ChartColorPaletteTabPage::Create);
                 AddTabPage(u"gradients"_ustr, 
SchResId(STR_PAGE_GRADIENT_PRESETS), ChartGradientsTabPage::Create);
             }
             break;
@@ -639,10 +644,13 @@ void SchAttribTabDlg::PageCreated(const OUString& rId, 
SfxTabPage &rPage)
     }
     else if (rId == "colorpalette")
     {
-        auto* pColorPaletteTabPage = dynamic_cast<ChartColorPaletteTabPage*>( 
&rPage );
-        if (pColorPaletteTabPage)
+        if (officecfg::Office::Common::Misc::ExperimentalMode::get())
         {
-            pColorPaletteTabPage->init(m_pParameter->getDocument());
+            auto* pColorPaletteTabPage = 
dynamic_cast<ChartColorPaletteTabPage*>( &rPage );
+            if (pColorPaletteTabPage)
+            {
+                pColorPaletteTabPage->init(m_pParameter->getDocument());
+            }
         }
     }
     else if (rId == "gradients")
diff --git a/chart2/source/controller/sidebar/Chart2PanelFactory.cxx 
b/chart2/source/controller/sidebar/Chart2PanelFactory.cxx
index 2ebe00c6200e..39d6cc779954 100644
--- a/chart2/source/controller/sidebar/Chart2PanelFactory.cxx
+++ b/chart2/source/controller/sidebar/Chart2PanelFactory.cxx
@@ -103,7 +103,10 @@ Reference<css::ui::XUIElement> SAL_CALL 
ChartPanelFactory::createUIElement (
         else if (rsResourceURL.endsWith("/LinePanel"))
             xPanel = ChartLinePanel::Create(pParent, xFrame, pController);
         else if (rsResourceURL.endsWith("/ColorsPanel"))
-            xPanel = ChartColorsPanel::Create(pParent, xFrame, pController);
+        {
+            if (officecfg::Office::Common::Misc::ExperimentalMode::get())
+                xPanel = ChartColorsPanel::Create(pParent, xFrame, 
pController);
+        }
         else if (rsResourceURL.endsWith("/ThemePanel")
                  && officecfg::Office::Common::Misc::ExperimentalMode::get())
             xPanel = ChartThemePanel::Create(pParent, xFrame, pController);
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu 
b/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
index f8586457936d..9e6909742bec 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
@@ -2100,6 +2100,12 @@
         <prop oor:name="Title" oor:type="xs:string">
           <value xml:lang="en-US">Colors</value>
         </prop>
+        <prop oor:name="IsExperimental" oor:type="xs:boolean">
+          <value>true</value>
+        </prop>
+        <prop oor:name="TitleBarIsOptional" oor:type="xs:boolean">
+          <value>true</value>
+        </prop>
         <prop oor:name="Id" oor:type="xs:string">
           <value>ChartColorsPanel</value>
         </prop>

Reply via email to