diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-05-06 11:06:45 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2020-05-06 17:06:13 +0200 |
commit | 023621fea5dff2713abe42312b04edc9531426d4 (patch) | |
tree | 60f84c8a82a64dd9fd053becadb9774ef0baa0d2 /sw | |
parent | 7823443a8048618cbffc367e092c7856d28c3c7e (diff) |
Resolves: tdf#123801 captioning issues
revert attempt to by default create a msword roundtrip friendly caption.
commit 2333786aa0eaf70c45c80e546239fb3565b1b4e7
Author: Caolán McNamara <caolanm@redhat.com>
Date: Tue Mar 20 11:48:28 2018 +0000
Resolves: tdf#116474 bring hidden text property under undo control
commit ebd43aee5b9cf98ed96ce28985267ad0bc980b7a
Author: Caolán McNamara <caolanm@redhat.com>
Date: Fri Apr 7 13:41:38 2017 +0100
rework setting hidden property on line break
commit feedd45ba2dd308af2d3a1b2f64681b9467535b6
Author: Caolán McNamara <caolanm@redhat.com>
Date: Thu Oct 27 14:37:03 2016 +0100
in msword the hard-break between image and caption has a width
commit ba401ee10be2fb051bc961680f35b04e4e77a32d
Author: Caolán McNamara <caolanm@redhat.com>
Date: Thu Sep 1 09:39:37 2016 +0100
coverity#1372378 Dereference null return value
commit 93ab0ff24cb71c36c9e7958046e96d7472b5af90
Author: Caolán McNamara <caolanm@redhat.com>
Date: Thu Sep 10 15:46:57 2015 +0100
Related: tdf#93676 default to as-char inside captions
Change-Id: I460046a10f36bed13e2f4651b4c0a9b9b0662015
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93559
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/qa/uitest/writer_tests2/tdf116474.py | 4 | ||||
-rw-r--r-- | sw/source/core/frmedt/fews.cxx | 43 |
2 files changed, 2 insertions, 45 deletions
diff --git a/sw/qa/uitest/writer_tests2/tdf116474.py b/sw/qa/uitest/writer_tests2/tdf116474.py index e85943d77043..e5bb89209835 100644 --- a/sw/qa/uitest/writer_tests2/tdf116474.py +++ b/sw/qa/uitest/writer_tests2/tdf116474.py @@ -41,13 +41,13 @@ class tdf116474(UITestCase): xOkBtn.executeAction("CLICK", tuple()) xFrame = document.TextFrames[0] - self.assertEqual(document.TextFrames[0].Text.String, "\nFigure 1: Caption") + self.assertEqual(document.TextFrames[0].Text.String, "Figure 1: Caption") self.assertEqual(document.GraphicObjects.getCount(), 1) #nr. of images #Undo, redo self.xUITest.executeCommand(".uno:Undo") self.xUITest.executeCommand(".uno:Redo") #Verify - self.assertEqual(document.TextFrames[0].Text.String, "\nFigure 1: Caption") + self.assertEqual(document.TextFrames[0].Text.String, "Figure 1: Caption") self.assertEqual(document.GraphicObjects.getCount(), 1) #nr. of images self.ui_test.close_doc() diff --git a/sw/source/core/frmedt/fews.cxx b/sw/source/core/frmedt/fews.cxx index 4f545ed22649..e9840644667d 100644 --- a/sw/source/core/frmedt/fews.cxx +++ b/sw/source/core/frmedt/fews.cxx @@ -19,7 +19,6 @@ #include <svx/svdobj.hxx> #include <comphelper/lok.hxx> -#include <editeng/charhiddenitem.hxx> #include <init.hxx> #include <fesh.hxx> #include <tabcol.hxx> @@ -500,48 +499,6 @@ void SwFEShell::InsertLabel( const SwLabelType eType, const OUString &rText, con pFlyFormat = GetDoc()->InsertLabel(eType, rText, rSeparator, rNumberSeparator, bBefore, nId, nIdx, rCharacterStyle, bCpyBrd); - - //if we succeeded in putting a caption on the content, and the - //content was a frame/graphic, then set the contained element - //to as-char anchoring because that's all msword is able to - //do when inside a frame, and in writer for freshly captioned - //elements it's largely irrelevant what the anchor of the contained - //type is but making it as-char by default results in very - //good roundtripping - if (pFlyFormat && bInnerCntIsFly) - { - SwNodeIndex aAnchIdx(*pFlyFormat->GetContent().GetContentIdx(), 1); - SwTextNode *pTextNode = aAnchIdx.GetNode().GetTextNode(); - - SwFormatAnchor aAnc(RndStdIds::FLY_AS_CHAR); - sal_Int32 nInsertPos = bBefore ? pTextNode->Len() : 0; - SwPosition aPos(*pTextNode, nInsertPos); - - aAnc.SetAnchor(&aPos); - - SwFlyFrame *pFly = GetSelectedOrCurrFlyFrame(); - OSL_ENSURE(pFly, "SetFlyFrameAttr, no Fly selected."); - if (pFly) - { - SfxItemSet aSet(makeItemSetFromFormatAnchor(GetDoc()->GetAttrPool(), aAnc)); - SwFlyFrameFormat* pInnerFlyFormat = pFly->GetFormat(); - GetDoc()->SetFlyFrameAttr(*pInnerFlyFormat, aSet); - } - //put a hard-break after the graphic to keep it separated - //from the caption text if the outer frame is resized - const sal_Int32 nIndex = bBefore ? nInsertPos : 1; - SwIndex aIdx(pTextNode, nIndex); - pTextNode->InsertText("\n", aIdx); - //set the hard-break to be hidden, otherwise it has - //non-zero width in word and so hard-break flows on - //the next line, pushing the caption text out of - //the frame making the caption apparently disappear - SvxCharHiddenItem aHidden(true, RES_CHRATR_HIDDEN); - SfxItemSet aSet(GetDoc()->GetAttrPool(), {{aHidden.Which(), aHidden.Which()}}); - aSet.Put(aHidden); - SwPaM aPam(*pTextNode, nIndex, *pTextNode, nIndex + 1); - SetAttrSet(aSet, SetAttrMode::DEFAULT, &aPam); - } } if (pFlyFormat) |