diff options
-rw-r--r-- | svx/sdi/xoitems.sdi | 16 | ||||
-rw-r--r-- | svx/source/tbxctrls/PaletteManager.cxx | 2 | ||||
-rw-r--r-- | svx/source/xoutdev/xattr.cxx | 40 |
3 files changed, 56 insertions, 2 deletions
diff --git a/svx/sdi/xoitems.sdi b/svx/sdi/xoitems.sdi index 015ead6e0d72..50db129a6434 100644 --- a/svx/sdi/xoitems.sdi +++ b/svx/sdi/xoitems.sdi @@ -24,7 +24,13 @@ struct XFillBitmap }; item XFillBitmap XFillBitmapItem; -item INT32 XFillColorItem; // XColorItem +struct XFillColor +{ + INT32 Color MID_COLOR_RGB; + String ComplexColorJSON MID_COMPLEX_COLOR_JSON; +}; + +item XFillColor XFillColorItem; // XColorItem enum SvxGradientStyle { @@ -84,7 +90,13 @@ item SvxFillStyle XFillStyleItem; //item String XLineAttrSetItem; SfxSetItem! -item INT32 XLineColorItem; +struct XLineColor +{ + INT32 Color MID_COLOR_RGB; + String ComplexColorJSON MID_COMPLEX_COLOR_JSON; +}; + +item XLineColor XLineColorItem; enum SvxDashStyle { diff --git a/svx/source/tbxctrls/PaletteManager.cxx b/svx/source/tbxctrls/PaletteManager.cxx index b56248825600..141938d145d7 100644 --- a/svx/source/tbxctrls/PaletteManager.cxx +++ b/svx/source/tbxctrls/PaletteManager.cxx @@ -427,6 +427,8 @@ void PaletteManager::DispatchColorCommand(const OUString& aCommand, const NamedC comphelper::makePropertyValue(aObj.GetURLPath()+ ".Color", sal_Int32(rColor.m_aColor)), }; + printf ("Sending: %s\n", aObj.GetURLPath().toUtf8().getStr()); + if (rColor.m_nThemeIndex != -1) { model::ComplexColor aComplexColor; diff --git a/svx/source/xoutdev/xattr.cxx b/svx/source/xoutdev/xattr.cxx index 4860373836a8..d3fd73f5fa04 100644 --- a/svx/source/xoutdev/xattr.cxx +++ b/svx/source/xoutdev/xattr.cxx @@ -37,6 +37,7 @@ #include <svl/itempool.hxx> #include <editeng/memberids.h> #include <docmodel/uno/UnoComplexColor.hxx> +#include <docmodel/color/ComplexColorJSON.hxx> #include <tools/mapunit.hxx> #include <tools/UnitConversion.hxx> #include <osl/diagnose.h> @@ -1002,6 +1003,11 @@ bool XLineColorItem::QueryValue( css::uno::Any& rVal, sal_uInt8 nMemberId) const rVal <<= xComplexColor; break; } + case MID_COMPLEX_COLOR_JSON: + { + rVal <<= OStringToOUString(model::color::convertToJSON(getComplexColor()), RTL_TEXTENCODING_UTF8); + break; + } default: { rVal <<= GetColorValue().GetRGBColor(); @@ -1024,6 +1030,20 @@ bool XLineColorItem::PutValue( const css::uno::Any& rVal, sal_uInt8 nMemberId) setComplexColor(model::color::getFromXComplexColor(xComplexColor)); } break; + case MID_COMPLEX_COLOR_JSON: + { + OUString sComplexColorJson; + if (!(rVal >>= sComplexColorJson)) + return false; + + if (sComplexColorJson.isEmpty()) + return false; + model::ComplexColor aComplexColor; + OString aJSON = OUStringToOString(sComplexColorJson, RTL_TEXTENCODING_ASCII_US); + model::color::convertFromJSON(aJSON, aComplexColor); + setComplexColor(aComplexColor); + } + break; default: { sal_Int32 nValue; @@ -1985,6 +2005,11 @@ bool XFillColorItem::QueryValue( css::uno::Any& rVal, sal_uInt8 nMemberId ) cons rVal <<= xComplexColor; break; } + case MID_COMPLEX_COLOR_JSON: + { + rVal <<= OStringToOUString(model::color::convertToJSON(getComplexColor()), RTL_TEXTENCODING_UTF8); + break; + } default: { rVal <<= GetColorValue().GetRGBColor(); @@ -2034,6 +2059,21 @@ bool XFillColorItem::PutValue( const css::uno::Any& rVal, sal_uInt8 nMemberId ) setComplexColor(model::color::getFromXComplexColor(xComplexColor)); } break; + case MID_COMPLEX_COLOR_JSON: + { + OUString sComplexColorJson; + if (!(rVal >>= sComplexColorJson)) + return false; + + if (sComplexColorJson.isEmpty()) + return false; + + OString aJSON = OUStringToOString(sComplexColorJson, RTL_TEXTENCODING_ASCII_US); + model::ComplexColor aComplexColor; + model::color::convertFromJSON(aJSON, aComplexColor); + setComplexColor(aComplexColor); + } + break; default: { Color nValue; |