sw/inc/doc.hxx | 1 + sw/source/core/doc/docdraw.cxx | 5 +++-- sw/source/core/doc/doclay.cxx | 5 +++++ 3 files changed, 9 insertions(+), 2 deletions(-)
New commits: commit b2d9603bc02db3a6711948274c5fa2b5cf148d48 Author: Vasily Melenchuk <vasily.melenc...@cib.de> AuthorDate: Wed Feb 5 10:57:21 2020 +0300 Commit: Thorsten Behrens <thorsten.behr...@cib.de> CommitDate: Wed Feb 5 17:17:30 2020 +0100 sw: set uniqe name and style to grouped shapes Unique name is required to dsiplay object in Navigator, style is used by undo/redo code. Change-Id: Id2417cbee3f92c0ee555eb093e1e9bbbc0a83e0b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87996 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> diff --git a/sw/inc/doc.hxx b/sw/inc/doc.hxx index 20954f7ed608..14d98f6d5fee 100644 --- a/sw/inc/doc.hxx +++ b/sw/inc/doc.hxx @@ -680,6 +680,7 @@ public: OUString GetUniqueOLEName() const; OUString GetUniqueFrameName() const; OUString GetUniqueShapeName() const; + OUString GetUniqueDrawObjectName() const; o3tl::sorted_vector<SwRootFrame*> GetAllLayouts(); diff --git a/sw/source/core/doc/docdraw.cxx b/sw/source/core/doc/docdraw.cxx index 47a217269d45..6a9b4d290096 100644 --- a/sw/source/core/doc/docdraw.cxx +++ b/sw/source/core/doc/docdraw.cxx @@ -239,7 +239,7 @@ SwDrawContact* SwDoc::GroupSelection( SdrView& rDrawView ) pObj->NbcMove( Size( aAnchorPos.getX(), aAnchorPos.getY() ) ); } - pFormat = MakeDrawFrameFormat( "DrawObject", + pFormat = MakeDrawFrameFormat( GetUniqueDrawObjectName(), GetDfltFrameFormat() ); pFormat->SetFormatAttr( aAnch ); // #i36010# - set layout direction of the position @@ -250,6 +250,7 @@ SwDrawContact* SwDoc::GroupSelection( SdrView& rDrawView ) OSL_ENSURE( rMrkList.GetMarkCount() == 1, "GroupMarked more or none groups." ); SdrObject* pNewGroupObj = rMrkList.GetMark( 0 )->GetMarkedSdrObj(); + pNewGroupObj->SetName(pFormat->GetName()); pNewContact = new SwDrawContact( pFormat, pNewGroupObj ); // #i35635# pNewContact->MoveObjToVisibleLayer( pNewGroupObj ); @@ -322,7 +323,7 @@ void SwDoc::UnGroupSelection( SdrView& rDrawView ) for ( size_t i2 = 0; i2 < pLst->GetObjCount(); ++i2 ) { SdrObject* pSubObj = pLst->GetObj( i2 ); - SwDrawFrameFormat *pFormat = MakeDrawFrameFormat( "DrawObject", + SwDrawFrameFormat *pFormat = MakeDrawFrameFormat( GetUniqueShapeName(), GetDfltFrameFormat() ); pFormat->SetFormatAttr( aAnch ); // #i36010# - set layout direction of the position diff --git a/sw/source/core/doc/doclay.cxx b/sw/source/core/doc/doclay.cxx index d741c14ba068..c62a91c56a33 100644 --- a/sw/source/core/doc/doclay.cxx +++ b/sw/source/core/doc/doclay.cxx @@ -1381,6 +1381,11 @@ OUString SwDoc::GetUniqueShapeName() const return lcl_GetUniqueFlyName(this, STR_SHAPE_DEFNAME, RES_DRAWFRMFMT); } +OUString SwDoc::GetUniqueDrawObjectName() const +{ + return lcl_GetUniqueFlyName(this, "DrawObject", RES_DRAWFRMFMT); +} + const SwFlyFrameFormat* SwDoc::FindFlyByName( const OUString& rName, SwNodeType nNdTyp ) const { auto range = GetSpzFrameFormats()->rangeFind( RES_FLYFRMFMT, rName ); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits