summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--svx/sdi/xoitems.sdi16
-rw-r--r--svx/source/tbxctrls/PaletteManager.cxx2
-rw-r--r--svx/source/xoutdev/xattr.cxx40
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;