Kaydet (Commit) 196ec14d authored tarafından Armin Le Grand's avatar Armin Le Grand Kaydeden (comit) Caolán McNamara

Resolves: #i118267# Add undo actions for adapted arrowhead sizes...

when linewidth is changed

(cherry picked from commit 8e63413d)

Change-Id: I538805726ca29e3cdb05dc32577b91b7157d0e0f
üst c0b455a6
...@@ -257,8 +257,8 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) ...@@ -257,8 +257,8 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
SdrObject* pObj = NULL; SdrObject* pObj = NULL;
const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList(); const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList();
sal_uLong nCount = rMarkList.GetMarkCount(); sal_uLong nCount = rMarkList.GetMarkCount();
const sal_Int32 nNewLineWidth(((const XLineWidthItem&)rReq.GetArgs()->Get(XATTR_LINEWIDTH)).GetValue());
sal_Int32 nNewLineWidth = ((const XLineWidthItem&)rReq.GetArgs()->Get(XATTR_LINEWIDTH)).GetValue(); const bool bUndo(mpDrawView->IsUndoEnabled());
for (sal_uLong i=0; i<nCount; i++) for (sal_uLong i=0; i<nCount; i++)
{ {
...@@ -295,9 +295,28 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) ...@@ -295,9 +295,28 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
} }
if(bSetItemSet) if(bSetItemSet)
{
if(bUndo)
{
if(!bMergeUndo)
{
pUndoManager->EnterListAction( String(), String() );
mpDrawView->BegUndo();
bMergeUndo = sal_True;
}
mpDrawView->AddUndo(GetDoc()->GetSdrUndoFactory().CreateUndoAttrObject(*pObj));
}
pObj->SetMergedItemSet(aAttr); pObj->SetMergedItemSet(aAttr);
}
} }
} }
if(bMergeUndo)
{
mpDrawView->EndUndo();
}
} }
if (nSId == SID_ATTR_FILL_SHADOW) if (nSId == SID_ATTR_FILL_SHADOW)
...@@ -306,7 +325,6 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) ...@@ -306,7 +325,6 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
SdrObject* pObj = NULL; SdrObject* pObj = NULL;
const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList(); const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList();
sal_uLong nCount = rMarkList.GetMarkCount(); sal_uLong nCount = rMarkList.GetMarkCount();
const bool bUndo = mpDrawView->IsUndoEnabled(); const bool bUndo = mpDrawView->IsUndoEnabled();
for (sal_uLong i=0; i<nCount; i++) for (sal_uLong i=0; i<nCount; i++)
...@@ -319,10 +337,10 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) ...@@ -319,10 +337,10 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
{ {
aAttr.Put(pObj->GetMergedItemSet()); aAttr.Put(pObj->GetMergedItemSet());
const XFillStyleItem& rFillStyle = const XFillStyleItem& rFillStyle = (const XFillStyleItem&) aAttr.Get(XATTR_FILLSTYLE);
(const XFillStyleItem&) aAttr.Get(XATTR_FILLSTYLE); const XLineStyleItem& rLineStyle = (const XLineStyleItem&) aAttr.Get(XATTR_LINESTYLE);
if (rFillStyle.GetValue() == XFILL_NONE) if(XFILL_NONE == rFillStyle.GetValue() && XLINE_NONE == rLineStyle.GetValue())
{ {
if( bUndo ) if( bUndo )
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment