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>
