chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx |    2 
 cui/source/tabpages/tphatch.cxx                              |    2 
 cui/source/tabpages/tpline.cxx                               |    4 -
 include/svx/Palette.hxx                                      |   14 ++++
 include/xmloff/xmltoken.hxx                                  |    1 
 oox/qa/unit/data/ReferenceShapeFill.fodp                     |   18 ++---
 reportdesign/source/ui/dlg/Condition.cxx                     |    2 
 sc/source/ui/optdlg/tpview.cxx                               |   18 ++---
 schema/libreoffice/OpenDocument-v1.3+libreoffice-schema.rng  |   20 +++---
 sd/source/ui/dlg/copydlg.cxx                                 |    4 -
 svx/source/engine3d/float3d.cxx                              |    2 
 svx/source/tbxctrls/Palette.cxx                              |    8 +-
 svx/source/tbxctrls/PaletteManager.cxx                       |   14 ++--
 svx/source/tbxctrls/tbcontrl.cxx                             |   34 +++++------
 svx/source/tbxctrls/tbxcolorupdate.cxx                       |    4 -
 xmloff/qa/unit/draw.cxx                                      |   24 +++----
 xmloff/source/core/xmltoken.cxx                              |    5 -
 xmloff/source/text/XMLComplexColorContext.cxx                |    2 
 xmloff/source/text/XMLComplexColorExport.cxx                 |    2 
 xmloff/source/token/tokens.txt                               |    5 -
 20 files changed, 101 insertions(+), 84 deletions(-)

New commits:
commit f72273402b96ad54e27a73d99d29296efe61b8e3
Author:     Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk>
AuthorDate: Mon May 22 14:16:01 2023 +0900
Commit:     Tomaž Vajngerl <qui...@gmail.com>
CommitDate: Thu Jun 1 17:58:23 2023 +0200

    svx: change NamedColor be a struct instead of std::pair
    
    Change-Id: Ice1625e8cae8da859ea8a940b3f8e40f6f9d7037
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152235
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <qui...@gmail.com>
    (cherry picked from commit 8e87f1f2ff4df763e29bdc097786230c6293744b)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152264
    Tested-by: Tomaž Vajngerl <qui...@gmail.com>

diff --git a/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx 
b/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx
index 7cb38e9e8b48..8e06eee8fe18 100644
--- a/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx
+++ b/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx
@@ -101,7 +101,7 @@ namespace
     void lcl_selectColor(ColorListBox& rListBox, const Color& rColor)
     {
         rListBox.SetNoSelection();
-        rListBox.SelectEntry(std::make_pair(rColor, 
lcl_makeColorName(rColor)));
+        rListBox.SelectEntry({rColor, lcl_makeColorName(rColor)});
     }
 
     ::chart::LightSource lcl_getLightSourceFromProperties(
diff --git a/cui/source/tabpages/tphatch.cxx b/cui/source/tabpages/tphatch.cxx
index 1a35114739fc..879e68a0462c 100644
--- a/cui/source/tabpages/tphatch.cxx
+++ b/cui/source/tabpages/tphatch.cxx
@@ -245,7 +245,7 @@ bool SvxHatchTabPage::FillItemSet( SfxItemSet* rSet )
     if (m_xCbBackgroundColor->get_active())
     {
         NamedColor aColor = m_xLbBackgroundColor->GetSelectedEntry();
-        rSet->Put(XFillColorItem(aColor.second, aColor.first));
+        rSet->Put(XFillColorItem(aColor.m_aName, aColor.m_aColor));
     }
     return true;
 }
