diff options
Diffstat (limited to 'editeng/source/items')
-rw-r--r-- | editeng/source/items/textitem.cxx | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/editeng/source/items/textitem.cxx b/editeng/source/items/textitem.cxx index bf6017cdcf6d..5a53d6a8e14c 100644 --- a/editeng/source/items/textitem.cxx +++ b/editeng/source/items/textitem.cxx @@ -77,6 +77,7 @@ #include <editeng/charreliefitem.hxx> #include <editeng/itemtype.hxx> #include <editeng/eerdll.hxx> +#include <docmodel/uno/UnoThemeColor.hxx> #include <libxml/xmlwriter.h> using namespace ::com::sun::star; @@ -1435,6 +1436,12 @@ bool SvxColorItem::QueryValue( uno::Any& rVal, sal_uInt8 nMemberId ) const rVal <<= nValue; break; } + case MID_COLOR_THEME_REFERENCE: + { + auto xThemeColor = model::theme::createXThemeColor(maThemeColor); + rVal <<= xThemeColor; + break; + } default: { rVal <<= mColor; @@ -1509,6 +1516,18 @@ bool SvxColorItem::PutValue( const uno::Any& rVal, sal_uInt8 nMemberId ) maThemeColor.addTransformation({model::TransformationType::LumOff, nLumOff}); } break; + case MID_COLOR_THEME_REFERENCE: + { + css::uno::Reference<css::util::XThemeColor> xThemeColor; + if (!(rVal >>= xThemeColor)) + return false; + + if (xThemeColor.is()) + { + model::theme::setFromXThemeColor(maThemeColor, xThemeColor); + } + } + break; default: { return rVal >>= mColor; |