chart2/source/controller/dialogs/dlg_ObjectProperties.cxx    |   24 ++++++-----
 chart2/source/controller/sidebar/Chart2PanelFactory.cxx      |    5 +-
 officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu |    6 ++
 3 files changed, 25 insertions(+), 10 deletions(-)

New commits:
commit a90b0a31fd2322fd49381dc9d3482285328bafdd
Author:     Marco Cecchetti <[email protected]>
AuthorDate: Thu Jan 15 22:31:51 2026 +0100
Commit:     Caolán McNamara <[email protected]>
CommitDate: Thu Feb 26 12:33:07 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]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200413
    Reviewed-by: Caolán McNamara <[email protected]>
    Tested-by: Caolán McNamara <[email protected]>

diff --git a/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx 
b/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
index fb8d24286cc3..d0fd8977379d 100644
--- a/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
+++ b/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
@@ -374,8 +374,9 @@ SchAttribTabDlg::SchAttribTabDlg(weld::Window* pParent,
             if (officecfg::Office::Common::Misc::ExperimentalMode::get())
                 AddTabPage(u"colorpalette"_ustr, 
TabResId(RID_TAB_COLORPALETTE.aLabel), ChartColorPaletteTabPage::Create,
                            RID_M + RID_TAB_COLORPALETTE.sIconName);
-            AddTabPage(u"gradients"_ustr, 
TabResId(RID_TAB_GRADIENT_PRESETS.aLabel), ChartGradientsTabPage::Create,
-                       RID_M + RID_TAB_GRADIENT_PRESETS.sIconName);
+            if (officecfg::Office::Common::Misc::ExperimentalMode::get())
+                AddTabPage(u"gradients"_ustr, 
TabResId(RID_TAB_GRADIENT_PRESETS.aLabel), ChartGradientsTabPage::Create,
+                           RID_M + RID_TAB_GRADIENT_PRESETS.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,
@@ -419,8 +420,9 @@ SchAttribTabDlg::SchAttribTabDlg(weld::Window* pParent,
             if (officecfg::Office::Common::Misc::ExperimentalMode::get())
                 AddTabPage(u"colorpalette"_ustr, 
TabResId(RID_TAB_COLORPALETTE.aLabel), ChartColorPaletteTabPage::Create,
                            RID_M + RID_TAB_COLORPALETTE.sIconName);
-            AddTabPage(u"gradients"_ustr, 
TabResId(RID_TAB_GRADIENT_PRESETS.aLabel), ChartGradientsTabPage::Create,
-                       RID_M + RID_TAB_GRADIENT_PRESETS.sIconName);
+            if (officecfg::Office::Common::Misc::ExperimentalMode::get())
+                AddTabPage(u"gradients"_ustr, 
TabResId(RID_TAB_GRADIENT_PRESETS.aLabel), ChartGradientsTabPage::Create,
+                           RID_M + RID_TAB_GRADIENT_PRESETS.sIconName);
             break;
 
         case OBJECTTYPE_DATA_LABEL:
@@ -515,8 +517,9 @@ SchAttribTabDlg::SchAttribTabDlg(weld::Window* pParent,
                 if (officecfg::Office::Common::Misc::ExperimentalMode::get())
                     AddTabPage(u"colorpalette"_ustr, 
TabResId(RID_TAB_COLORPALETTE.aLabel), ChartColorPaletteTabPage::Create,
                                RID_M + RID_TAB_COLORPALETTE.sIconName);
-                AddTabPage(u"gradients"_ustr, 
TabResId(RID_TAB_GRADIENT_PRESETS.aLabel), ChartGradientsTabPage::Create,
-                           RID_M + RID_TAB_GRADIENT_PRESETS.sIconName);
+                if (officecfg::Office::Common::Misc::ExperimentalMode::get())
+                    AddTabPage(u"gradients"_ustr, 
TabResId(RID_TAB_GRADIENT_PRESETS.aLabel), ChartGradientsTabPage::Create,
+                               RID_M + RID_TAB_GRADIENT_PRESETS.sIconName);
             }
             break;
 
@@ -715,10 +718,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_rParameter.getDocument());
+            auto* pGradientsTabPage = dynamic_cast<ChartGradientsTabPage*>( 
&rPage );
+            if (pGradientsTabPage)
+            {
+                pGradientsTabPage->init(m_rParameter.getDocument());
+            }
         }
     }
 }
diff --git a/chart2/source/controller/sidebar/Chart2PanelFactory.cxx 
b/chart2/source/controller/sidebar/Chart2PanelFactory.cxx
index 9d807acde5c9..fa83871420fe 100644
--- a/chart2/source/controller/sidebar/Chart2PanelFactory.cxx
+++ b/chart2/source/controller/sidebar/Chart2PanelFactory.cxx
@@ -114,7 +114,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 11c9c9ae6891..2cadc016b410 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>

Reply via email to