diff options
-rw-r--r-- | sc/source/ui/drawfunc/drawsh.cxx | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/sc/source/ui/drawfunc/drawsh.cxx b/sc/source/ui/drawfunc/drawsh.cxx index decc6798466f..9e20ab1ced56 100644 --- a/sc/source/ui/drawfunc/drawsh.cxx +++ b/sc/source/ui/drawfunc/drawsh.cxx @@ -55,6 +55,7 @@ #include <memory> #include <svx/xlnwtit.hxx> #include <svx/chrtitem.hxx> +#include <svx/xlnclit.hxx> SFX_IMPL_INTERFACE(ScDrawShell, SfxShell) @@ -62,6 +63,8 @@ namespace { void lcl_convertStringArguments(std::unique_ptr<SfxItemSet>& pArgs) { + Color aColor; + OUString sColor; const SfxPoolItem* pItem = nullptr; if (SfxItemState::SET == pArgs->GetItemState(SID_ATTR_LINE_WIDTH_ARG, false, &pItem)) @@ -74,6 +77,18 @@ namespace XLineWidthItem aItem(nValue); pArgs->Put(aItem); } + else if (SfxItemState::SET == pArgs->GetItemState(SID_ATTR_COLOR_STR, false, &pItem)) + { + sColor = static_cast<const SfxStringItem*>(pItem)->GetValue(); + + if (sColor == "transparent") + aColor = COL_TRANSPARENT; + else + aColor = Color(sColor.toInt32(16)); + + XLineColorItem aLineColorItem(OUString(), aColor); + pArgs->Put(aLineColorItem); + } } } |