jsdialogs: apply .uno:FillColor in Impress
Change-Id: Ic85233716998f3a88792501266c4d8214c4ab1a2
Reviewed-on: https://gerrit.libreoffice.org/82292
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/82303
Tested-by: Jenkins
diff --git a/sd/source/ui/view/drviews2.cxx b/sd/source/ui/view/drviews2.cxx
index 74ec6a3..ebed254 100644
--- a/sd/source/ui/view/drviews2.cxx
+++ b/sd/source/ui/view/drviews2.cxx
@@ -540,7 +540,7 @@ public:
namespace
{
void lcl_convertStringArguments(std::unique_ptr<SfxItemSet>& pArgs)
void lcl_convertStringArguments(sal_uInt16 nSlot, std::unique_ptr<SfxItemSet>& pArgs)
{
Color aColor;
OUString sColor;
@@ -556,7 +556,7 @@ namespace
XLineWidthItem aItem(nValue);
pArgs->Put(aItem);
}
else if (SfxItemState::SET == pArgs->GetItemState(SID_ATTR_COLOR_STR, false, &pItem))
if (SfxItemState::SET == pArgs->GetItemState(SID_ATTR_COLOR_STR, false, &pItem))
{
sColor = static_cast<const SfxStringItem*>(pItem)->GetValue();
@@ -565,8 +565,22 @@ namespace
else
aColor = Color(sColor.toInt32(16));
XLineColorItem aLineColorItem(OUString(), aColor);
pArgs->Put(aLineColorItem);
switch (nSlot)
{
case SID_ATTR_LINE_COLOR:
{
XLineColorItem aLineColorItem(OUString(), aColor);
pArgs->Put(aLineColorItem);
break;
}
case SID_ATTR_FILL_COLOR:
{
XFillColorItem aFillColorItem(OUString(), aColor);
pArgs->Put(aFillColorItem);
break;
}
}
}
}
}
@@ -657,7 +671,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
if( rReq.GetArgs() )
{
std::unique_ptr<SfxItemSet> pNewArgs = rReq.GetArgs()->Clone();
lcl_convertStringArguments(pNewArgs);
lcl_convertStringArguments(rReq.GetSlot(), pNewArgs);
mpDrawView->SetAttributes(*pNewArgs);
rReq.Done();
}