diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2022-03-17 20:37:39 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2022-03-18 08:07:02 +0100 |
commit | 1868dea877b0c956ee34e92afad59920e66cad3f (patch) | |
tree | 1de6e3485125f09e6d3436c6a2d6b9f1e1bc0b06 /svx | |
parent | 778bbcede813dd51e11ee61583247db1199eda63 (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')
-rw-r--r-- | svx/source/table/cell.cxx | 10 | ||||
-rw-r--r-- | svx/source/unodraw/unoshape.cxx | 11 |
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; } } } |