diff --git a/cui/source/tabpages/tpline.cxx b/cui/source/tabpages/tpline.cxx
index 85efe01a1c2f..01786624aa02 100644
--- a/cui/source/tabpages/tpline.cxx
+++ b/cui/source/tabpages/tpline.cxx
@@ -457,7 +457,7 @@ bool SvxLineTabPage::FillItemSet( SfxItemSet* rAttrs )
     if (m_xLbColor->IsValueChangedFromSaved())
     {
         NamedColor aColor = m_xLbColor->GetSelectedEntry();
-        XLineColorItem aItem(aColor.second, aColor.first);
+        XLineColorItem aItem(aColor.m_aName, aColor.m_aColor);
         pOld = GetOldItem( *rAttrs, XATTR_LINECOLOR );
         if ( !pOld || !( *static_cast<const XLineColorItem*>(pOld) == aItem ) )
         {
@@ -759,7 +759,7 @@ void SvxLineTabPage::FillXLSet_Impl()
 
     m_rXLSet.Put( XLineWidthItem( GetCoreValue( *m_xMtrLineWidth, m_ePoolUnit 
) ) );
     NamedColor aColor = m_xLbColor->GetSelectedEntry();
-    m_rXLSet.Put(XLineColorItem(aColor.second, aColor.first));
+    m_rXLSet.Put(XLineColorItem(aColor.m_aName, aColor.m_aColor));
 
     // Centered line end
     if( m_xTsbCenterStart->get_state() == TRISTATE_TRUE )
diff --git a/include/svx/Palette.hxx b/include/svx/Palette.hxx
index b24825be3d3c..8965138c7831 100644
--- a/include/svx/Palette.hxx
+++ b/include/svx/Palette.hxx
@@ -29,10 +29,22 @@
 
 class SvxColorValueSet;
 
-typedef std::pair<Color, OUString> NamedColor;
+struct SVXCORE_DLLPUBLIC NamedColor
+{
+    Color m_aColor;
+    OUString m_aName;
+
+    NamedColor() = default;
+
+    NamedColor(Color const& rColor, OUString const& rName)
+        : m_aColor(rColor)
+        , m_aName(rName)
+    {}
+};
 
 namespace svx
 {
+
 /// A color with an optional name and other theming-related properties.
 struct SVXCORE_DLLPUBLIC NamedThemedColor
 {
diff --git a/reportdesign/source/ui/dlg/Condition.cxx 
b/reportdesign/source/ui/dlg/Condition.cxx
index 456a9dfd6a3d..e3a48258637f 100644
--- a/reportdesign/source/ui/dlg/Condition.cxx
+++ b/reportdesign/source/ui/dlg/Condition.cxx
@@ -200,7 +200,7 @@ IMPL_LINK(Condition, OnConditionAction, weld::Button&, 
rClickedButton, void)
 
 void Condition::ApplyCommand( sal_uInt16 _nCommandId, const NamedColor& 
rNamedColor )
 {
-    m_rAction.applyCommand( m_nCondIndex, _nCommandId, rNamedColor.first );
+    m_rAction.applyCommand(m_nCondIndex, _nCommandId, rNamedColor.m_aColor);
 }
 
 IMPL_LINK_NOARG( Condition, OnTypeSelected, weld::ComboBox&, void )
diff --git a/sc/source/ui/optdlg/tpview.cxx b/sc/source/ui/optdlg/tpview.cxx
index 90b99f4a34b0..bd26dca1779b 100644
--- a/sc/source/ui/optdlg/tpview.cxx
+++ b/sc/source/ui/optdlg/tpview.cxx
@@ -127,12 +127,12 @@ bool    ScTpContentOptions::FillItemSet( SfxItemSet* 
rCoreSet )
         m_xGuideLineCB->get_state_changed_from_saved())
     {
         NamedColor aNamedColor = m_xColorLB->GetSelectedEntry();
-        if (aNamedColor.first == COL_AUTO)
+        if (aNamedColor.m_aColor == COL_AUTO)
         {
-            aNamedColor.first = SC_STD_GRIDCOLOR;
-            aNamedColor.second.clear();
+            aNamedColor.m_aColor = SC_STD_GRIDCOLOR;
+            aNamedColor.m_aName.clear();
         }
-        m_xLocalOptions->SetGridColor(aNamedColor.first, aNamedColor.second);
+        m_xLocalOptions->SetGridColor(aNamedColor.m_aColor, 
aNamedColor.m_aName);
         rCoreSet->Put(ScTpViewItem(*m_xLocalOptions));
         bRet = true;
     }
@@ -289,13 +289,13 @@ void ScTpContentOptions::InitGridOpt()
     m_xGridLB->set_active (nSelPos);
 
     //  select grid color entry
-    OUString  aName;
-    Color     aCol    = m_xLocalOptions->GetGridColor( &aName );
+    OUString aName;
+    Color aColor = m_xLocalOptions->GetGridColor( &aName );
 
-    if (aName.trim().isEmpty() && aCol == SC_STD_GRIDCOLOR)
-        aCol = COL_AUTO;
+    if (aName.trim().isEmpty() && aColor == SC_STD_GRIDCOLOR)
+        aColor = COL_AUTO;
 
-    m_xColorLB->SelectEntry(std::make_pair(aCol, aName));
+    m_xColorLB->SelectEntry({aColor, aName});
 }
 
 IMPL_LINK( ScTpContentOptions, GridHdl, weld::ComboBox&, rLb, void )
diff --git a/sd/source/ui/dlg/copydlg.cxx b/sd/source/ui/dlg/copydlg.cxx
index 1fa8c2dab768..090b2d690f61 100644
--- a/sd/source/ui/dlg/copydlg.cxx
+++ b/sd/source/ui/dlg/copydlg.cxx
@@ -193,9 +193,9 @@ void CopyDlg::GetAttr( SfxItemSet& rOutAttrs )
     rOutAttrs.Put( SfxInt32Item( ATTR_COPY_HEIGHT, nHeight ) );
 
     NamedColor aColor = m_xLbStartColor->GetSelectedEntry();
-    rOutAttrs.Put(XColorItem(ATTR_COPY_START_COLOR, aColor.second, 
aColor.first));
+    rOutAttrs.Put(XColorItem(ATTR_COPY_START_COLOR, aColor.m_aName, 
aColor.m_aColor));
     aColor = m_xLbEndColor->GetSelectedEntry();
-    rOutAttrs.Put(XColorItem(ATTR_COPY_END_COLOR, aColor.second, 
aColor.first));
+    rOutAttrs.Put(XColorItem(ATTR_COPY_END_COLOR, aColor.m_aName, 
aColor.m_aColor));
 }
 
 /**
diff --git a/svx/source/engine3d/float3d.cxx b/svx/source/engine3d/float3d.cxx
index 65d6e4d13a8d..15019ba2c24c 100644
--- a/svx/source/engine3d/float3d.cxx
+++ b/svx/source/engine3d/float3d.cxx
@@ -2736,7 +2736,7 @@ namespace
 void Svx3DWin::LBSelectColor( ColorListBox* pLb, const Color& rColor )
 {
     pLb->SetNoSelection();
-    pLb->SelectEntry(std::make_pair(rColor, lcl_makeColorName(rColor)));
+    pLb->SelectEntry({rColor, lcl_makeColorName(rColor)});
 }
 
 void Svx3DWin::UpdatePreview()
diff --git a/svx/source/tbxctrls/Palette.cxx b/svx/source/tbxctrls/Palette.cxx
index 63d1cf972c38..5c21062f7a6a 100644
--- a/svx/source/tbxctrls/Palette.cxx
+++ b/svx/source/tbxctrls/Palette.cxx
@@ -45,7 +45,7 @@ void PaletteASE::LoadColorSet(SvxColorValueSet& rColorSet)
     int nIx = 1;
     for (const auto& rColor : maColors)
     {
-        rColorSet.InsertItem(nIx, rColor.first, rColor.second);
+        rColorSet.InsertItem(nIx, rColor.m_aColor, rColor.m_aName);
         ++nIx;
     }
 }
@@ -211,7 +211,7 @@ void PaletteGPL::LoadColorSet(SvxColorValueSet& rColorSet)
     int nIx = 1;
     for (const auto& rColor : maColors)
     {
-        rColorSet.InsertItem(nIx, rColor.first, rColor.second);
+        rColorSet.InsertItem(nIx, rColor.m_aColor, rColor.m_aName);
         ++nIx;
     }
 }
@@ -384,8 +384,8 @@ NamedColor NamedThemedColor::ToNamedColor() const { return 
{ m_aColor, m_aName }
 NamedThemedColor NamedThemedColor::FromNamedColor(const NamedColor& 
rNamedColor)
 {
     NamedThemedColor aColor;
-    aColor.m_aColor = rNamedColor.first;
-    aColor.m_aName = rNamedColor.second;
+    aColor.m_aColor = rNamedColor.m_aColor;
+    aColor.m_aName = rNamedColor.m_aName;
     return aColor;
 }
 }
diff --git a/svx/source/tbxctrls/PaletteManager.cxx 
b/svx/source/tbxctrls/PaletteManager.cxx
index a6c489fffda0..be5c65461910 100644
--- a/svx/source/tbxctrls/PaletteManager.cxx
+++ b/svx/source/tbxctrls/PaletteManager.cxx
@@ -53,11 +53,11 @@ namespace
 {
 // Luminance modulation for the 6 effect presets.
 // 10000 is the default.
-sal_Int16 g_aLumMods[] = { 10000, 2000, 4000, 6000, 7500, 5000 };
+constexpr const std::array<sal_Int16, 6> g_aLumMods = { 10000, 2000, 4000, 
6000, 7500, 5000 };
 
 // Luminance offset for the 6 effect presets.
 // 0 is the default.
-sal_Int16 g_aLumOffs[] = { 0, 8000, 6000, 4000, 0, 0 };
+constexpr const std::array<sal_Int16, 6> g_aLumOffs = { 0, 8000, 6000, 4000, 
0, 0 };
 }
 
 PaletteManager::PaletteManager() :
@@ -366,7 +366,7 @@ void PaletteManager::AddRecentColor(const Color& 
rRecentColor, const OUString& r
 {
     auto itColor = std::find_if(maRecentColors.begin(),
                                 maRecentColors.end(),
-                                [rRecentColor] (const NamedColor &a) { return 
a.first == rRecentColor; });
+                                [rRecentColor] (const NamedColor &aColor) { 
return aColor.m_aColor == rRecentColor; });
     // if recent color to be added is already in list, remove it
     if( itColor != maRecentColors.end() )
         maRecentColors.erase( itColor );
@@ -374,7 +374,7 @@ void PaletteManager::AddRecentColor(const Color& 
rRecentColor, const OUString& r
     if (maRecentColors.size() == mnMaxRecentColors)
         maRecentColors.pop_back();
     if (bFront)
-        maRecentColors.push_front(std::make_pair(rRecentColor, rName));
+        maRecentColors.emplace_front(rRecentColor, rName);
     else
         maRecentColors.emplace_back(rRecentColor, rName);
     css::uno::Sequence< sal_Int32 > aColorList(maRecentColors.size());
@@ -383,8 +383,8 @@ void PaletteManager::AddRecentColor(const Color& 
rRecentColor, const OUString& r
     auto aColorNameListRange = asNonConstRange(aColorNameList);
     for (size_t i = 0; i < maRecentColors.size(); ++i)
     {
-        aColorListRange[i] = static_cast<sal_Int32>(maRecentColors[i].first);
-        aColorNameListRange[i] = maRecentColors[i].second;
+        aColorListRange[i] = 
static_cast<sal_Int32>(maRecentColors[i].m_aColor);
+        aColorNameListRange[i] = maRecentColors[i].m_aName;
     }
     std::shared_ptr<comphelper::ConfigurationChanges> 
batch(comphelper::ConfigurationChanges::create());
     officecfg::Office::Common::UserColors::RecentColor::set(aColorList, batch);
@@ -414,7 +414,7 @@ void PaletteManager::PopupColorPicker(weld::Window* 
pParent, const OUString& aCo
         {
             Color aLastColor = m_pColorDlg->GetColor();
             OUString sColorName = "#" + 
aLastColor.AsRGBHexString().toAsciiUpperCase();
-            NamedColor aNamedColor = std::make_pair(aLastColor, sColorName);
+            NamedColor aNamedColor(aLastColor, sColorName);
             if (mpBtnUpdater)
                 mpBtnUpdater->Update(aNamedColor);
             AddRecentColor(aLastColor, sColorName);
diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx
index d619e9cded5e..cbf02496b701 100644
--- a/svx/source/tbxctrls/tbcontrl.cxx
+++ b/svx/source/tbxctrls/tbcontrl.cxx
@@ -2148,7 +2148,7 @@ NamedColor ColorWindow::GetSelectEntryColor(ValueSet 
const * pColorSet)
 {
     Color aColor = pColorSet->GetItemColor(pColorSet->GetSelectedItemId());
     OUString sColorName = 
pColorSet->GetItemText(pColorSet->GetSelectedItemId());
-    return std::make_pair(aColor, sColorName);
+    return { aColor, sColorName };
 }
 
 namespace
@@ -2187,13 +2187,15 @@ namespace
                 break;
         }
 
-        return std::make_pair(aColor, sColorName);
+        return {aColor, sColorName};
     }
 
     NamedColor GetNoneColor()
     {
-        return std::make_pair(COL_NONE_COLOR, 
comphelper::LibreOfficeKit::isActive() ? SvxResId(RID_SVXSTR_INVISIBLE)
-            : SvxResId(RID_SVXSTR_NONE));
+        OUString aName = comphelper::LibreOfficeKit::isActive()
+                            ? SvxResId(RID_SVXSTR_INVISIBLE)
+                            : SvxResId(RID_SVXSTR_NONE);
+        return { COL_NONE_COLOR, aName };
     }
 }
 
@@ -2214,7 +2216,7 @@ IMPL_LINK(ColorWindow, SelectHdl, ValueSet*, pColorSet, 
void)
 
     if (pColorSet != mxRecentColorSet.get())
     {
-         mxPaletteManager->AddRecentColor(aNamedColor.first, 
aNamedColor.second);
+         mxPaletteManager->AddRecentColor(aNamedColor.m_aColor, 
aNamedColor.m_aName);
          if (!maMenuButton.get_active())
             mxPaletteManager->ReloadRecentColorSet(*mxRecentColorSet);
     }
@@ -2277,7 +2279,7 @@ IMPL_LINK(ColorWindow, AutoColorClickHdl, weld::Button&, 
rButton, void)
 IMPL_LINK_NOARG(ColorWindow, OpenPickerClickHdl, weld::Button&, void)
 {
     // copy before set_inactive
-    auto nColor = GetSelectEntryColor().first;
+    auto nColor = GetSelectEntryColor().m_aColor;
     auto pParentWindow = maTopLevelParentFunction();
     OUString sCommand = maCommand;
     std::shared_ptr<PaletteManager> xPaletteManager(mxPaletteManager);
@@ -2337,7 +2339,7 @@ void ColorWindow::SelectEntry(const NamedColor& 
rNamedColor)
 {
     SetNoSelection();
 
-    const Color &rColor = rNamedColor.first;
+    const Color &rColor = rNamedColor.m_aColor;
 
     if (mxButtonAutoColor->get_visible() && (rColor == COL_TRANSPARENT || 
rColor == COL_AUTO))
     {
@@ -2361,7 +2363,7 @@ void ColorWindow::SelectEntry(const NamedColor& 
rNamedColor)
     // whole recently used
     if (!bFoundColor)
     {
-        const OUString& rColorName = rNamedColor.second;
+        const OUString& rColorName = rNamedColor.m_aName;
         mxPaletteManager->AddRecentColor(rColor, rColorName, false);
         mxPaletteManager->ReloadRecentColorSet(*mxRecentColorSet);
         SelectValueSetEntry(mxRecentColorSet.get(), rColor);
@@ -2371,7 +2373,7 @@ void ColorWindow::SelectEntry(const NamedColor& 
rNamedColor)
 void ColorWindow::SelectEntry(const Color& rColor)
 {
     OUString sColorName = "#" + rColor.AsRGBHexString().toAsciiUpperCase();
-    ColorWindow::SelectEntry(std::make_pair(rColor, sColorName));
+    ColorWindow::SelectEntry({rColor, sColorName});
 }
 
 ColorStatus::ColorStatus() :
@@ -4299,9 +4301,9 @@ void ColorListBox::createColorWindow()
 
 void ColorListBox::SelectEntry(const NamedColor& rColor)
 {
-    if (rColor.second.trim().isEmpty())
+    if (rColor.m_aName.trim().isEmpty())
     {
-        SelectEntry(rColor.first);
+        SelectEntry(rColor.m_aColor);
         return;
     }
     ColorWindow* pColorWindow = getColorWindow();
@@ -4341,7 +4343,7 @@ int ColorListBox::CalcBestWidthRequest()
         if (nColorTextWidth > nMaxStandardColorTextWidth)
         {
             nMaxStandardColorTextWidth = nColorTextWidth;
-            aLongestColor.second = rEntry.GetName();
+            aLongestColor.m_aName = rEntry.GetName();
         }
     }
     ShowPreview(aLongestColor);
@@ -4362,7 +4364,7 @@ void ColorListBox::ShowPreview(const NamedColor &rColor)
     ScopedVclPtrInstance<VirtualDevice> xDevice;
     xDevice->SetOutputSize(aImageSize);
     const tools::Rectangle aRect(Point(0, 0), aImageSize);
-    if (m_bShowNoneButton && rColor.first == COL_NONE_COLOR)
+    if (m_bShowNoneButton && rColor.m_aColor == COL_NONE_COLOR)
     {
         const Color aW(COL_WHITE);
         const Color aG(0xef, 0xef, 0xef);
@@ -4373,17 +4375,17 @@ void ColorListBox::ShowPreview(const NamedColor &rColor)
     }
     else
     {
-        if (rColor.first == COL_AUTO)
+        if (rColor.m_aColor == COL_AUTO)
             xDevice->SetFillColor(m_aAutoDisplayColor);
         else
-            xDevice->SetFillColor(rColor.first);
+            xDevice->SetFillColor(rColor.m_aColor);
     }
 
     xDevice->SetLineColor(rStyleSettings.GetDisableColor());
     xDevice->DrawRect(aRect);
 
     m_xButton->set_image(xDevice.get());
-    m_xButton->set_label(rColor.second);
+    m_xButton->set_label(rColor.m_aName);
 }
 
 MenuOrToolMenuButton::MenuOrToolMenuButton(weld::MenuButton* pMenuButton)
diff --git a/svx/source/tbxctrls/tbxcolorupdate.cxx 
b/svx/source/tbxctrls/tbxcolorupdate.cxx
index 4e438c3ede9c..540eaf85fa33 100644
--- a/svx/source/tbxctrls/tbxcolorupdate.cxx
+++ b/svx/source/tbxctrls/tbxcolorupdate.cxx
@@ -137,11 +137,11 @@ namespace svx
 
     void ToolboxButtonColorUpdaterBase::Update(const NamedColor &rNamedColor)
     {
-        Update(rNamedColor.first);
+        Update(rNamedColor.m_aColor);
         if (!mbWideButton)
         {
             // Also show the current color as QuickHelpText
-            OUString colorSuffix = OUString(" (%1)").replaceFirst("%1", 
rNamedColor.second);
+            OUString colorSuffix = OUString(" (%1)").replaceFirst("%1", 
rNamedColor.m_aName);
             OUString colorHelpText = maCommandLabel + colorSuffix;
 
             SetQuickHelpText(colorHelpText);
commit 6550e7e850fa5adf1d8c64338a0817dfb69ba045
Author:     Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk>
AuthorDate: Sun May 21 18:22:18 2023 +0900
Commit:     Tomaž Vajngerl <qui...@gmail.com>
CommitDate: Thu Jun 1 17:58:08 2023 +0200

    xmloff: rename *-color-theme-reference to *-complex-color
    
    Change-Id: I63dd83522da7699162eb06a019a679d4b8750d10
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152053
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <qui...@gmail.com>
    (cherry picked from commit 68c4d1ca207a82015120a770fbbc5c12fbe1abda)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152263
    Tested-by: Tomaž Vajngerl <qui...@gmail.com>

diff --git a/include/xmloff/xmltoken.hxx b/include/xmloff/xmltoken.hxx
index 4a9472a4f3e6..5a38c20c289d 100644
--- a/include/xmloff/xmltoken.hxx
+++ b/include/xmloff/xmltoken.hxx
@@ -3486,6 +3486,7 @@ namespace xmloff::token {
         XML_LINKED_STYLE_NAME,
 
         XML_THEME,
+        XML_THEME_TYPE,
         XML_CHAR_COMPLEX_COLOR,
         XML_FILL_COMPLEX_COLOR,
         XML_DK1,
diff --git a/oox/qa/unit/data/ReferenceShapeFill.fodp 
b/oox/qa/unit/data/ReferenceShapeFill.fodp
index 61111d406c32..09a231c0344d 100644
--- a/oox/qa/unit/data/ReferenceShapeFill.fodp
+++ b/oox/qa/unit/data/ReferenceShapeFill.fodp
@@ -350,28 +350,28 @@
    </style:graphic-properties>
    <style:paragraph-properties fo:margin-top="0.5cm" fo:margin-bottom="0cm" 
fo:line-height="90%" fo:text-align="start" style:punctuation-wrap="hanging" 
style:writing-mode="lr-tb"/>
    <style:text-properties fo:font-variant="normal" fo:text-transform="none" 
fo:color="#000000" loext:opacity="100%" style:text-outline="false" 
style:text-line-through-style="none" style:text-line-through-type="none" 
style:text-position="0% 100%" style:font-name="Calibri" 
fo:font-family="Calibri" fo:font-size="28pt" fo:letter-spacing="normal" 
fo:language="en" fo:country="US" fo:font-style="normal" fo:text-shadow="none" 
style:text-underline-style="none" fo:font-weight="normal" 
style:letter-kerning="true" fo:background-color="transparent" 
style:font-name-asian="Noto Sans CJK SC" style:font-family-asian="&apos;Noto 
Sans CJK SC&apos;" style:font-family-generic-asian="system" 
style:font-pitch-asian="variable" style:font-size-asian="28pt" 
style:font-style-asian="normal" style:font-weight-asian="normal" 
style:font-name-complex="Droid Sans Devanagari" 
style:font-family-complex="&apos;Droid Sans Devanagari&apos;" 
style:font-family-generic-complex="system" style:font-pitch-complex="variable" s
 tyle:font-size-complex="28pt" style:font-style-complex="normal" 
style:font-weight-complex="normal" style:text-emphasize="none" 
style:font-relief="none" style:text-overline-style="none" 
style:text-overline-color="font-color" fo:hyphenate="false">
-    <loext:char-color-theme-reference loext:type="dk1"/>
+    <loext:char-complex-color loext:theme-type="dk1"/>
    </style:text-properties>
   </style:style>
   <style:style style:name="Title_20_Slide-outline2" style:display-name="Title 
Slide-outline2" style:family="presentation" 
style:parent-style-name="Title_20_Slide-outline1">
    <style:graphic-properties style:writing-mode="lr-tb"/>
    <style:paragraph-properties fo:margin-top="0.4cm" fo:margin-bottom="0cm" 
fo:line-height="90%" fo:text-align="start" style:punctuation-wrap="hanging" 
style:writing-mode="lr-tb"/>
    <style:text-properties fo:font-variant="normal" fo:text-transform="none" 
fo:color="#000000" loext:opacity="100%" style:text-outline="false" 
style:text-line-through-style="none" style:text-line-through-type="none" 
style:text-position="0% 100%" style:font-name="Calibri" 
fo:font-family="Calibri" fo:font-size="20pt" fo:letter-spacing="normal" 
fo:font-style="normal" style:text-underline-style="none" 
fo:font-weight="normal" fo:background-color="transparent" 
style:font-size-asian="20pt" style:font-style-asian="normal" 
style:font-weight-asian="normal" style:font-size-complex="20pt" 
style:font-style-complex="normal" style:font-weight-complex="normal" 
fo:hyphenate="false">
-    <loext:char-color-theme-reference loext:type="dk1"/>
+    <loext:char-complex-color loext:theme-type="dk1"/>
    </style:text-properties>
   </style:style>
   <style:style style:name="Title_20_Slide-outline3" style:display-name="Title 
Slide-outline3" style:family="presentation" 
style:parent-style-name="Title_20_Slide-outline2">
    <style:graphic-properties style:writing-mode="lr-tb"/>
    <style:paragraph-properties fo:margin-top="0.3cm" fo:margin-bottom="0cm" 
fo:line-height="90%" fo:text-align="start" style:punctuation-wrap="hanging" 
style:writing-mode="lr-tb"/>
    <style:text-properties fo:font-variant="normal" fo:text-transform="none" 
fo:color="#000000" loext:opacity="100%" style:text-outline="false" 
style:text-line-through-style="none" style:text-line-through-type="none" 
style:text-position="0% 100%" style:font-name="Calibri" 
fo:font-family="Calibri" fo:font-size="18pt" fo:letter-spacing="normal" 
fo:font-style="normal" style:text-underline-style="none" 
fo:font-weight="normal" fo:background-color="transparent" 
style:font-size-asian="18pt" style:font-style-asian="normal" 
style:font-weight-asian="normal" style:font-size-complex="18pt" 
style:font-style-complex="normal" style:font-weight-complex="normal" 
fo:hyphenate="false">
-    <loext:char-color-theme-reference loext:type="dk1"/>
+    <loext:char-complex-color loext:theme-type="dk1"/>
    </style:text-properties>
   </style:style>
   <style:style style:name="Title_20_Slide-outline4" style:display-name="Title 
Slide-outline4" style:family="presentation" 
style:parent-style-name="Title_20_Slide-outline3">
    <style:graphic-properties style:writing-mode="lr-tb"/>
    <style:paragraph-properties fo:margin-top="0.2cm" fo:margin-bottom="0cm" 
fo:line-height="90%" fo:text-align="start" style:punctuation-wrap="hanging" 
style:writing-mode="lr-tb"/>
    <style:text-properties fo:font-variant="normal" fo:text-transform="none" 
fo:color="#000000" loext:opacity="100%" style:text-outline="false" 
style:text-line-through-style="none" style:text-line-through-type="none" 
style:text-position="0% 100%" style:font-name="Calibri" 
fo:font-family="Calibri" fo:font-size="18pt" fo:letter-spacing="normal" 
fo:font-style="normal" style:text-underline-style="none" 
fo:font-weight="normal" fo:background-color="transparent" 
style:font-size-asian="18pt" style:font-style-asian="normal" 
style:font-weight-asian="normal" style:font-size-complex="18pt" 
style:font-style-complex="normal" style:font-weight-complex="normal" 
fo:hyphenate="false">
-    <loext:char-color-theme-reference loext:type="dk1"/>
+    <loext:char-complex-color loext:theme-type="dk1"/>
    </style:text-properties>
   </style:style>
   <style:style style:name="Title_20_Slide-outline5" style:display-name="Title 
Slide-outline5" style:family="presentation" 
style:parent-style-name="Title_20_Slide-outline4">
@@ -489,7 +489,7 @@
    </style:graphic-properties>
    <style:paragraph-properties fo:line-height="100%" fo:text-align="start" 
style:punctuation-wrap="hanging" style:writing-mode="lr-tb"/>
    <style:text-properties fo:font-variant="normal" fo:text-transform="none" 
fo:color="#000000" loext:opacity="100%" style:text-outline="false" 
style:text-line-through-style="none" style:text-line-through-type="none" 
style:text-position="0% 100%" style:font-name="Calibri" 
fo:font-family="Calibri" fo:font-size="18pt" fo:letter-spacing="normal" 
fo:language="en" fo:country="US" fo:font-style="normal" fo:text-shadow="none" 
style:text-underline-style="none" fo:font-weight="normal" 
style:letter-kerning="true" fo:background-color="transparent" 
style:font-name-asian="Noto Sans CJK SC" style:font-family-asian="&apos;Noto 
Sans CJK SC&apos;" style:font-family-generic-asian="system" 
style:font-pitch-asian="variable" style:font-size-asian="18pt" 
style:font-style-asian="normal" style:font-weight-asian="normal" 
style:font-name-complex="Droid Sans Devanagari" 
style:font-family-complex="&apos;Droid Sans Devanagari&apos;" 
style:font-family-generic-complex="system" style:font-pitch-complex="variable" s
 tyle:font-size-complex="18pt" style:font-style-complex="normal" 
style:font-weight-complex="normal" style:text-emphasize="none" 
style:font-relief="none" style:text-overline-style="none" 
style:text-overline-color="font-color" fo:hyphenate="false">
-    <loext:char-color-theme-reference loext:type="dk1"/>
+    <loext:char-complex-color loext:theme-type="dk1"/>
    </style:text-properties>
   </style:style>
   <style:presentation-page-layout style:name="AL0T26">
@@ -531,9 +531,9 @@
   </style:style>
   <style:style style:name="gr3" style:family="graphic" 
style:parent-style-name="standard" style:list-style-name="L3">
    <style:graphic-properties draw:stroke="solid" svg:stroke-width="0.035cm" 
svg:stroke-color="#325490" draw:stroke-linejoin="miter" 
svg:stroke-linecap="butt" draw:fill="solid" draw:fill-color="#548235" 
draw:textarea-horizontal-align="justify" draw:textarea-vertical-align="middle" 
draw:auto-grow-height="false" draw:fit-to-size="false" 
style:shrink-to-fit="false" fo:min-height="0cm" fo:min-width="0cm" 
fo:padding-top="0.125cm" fo:padding-bottom="0.125cm" fo:padding-left="0.25cm" 
fo:padding-right="0.25cm" fo:wrap-option="wrap" style:writing-mode="lr-tb">
-    <loext:fill-color-theme-reference loext:type="accent6">
+    <loext:fill-complex-color loext:theme-type="accent6">
      <loext:transformation loext:type="lummod" loext:value="7500"/>
-    </loext:fill-color-theme-reference>
+    </loext:fill-complex-color>
    </style:graphic-properties>
    <style:paragraph-properties style:writing-mode="lr-tb"/>
   </style:style>
@@ -585,7 +585,7 @@
   </style:style>
   <style:style style:name="T2" style:family="text">
    <style:text-properties fo:font-variant="normal" fo:text-transform="none" 
fo:color="#ffffff" loext:opacity="100%" style:text-outline="false" 
style:text-line-through-style="none" style:text-line-through-type="none" 
style:text-position="0% 100%" style:font-name="Calibri" fo:font-size="18pt" 
fo:letter-spacing="normal" fo:language="en" fo:country="GB" 
fo:font-style="normal" style:text-underline-style="none" 
fo:font-weight="normal" fo:background-color="transparent" 
style:font-size-asian="18pt" style:font-style-asian="normal" 
style:font-weight-asian="normal" style:font-size-complex="18pt" 
style:font-style-complex="normal" style:font-weight-complex="normal">
-    <loext:char-color-theme-reference loext:type="lt1"/>
+    <loext:char-complex-color loext:theme-type="lt1"/>
    </style:text-properties>
   </style:style>
   <text:list-style style:name="L1">
@@ -835,4 +835,4 @@
    <presentation:settings presentation:mouse-visible="false"/>
   </office:presentation>
  </office:body>
-</office:document>
\ No newline at end of file
+</office:document>
diff --git a/schema/libreoffice/OpenDocument-v1.3+libreoffice-schema.rng 
b/schema/libreoffice/OpenDocument-v1.3+libreoffice-schema.rng
index 4eb287249809..9e97a5d03317 100644
--- a/schema/libreoffice/OpenDocument-v1.3+libreoffice-schema.rng
+++ b/schema/libreoffice/OpenDocument-v1.3+libreoffice-schema.rng
@@ -3415,28 +3415,28 @@ 
xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.
     </rng:element>
   </rng:define>
 
-  <rng:define name="loext-theme-color-reference-attlist">
+  <rng:define name="loext-complex-color-attlist">
     <rng:interleave>
       <rng:optional>
-        <rng:attribute name="loext:type">
+        <rng:attribute name="loext:theme-type">
           <rng:ref name="theme-color"/>
         </rng:attribute>
       </rng:optional>
     </rng:interleave>
   </rng:define>
 
-  <rng:define name="loext-char-color-theme-reference">
-    <rng:element name="loext:char-color-theme-reference">
-      <rng:ref name="loext-theme-color-reference-attlist"/>
+  <rng:define name="loext-char-complex-color">
+    <rng:element name="loext:char-complex-color">
+      <rng:ref name="loext-complex-color-attlist"/>
       <rng:zeroOrMore>
         <rng:ref name="loext-transformation"/>
       </rng:zeroOrMore>
     </rng:element>
   </rng:define>
 
-  <rng:define name="loext-fill-color-theme-reference">
-    <rng:element name="loext:fill-color-theme-reference">
-      <rng:ref name="loext-theme-color-reference-attlist"/>
+  <rng:define name="loext-fill-complex-color">
+    <rng:element name="loext:fill-complex-color">
+      <rng:ref name="loext-complex-color-attlist"/>
       <rng:zeroOrMore>
         <rng:ref name="loext-transformation"/>
       </rng:zeroOrMore>
@@ -3446,14 +3446,14 @@ 
xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.
   <!-- TODO no proposal -->
   <rng:define name="style-text-properties-elements" combine="interleave">
     <rng:optional>
-        <rng:ref name="loext-char-color-theme-reference"/>
+        <rng:ref name="loext-char-complex-color"/>
     </rng:optional>
   </rng:define>
 
   <!-- TODO no proposal -->
   <rng:define name="style-graphic-properties-elements" combine="interleave">
     <rng:optional>
-        <rng:ref name="loext-fill-color-theme-reference"/>
+        <rng:ref name="loext-fill-complex-color"/>
     </rng:optional>
   </rng:define>
 
diff --git a/xmloff/qa/unit/draw.cxx b/xmloff/qa/unit/draw.cxx
index 66f55af40d9f..05e1569b93f8 100644
--- a/xmloff/qa/unit/draw.cxx
+++ b/xmloff/qa/unit/draw.cxx
@@ -247,47 +247,47 @@ CPPUNIT_TEST_FIXTURE(XmloffDrawTest, 
testThemeColorExportImport)
 
     // Text color
     OString aStyle1(
-        
"//style:style[@style:name='T2']/style:text-properties/loext:char-color-theme-reference");
-    assertXPath(pXmlDoc, aStyle1, "type", "accent3");
+        
"//style:style[@style:name='T2']/style:text-properties/loext:char-complex-color");
+    assertXPath(pXmlDoc, aStyle1, "theme-type", "accent3");
     assertXPath(pXmlDoc, aStyle1 + "/loext:transformation[1]", "type", 
"lummod");
     assertXPath(pXmlDoc, aStyle1 + "/loext:transformation[1]", "value", 
"2000");
     assertXPath(pXmlDoc, aStyle1 + "/loext:transformation[2]", "type", 
"lumoff");
     assertXPath(pXmlDoc, aStyle1 + "/loext:transformation[2]", "value", 
"8000");
 
     OString aStyle2(
-        
"//style:style[@style:name='T3']/style:text-properties/loext:char-color-theme-reference");
-    assertXPath(pXmlDoc, aStyle2, "type", "accent3");
+        
"//style:style[@style:name='T3']/style:text-properties/loext:char-complex-color");
+    assertXPath(pXmlDoc, aStyle2, "theme-type", "accent3");
     assertXPath(pXmlDoc, aStyle2 + "/loext:transformation[1]", "type", 
"lummod");
     assertXPath(pXmlDoc, aStyle2 + "/loext:transformation[1]", "value", 
"6000");
     assertXPath(pXmlDoc, aStyle2 + "/loext:transformation[2]", "type", 
"lumoff");
     assertXPath(pXmlDoc, aStyle2 + "/loext:transformation[2]", "value", 
"4000");
 
     OString aStyle3(
-        
"//style:style[@style:name='T4']/style:text-properties/loext:char-color-theme-reference");
-    assertXPath(pXmlDoc, aStyle3, "type", "accent3");
+        
"//style:style[@style:name='T4']/style:text-properties/loext:char-complex-color");
+    assertXPath(pXmlDoc, aStyle3, "theme-type", "accent3");
     assertXPath(pXmlDoc, aStyle3 + "/loext:transformation[1]", "type", 
"lummod");
     assertXPath(pXmlDoc, aStyle3 + "/loext:transformation[1]", "value", 
"5000");
 
     // Shapes fill color
     OString 
aShape1("//style:style[@style:name='gr1']/style:graphic-properties/"
-                    "loext:fill-color-theme-reference");
-    assertXPath(pXmlDoc, aShape1, "type", "accent2");
+                    "loext:fill-complex-color");
+    assertXPath(pXmlDoc, aShape1, "theme-type", "accent2");
     assertXPath(pXmlDoc, aShape1 + "/loext:transformation[1]", "type", 
"lummod");
     assertXPath(pXmlDoc, aShape1 + "/loext:transformation[1]", "value", 
"2000");
     assertXPath(pXmlDoc, aShape1 + "/loext:transformation[2]", "type", 
"lumoff");
     assertXPath(pXmlDoc, aShape1 + "/loext:transformation[2]", "value", 
"8000");
 
     OString 
aShape2("//style:style[@style:name='gr2']/style:graphic-properties/"
-                    "loext:fill-color-theme-reference");
-    assertXPath(pXmlDoc, aShape2, "type", "accent2");
+                    "loext:fill-complex-color");
+    assertXPath(pXmlDoc, aShape2, "theme-type", "accent2");
     assertXPath(pXmlDoc, aShape2 + "/loext:transformation[1]", "type", 
"lummod");
     assertXPath(pXmlDoc, aShape2 + "/loext:transformation[1]", "value", 
"6000");
     assertXPath(pXmlDoc, aShape2 + "/loext:transformation[2]", "type", 
"lumoff");
     assertXPath(pXmlDoc, aShape2 + "/loext:transformation[2]", "value", 
"4000");
 
     OString 
aShape3("//style:style[@style:name='gr3']/style:graphic-properties/"
-                    "loext:fill-color-theme-reference");
-    assertXPath(pXmlDoc, aShape3, "type", "accent2");
+                    "loext:fill-complex-color");
+    assertXPath(pXmlDoc, aShape3, "theme-type", "accent2");
     assertXPath(pXmlDoc, aShape3 + "/loext:transformation[1]", "type", 
"lummod");
     assertXPath(pXmlDoc, aShape3 + "/loext:transformation[1]", "value", 
"5000");
 
diff --git a/xmloff/source/core/xmltoken.cxx b/xmloff/source/core/xmltoken.cxx
index 5fbfcc6da43f..d49bbf614982 100644
--- a/xmloff/source/core/xmltoken.cxx
+++ b/xmloff/source/core/xmltoken.cxx
@@ -3489,8 +3489,9 @@ namespace xmloff::token {
         TOKEN("linked-style-name",   XML_LINKED_STYLE_NAME ),
 
         TOKEN("theme",               XML_THEME ),
-        TOKEN("char-color-theme-reference", XML_CHAR_COMPLEX_COLOR),
-        TOKEN("fill-color-theme-reference", XML_FILL_COMPLEX_COLOR),
+        TOKEN("theme-type",          XML_THEME_TYPE ),
+        TOKEN("char-complex-color", XML_CHAR_COMPLEX_COLOR),
+        TOKEN("fill-complex-color", XML_FILL_COMPLEX_COLOR),
         TOKEN("dk1",                 XML_DK1 ),
         TOKEN("lt1",                 XML_LT1 ),
         TOKEN("dk2",                 XML_DK2 ),
diff --git a/xmloff/source/text/XMLComplexColorContext.cxx 
b/xmloff/source/text/XMLComplexColorContext.cxx
index f506a71941d9..88d1eca12bfa 100644
--- a/xmloff/source/text/XMLComplexColorContext.cxx
+++ b/xmloff/source/text/XMLComplexColorContext.cxx
@@ -40,7 +40,7 @@ XMLComplexColorContext::XMLComplexColorContext(
     {
         switch (aIter.getToken())
         {
-            case XML_ELEMENT(LO_EXT, XML_TYPE):
+            case XML_ELEMENT(LO_EXT, XML_THEME_TYPE):
             {
                 sal_Int16 nValue = -1;
                 if (SvXMLUnitConverter::convertEnum(nValue, aIter.toView(), 
pXML_ThemeColor_Enum))
diff --git a/xmloff/source/text/XMLComplexColorExport.cxx 
b/xmloff/source/text/XMLComplexColorExport.cxx
index a118d12ba689..ba2ead3a958d 100644
--- a/xmloff/source/text/XMLComplexColorExport.cxx
+++ b/xmloff/source/text/XMLComplexColorExport.cxx
@@ -47,7 +47,7 @@ void XMLComplexColorExport::exportXML(const uno::Any& rAny, 
sal_uInt16 nPrefix,
         return;
 
     XMLTokenEnum nToken = 
constThemeColorTypeToToken[sal_Int16(aComplexColor.getSchemeType())];
-    mrExport.AddAttribute(XML_NAMESPACE_LO_EXT, XML_TYPE, nToken);
+    mrExport.AddAttribute(XML_NAMESPACE_LO_EXT, XML_THEME_TYPE, nToken);
     SvXMLElementExport aComplexColorElement(mrExport, nPrefix, rLocalName, 
true, true);
 
     for (auto const& rTransform : aComplexColor.getTransformations())
diff --git a/xmloff/source/token/tokens.txt b/xmloff/source/token/tokens.txt
index 401a0ba9dcf5..0e1fdb9df493 100644
--- a/xmloff/source/token/tokens.txt
+++ b/xmloff/source/token/tokens.txt
@@ -3233,8 +3233,9 @@ rtl
 symmetric
 linked-style-name
 theme
-char-color-theme-reference
-fill-color-theme-reference
+theme-type
+char-complex-color
+fill-complex-color
 dk1
 lt1
 dk2

Reply via email to