summaryrefslogtreecommitdiff
path: root/svx/source
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.com>2022-03-17 20:37:39 +0100
committerMiklos Vajna <vmiklos@collabora.com>2022-03-18 08:07:02 +0100
commit1868dea877b0c956ee34e92afad59920e66cad3f (patch)
tree1de6e3485125f09e6d3436c6a2d6b9f1e1bc0b06 /svx/source
parent778bbcede813dd51e11ee61583247db1199eda63 (diff)
sd theme: add ODP import/export for shape fill color
Refer to the 12 pre-defined colors by name + don't write the attribute for the case when there is no theme. Change-Id: I37c984b3371ec878a0d733977f5c937dce27c440 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131717 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'svx/source')
-rw-r--r--svx/source/table/cell.cxx10
-rw-r--r--svx/source/unodraw/unoshape.cxx11
2 files changed, 21 insertions, 0 deletions
diff --git a/svx/source/table/cell.cxx b/svx/source/table/cell.cxx
index 8f1dbe55ddca..696710da6cd1 100644
--- a/svx/source/table/cell.cxx
+++ b/svx/source/table/cell.cxx
@@ -56,6 +56,7 @@
#include <svx/xflbstit.hxx>
#include <svx/xflbmtit.hxx>
#include <svx/svdpool.hxx>
+#include <svx/xflclit.hxx>
#include <tools/diagnose_ex.h>
@@ -1445,6 +1446,15 @@ PropertyState SAL_CALL Cell::getPropertyState( const OUString& PropertyName )
eState = PropertyState_DEFAULT_VALUE;
}
break;
+ case XATTR_FILLCOLOR:
+ if (pMap->nMemberId == MID_COLOR_THEME_INDEX)
+ {
+ const XFillColorItem* pColor = rSet.GetItem<XFillColorItem>(pMap->nWID);
+ if (pColor->GetThemeColor().GetThemeIndex() == -1)
+ {
+ eState = PropertyState_DEFAULT_VALUE;
+ }
+ }
}
}
}
diff --git a/svx/source/unodraw/unoshape.cxx b/svx/source/unodraw/unoshape.cxx
index cd301d7b5480..32f25b774a00 100644
--- a/svx/source/unodraw/unoshape.cxx
+++ b/svx/source/unodraw/unoshape.cxx
@@ -89,6 +89,7 @@
#include <svx/sdtfsitm.hxx>
#include <svx/svdopath.hxx>
#include <svx/SvxXTextColumns.hxx>
+#include <svx/xflclit.hxx>
#include <memory>
#include <optional>
@@ -2007,6 +2008,16 @@ beans::PropertyState SvxShape::_getPropertyState( const OUString& PropertyName )
eState = beans::PropertyState_DEFAULT_VALUE;
}
break;
+ case XATTR_FILLCOLOR:
+ if (pMap->nMemberId == MID_COLOR_THEME_INDEX)
+ {
+ const XFillColorItem* pColor = rSet.GetItem<XFillColorItem>(pMap->nWID);
+ if (pColor->GetThemeColor().GetThemeIndex() == -1)
+ {
+ eState = beans::PropertyState_DEFAULT_VALUE;
+ }
+ }
+ break;
}
}
}