include/svx/sdr/attribute/sdrtextattribute.hxx | 1 + svx/source/sdr/attribute/sdrtextattribute.cxx | 7 +++++++ svx/source/sdr/primitive2d/sdrattributecreator.cxx | 14 +------------- svx/source/svdraw/svdotextdecomposition.cxx | 2 ++ 4 files changed, 11 insertions(+), 13 deletions(-)
New commits: commit 35422761a3eff131dfd698cf64491f05af853bca Author: matteocam <matteo.campane...@gmail.com> Date: Mon Aug 11 19:22:34 2014 +0200 Special treatment of chaining when making text attributes. Change-Id: Ib0fcdfbc2524968bd633485f7abaec5805d60139 diff --git a/include/svx/sdr/attribute/sdrtextattribute.hxx b/include/svx/sdr/attribute/sdrtextattribute.hxx index 6d3b738..624c5f0 100644 --- a/include/svx/sdr/attribute/sdrtextattribute.hxx +++ b/include/svx/sdr/attribute/sdrtextattribute.hxx @@ -76,6 +76,7 @@ namespace drawinglayer bool bWrongSpell, bool bToBeChained); SdrTextAttribute(); + SdrTextAttribute(bool bIsToBeChained); // special treatment for text chaining SdrTextAttribute(const SdrTextAttribute& rCandidate); SdrTextAttribute& operator=(const SdrTextAttribute& rCandidate); ~SdrTextAttribute(); diff --git a/svx/source/sdr/attribute/sdrtextattribute.cxx b/svx/source/sdr/attribute/sdrtextattribute.cxx index de9a61f..dd1eafe 100644 --- a/svx/source/sdr/attribute/sdrtextattribute.cxx +++ b/svx/source/sdr/attribute/sdrtextattribute.cxx @@ -297,6 +297,13 @@ namespace drawinglayer mpSdrTextAttribute->mnRefCount++; } + SdrTextAttribute::SdrTextAttribute(bool bIsToBeChained) + : mpSdrTextAttribute(ImpSdrTextAttribute::get_global_default()) + { + mpSdrTextAttribute->mbToBeChained = bIsToBeChained; + mpSdrTextAttribute->mnRefCount++; + } + SdrTextAttribute::SdrTextAttribute(const SdrTextAttribute& rCandidate) : mpSdrTextAttribute(rCandidate.mpSdrTextAttribute) { diff --git a/svx/source/sdr/primitive2d/sdrattributecreator.cxx b/svx/source/sdr/primitive2d/sdrattributecreator.cxx index 4d1bca5..d13bb39 100644 --- a/svx/source/sdr/primitive2d/sdrattributecreator.cxx +++ b/svx/source/sdr/primitive2d/sdrattributecreator.cxx @@ -524,8 +524,6 @@ namespace drawinglayer // FIXME(matteocam) bool bToBeChained = rTextObj.IsToBeChained(); - - if(rText.GetOutlinerParaObject() && rText.GetModel()) { // added TextEdit text suppression @@ -588,7 +586,7 @@ namespace drawinglayer bToBeChained); } - return attribute::SdrTextAttribute(); + return attribute::SdrTextAttribute(bToBeChained); } attribute::FillGradientAttribute createNewTransparenceGradientAttribute(const SfxItemSet& rSet) commit ed720c37f2b016badea4ace09d9b86e156dceefe Author: matteocam <matteo.campane...@gmail.com> Date: Mon Aug 11 18:43:49 2014 +0200 Chaining status for SdrTextObj is reset after chaining occurs Change-Id: Ie09f615c36bcf4b433a4dc5c286c1a7184119e6c diff --git a/svx/source/sdr/primitive2d/sdrattributecreator.cxx b/svx/source/sdr/primitive2d/sdrattributecreator.cxx index 68b44e0..4d1bca5 100644 --- a/svx/source/sdr/primitive2d/sdrattributecreator.cxx +++ b/svx/source/sdr/primitive2d/sdrattributecreator.cxx @@ -540,16 +540,6 @@ namespace drawinglayer bInEditMode = rTextObj.IsInEditMode(); } - // for resetting status - // FIXME(matteocam) - // XXX: may not work - // XXX: this should happen only whether the chaining has occurred though. - // XXX: violates SPOT rule (the following condition is also in sdrdecompositiontools.cxx) - if ( !bInEditMode && rTextObj.IsToBeChained() ) - { // XXX: hack - const_cast<SdrTextObj*>(&rTextObj)->SetToBeChained( false ); - } - OutlinerParaObject aOutlinerParaObject(*rText.GetOutlinerParaObject()); if(bInEditMode) diff --git a/svx/source/svdraw/svdotextdecomposition.cxx b/svx/source/svdraw/svdotextdecomposition.cxx index cf2f455..4ed8b58 100644 --- a/svx/source/svdraw/svdotextdecomposition.cxx +++ b/svx/source/svdraw/svdotextdecomposition.cxx @@ -1482,6 +1482,8 @@ void SdrTextObj::impDecomposeChainedTextPrimitive( SdrTextObj *pNextTextObj = GetNextLinkInChain(); assert (pNextTextObj); impCopyTextInTextObj(pNextTextObj); // XXX: it actually moves the overflowing text currently + // Chaining occurred. Let's reset the status + const_cast<SdrTextObj*>(this)->SetToBeChained( false ); //pNextTextObj->SetOutlinerParaObject( mpOverflowingText ); //SdrOutliner rOutl = pNextTextObj->ImpGetDrawOutliner(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits