summaryrefslogtreecommitdiff
path: root/sw/inc/ndtxt.hxx
AgeCommit message (Collapse)Author
2024-05-13Revert "reduce symbol visibility in sw"Thorsten Behrens
This reverts commit 1a6711276f0c8abeb0028a47cc345a7453374a38. After some discussion and experiments, it turned out this rather fundamentally breaks clang's PCH build. Conclusion was: this change is not significant enough to warrant making life harder for developers. Excerpt of errors (affected were vbaswobj, msword & swui libs): - ld.lld: error: undefined symbol: SwFormat::~SwFormat() >>> referenced by fmtcol.hxx:37 (sw/inc/fmtcol.hxx:37) >>> core/workdir/CxxObject/sw/inc/pch/precompiled_vbaswobj.o:(SwFormatColl::~SwFormatColl()) - ld.lld: error: undefined symbol: SwFrameFormat::SetPositionLayoutDir(short) >>> referenced by precompiled_msword.cxx >>> core/workdir/CxxObject/sw/inc/pch/precompiled_msword.o:(vtable for sw::SpzFrameFormat) - ld.lld: error: undefined symbol: SwFrameFormat::SetLayoutDir(SwFrameFormat::tLayoutDir) >>> referenced by precompiled_swui.cxx >>> core/workdir/CxxObject/sw/inc/pch/precompiled_swui.o:(vtable for sw::SpzFrameFormat) Change-Id: I1dcf115cc191b1ebf1f8d5023c0c5015f891287a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167549 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2024-05-07tdf#160814 writerfilter: insert comment after other comments #2Justin Luth
Since writerfilter moved into sw in 24.8, this section can be seriously optimized. Change-Id: I6a228b1a910181c38ba5c8faf9566954fffc47fb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166988 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-by: Justin Luth <jluth@mail.com> Tested-by: Jenkins
2024-04-20loplugin:constantparam in swNoel Grandin
Change-Id: Ia3e1b50954354973ffef701821f661cf782687db Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166311 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-03-13reduce symbol visibility in swNoel Grandin
Change-Id: Ib3edefc365d3c605c3024e160572fa4030100ef1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164724 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-02-28tdf#139004 Prevent crash when deleting footnote stylesMatt K
The problem was that a pointer was assumed valid, but was not, so now we check the value of the pointer before using it. Works now to delete footnote style. Also, change assert to variable check to ensure the proper method is only called when it is supposed to be, and to prevent a failing assert. We add a new Destr method on SwFormat so that it can be called from the SwTextFormatColl context and thus avoid the assert. Change-Id: Ia4b8029fb89e627cd685b3317606e2b9d60cf248 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162965 Tested-by: Jenkins Reviewed-by: Matt K <mattkse@gmail.com>
2024-01-19tdf#106733 sw: implement CharNoHyphenationLászló Németh
Implement CharNoHyphenation character property to disable automatic hyphenation of words in paragraphs with enabled hyphenation. Fix also fo:hyphenate mapping to CharNoHyphenation using automatic inversion of their boolean values defined by xmloff's XML_TYPE_NBOOL, as suggested by Michael Stahl. Update also the test for tdf#159102 to check the available hyphenation dictionary (also custom hyphenation patterns work only with supported locales of the hyphenator). Note: patch of thints.cxx contains also partial revert of commit 53b289eabb3d265b47bc7fb6cc430291c97f0c0b "use more TypedWhichId". Follow-up to commit 73bd04a71e741788a2f2f3b26cc46ddb6a361372 "tdf#106733 xmloff: keep fo:hyphenate in character formatting". Change-Id: If99b94ddcd44a5c2426e646be149078a3b9773b6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162300 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2023-05-20loplugin:unusedmethodsNoel Grandin
Change-Id: Ief95f111350808f010539bb733a553007d30a9df Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152006 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-08tdf#147180 sw: fix lost change tracking of empty rowsLászló Németh
during partitionating the redline of a tracked text containing tables. Empty tracked table rows use a dummy redline to store tracking data. Insert this, when tracked tables in a single redline are partitionated after modifying its text content, deleting its rows, or using tabulator to move cursor in the next cell. Follow-up to commit a9cf949efcfdb9eb459cabe1b9e15f993e789c73 "tdf#147180 sw: fix lost change tracking of modified tables". Tests: 1) Load a tracked empty table, and insert a character in the first cell; 2) Insert a tracked empty table with multiple rows, and insert two paragraphs in the first cell; 3) Insert a tracked empty table with multiple rows, and delete the first row. 4. Insert a tracked empty table with multiple rows, insert a character and press tabulator (which triggers partitionating as a new regression). Change-Id: I8bf0f6b201a892a4f54d0bcdde33de440e5be67b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151425 Tested-by: Jenkins Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2023-02-25refactor DocPosUpdate, part 2Bjoern Michaelsen
- separate the message send from the field manager to the fields containing no start index from those send from the field to the frames containing an index - use member functions where possible: SwFieldType, SwFormatField, SwTextNode Change-Id: I488e4003b75bf7b0ae700f39e2364d6e34a8bbfc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147490 Tested-by: Jenkins Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
2023-02-24tdf#78510 sw: combine items from SwTextNode and SwNumFormatMichael Stahl
Tweak SwTextFormatColl::AreListLevelIndentsApplicable() and SwTextNode::AreListLevelIndentsApplicable() to return a bitmask so that SvxFirstLineIndentItem and SvxTextLeftMarginItem from paragraph or numbering can be freely combined. Particularly confusing was SwTextNode::GetLeftMarginWithNum() and its baffling usage in SwTextMargin::CtorInitTextMargin(); it appears easiest (if unintuitive) to interpret its return value as a delta to be added to the paragraph's items. This fixes the ODF interop problem. It looks like no compat setting is needed because every OOo/LO generated document should have either both fo:text-indent and fo:margin-left on a paragraph style/list level, or neither. Change-Id: If20b2556bb5ab5d915a2aa6633525bb44a9be33b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147166 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-02-24tdf#78510 sw,cui: split SvxLRSpaceItem for SwTextNode, SwTextFormatCollMichael Stahl
Leave editengine and non-paragraph usages of SvxLRSpaceItem as-is for now. Add new items RES_MARGIN_LEFT etc., order them so that paragraphs can have 3 consecutive items RES_MARGIN_FIRSTLINE..RES_MARGIN_RIGHT and non-paragraphs also have 2-4 consecutive items RES_MARGIN_RIGHT..RES_MARGIN_LEFT (only the 3 paragraph ones are actually used now). The HTML import filter is particularly annoying because it parses CSS stuff into SfxItemSets without knowing where the items will be applied, so it can't know whether to create SvxLeftMarginItem or SvxTextLeftMarginItem... the split items are created in ParseCSS1_* functions and then converted later if necessary. WW8 import has some weird code as well, SwWW8ImplReader::Read_LR() creates 3 items and then something wants to set every item on its own so SwWW8FltControlStack::SetAttrInDoc() turned out rather weird. Convert the paragraph dialog to handle the split items (by mapping them to SID_ATTR_PARA_FIRSTLINESPACE/SID_ATTR_PARA_LEFTSPACE/ SID_ATTR_PARA_RIGHTSPACE), but the SvxRuler looks a bit more confusing so convert in sw shells for now and leave that for later (also unclear if changing these slot items like SID_ATTR_PARA_LRSPACE breaks any ABIs?). Change-Id: I40431821868fd3e1cceba121b5539ff9ae6befbc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147024 Tested-by: Michael Stahl <michael.stahl@allotropia.de> Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2022-11-15sw: Run a11y check for all content nodesTomaž Vajngerl
Change-Id: Icc3ff1be31a01b22242c48dec6d830e645ecb310 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141784 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-11-15sw: add online accessibility check implementationTomaž Vajngerl
Change-Id: Ic68aa91b1cbf23ac305ad4e361c56b91556757ee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141604 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-10-29tdf#126788 no need to allocate an SwContentIndex when calling RstTextAttrNoel Grandin
Change-Id: I541ff3c68b9d6edee536bb9f9d45b13c7f314242 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142017 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-16sw: refactor SwParaIdleData - rename, lifecycle, move to headerTomaž Vajngerl
This renames SwParaIdleData to sw::ParagraphIdleData, moves it to the header file and changes from a raw pointer initialized at the SwTextNode construction and deleted at SwTextNode destruction to a pure member variable (which has the same lifecycle). A it is not a pointer anymore, there is no need to check if it is nullptr or not, which simplifies the code. Change-Id: I74413eef2cfd3666cf75177a6ea080219eee0ac0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140681 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-10-11use more string_view in swNoel Grandin
Change-Id: Ibefb8549834ba5011286e3221f1ae276e2c0c0bf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141153 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-08add another SwTextNode::CopyText variantNoel Grandin
part of the process of hiding the internals of SwPosition Change-Id: I79c21a370918566c7d93008a62ff9843d3bfe3fb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141115 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-06use more SwPosition::GetNodeNoel Grandin
part of the process of hiding the internals of SwPosition Change-Id: Iecac4bd1e7836022182eba7c9b6d25bb827dbe5d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141019 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-09-27sw: fix inserting fields between 2 adjacent input fieldsMichael Stahl
Primarily this is achieved by using GetTextAttrMode PARENT in SwCursorShell::CursorInsideInputField() and SwCursorShell::PosInsideInputField(). But this requires some refactoring to make this parameter available. Change-Id: I1a0ef4e3d93a6733d972544abfe07ddf929eb62c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140661 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2022-09-25unwrap SwInsText to a plain SfxHintBjoern Michaelsen
- also add some constnesss and move some things to private Change-Id: I67a45e1326361b5a8f7e320b3525e74e93b1ef12 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140556 Tested-by: Jenkins Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
2022-09-24unwrap SwDelText to a plain SfxHintBjoern Michaelsen
Change-Id: I559f8f1e837830426e820dace6226618c5e0fc62 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140210 Tested-by: Jenkins Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
2022-09-23add a SwTextNode::ReplaceText variant that takes a SwPositionNoel Grandin
part of the process of hiding the internals of SwPosition Change-Id: I6eeac9861f3d170d89b78f71a45bf48dd8478c13 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140437 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-09-05add InsertText and EraseText overloads that take SwPositionNoel Grandin
part of the process of hiding the internals of SwPosition Change-Id: I7affb1ee002869ea3ed8c7da0c79b1a3750e5c97 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139411 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-08-16pass sal_Int32 to DontExpandormatNoel Grandin
instead of SwContentIndex. Part of the process of hiding the implementation of SwPosition. Change-Id: I69d2a92093109b52b21c558f8ea8e3ae486fe1ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138319 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-08-13pass SwNode instead of SwNodeIndex to SwNode constructorsNoel Grandin
part of the process of hiding the internals of SwPosition Change-Id: I0b2dd3e24c82c1551a7275ffc78991823354858a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138224 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-07-26tdf#150017 sw: Replace should not shorten bookmarksMichael Stahl
If there is a bookmark on the text that is replaced, its end will be after the 1st character of the replacement text. This is very odd and it would be much better to put the end at the end of the replacement text, particularly if the end of the bookmark used to be at the end of the replaced text. Text attributes already work such that the attribute on the first character before the replace is expanded to the entire replacement text; this seems odd too but as it happens Word does the same thing, so this patch makes bookmarks consistent with attributes. Change-Id: I6a4b43c779c207a31edb02b416d50c30386c94c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137272 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2022-07-25rename SwIndex->SwContentIndexNoel Grandin
to help my poor brain with the different kinds of index we have floating around Change-Id: I47ed223922170687d7e07812445aed66b3218230 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137404 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-07-21use more concrete UNO classes in writerNoel Grandin
as opposed to opaque UNO interfaces. This is a prelude which enables performance work because now I can regular C++ method Change-Id: I9bcfdca1000b4439431c9ea3b17bed081d80f0b0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137275 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-07-08sw: split HideFieldmarkCommands out of ExpandFieldsMichael Stahl
The problem is that during ODF export, SwXTextPortion::getString() must return the content of the field command. Change-Id: I00f77056e286fefaca0f156dbc31b6569d9c816e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136512 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2022-06-24tdf#115523 sw_redlinenum: show correct, also original numberingLászló Németh
in Show Changes mode, according to the name "Show Changes" and according to the interoperability requirements. Instead of the fake numbering which counted the deleted list items in Show Changes mode, e.g.: "3. This was the third originally, but now it's the second list item." now show the correct number followed by the original number within braces: "2.[3.] This was the third originally, but now it's the second list item." Note: the tabulators after the longer numbering are replaced with spaces to avoid messy indentation in Show Changes mode. New enum values for the alternative lists: SwListRedlineType::SHOW - the original (fake) numbering in Show Changes mode SwListRedlineType::HIDDEN - the original numbering of Hide Changes mode, and new numbering in Show Changes mode SwListRedlineType::ORIGTEXT - the new numbering of Show Changes mode to show the original numbering of the deleted or inserted list items Follow-up to commit c180c9447256588fe5e7991e06642883574760ae "sw_redlinehide_3: add second SwNodeNum to SwTextNode". Change-Id: Ieaca550561c5d5a7ac5d9defb9c7fa283d6aa674 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136313 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2022-05-12sw content controls: fixes for the ending dummy charMiklos Vajna
- make sure the DOC/RTF export doesn't write the dummy char as-is - let "enter" only insert a linebreak while inside a content control, to ensure that the starting and ending dummy char stays inside the same text node - let deletion of the dummy character at the end behave the same as the start dummy character: if trying to delete that single character, then just move the cursor, don't delete it - reject document insertion in the middle of a content control, similar to input fields Change-Id: I9b54ef50261e6b17f38eadadacfe1e1111199e96 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134239 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-02-22Add XWeak constructor and operator= to uno::WeakReferenceNoel Grandin
which is faster since we can skip the UNO_QUERY. Change-Id: Id95ad9f3568213e974bd13659d92d4ea94dbfbd6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130282 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-12-15tdf#139843 sw_redlinehide: fix crash while updating reference fieldsMichael Stahl
Use layout in MakeRefNumStr() when checking if node is numbered, because a hidden node has a null SwNodeNum. (regression from ae246b44da1708417aaaefe4f9186cfbbb9a9137) Change-Id: Iea797c03018929601ea797f00e3cf2d7749e55ce Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126857 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-10-21introduce SwNodeOffset strong typedefNoel Grandin
for indexing into node children. Replaces various usage of sal_uLong, tools::Long, sal_uInt32 with an underlying type of sal_Int32. Also add a NODE_OFFSET_MAX constant to replace usage of ULONG_MAX Change-Id: I2f466922e1ebc19029bb2883d2b29aa4c0614170 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123892 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-28tdf#143819 sw: fix undo not restoring adjusted anchorMiklos Vajna
Regression from commit 0a4d77f35e96e4dfdf69cc5ceb788ddaa849084c (SwTxtNode::Update: don't move anchors at insert position, 2014-10-06), the problem is that in case backspace adjusts the anchor point of a fly and undo does an insert (which now doesn't adjust the anchor point), then the user action and its undo is not in sync. Fix this by informing SwTextNode::Update() if an undo is in progress and doing the old behavior in that case. Change-Id: I0b3f3954be11420846f84287e486b993b2dc39e8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122727 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-09-24no need to allocate this OUString on the heapNoel Grandin
Change-Id: Iea9afe291e9dbf964bf1577818ce1a44058eb943 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122538 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-06-14tdf#108518 revert OOo hack: Fix issue #i119405: Numbering text styleJustin Luth
...changed after importing the *.doc 2012 commit 1c22545edf9085b9f2656ca92781158b6b123db3 This hack has been made irrelevant by layout support for copying paragraph CR formatting to the numbering. It can be improved even more for DOC by supporting RES_PARATR_LIST_AUTOFMT. The OOo guys who made this knew it was a hack. They document in https://bz.apache.org/ooo/show_bug.cgi?id=119405#c11 > Negative Impact: > Although most common user scenarios can be met by the solution, > there are still negative impacts. Because the attributes of > paragraph end mark(0x0D) will be set to the character style > binding to the given level of a number rule, > it will have the global impact. > Other paragraphs that are applied with the same number rule's > level will also be changed. > Generally, MS Word users will have their numbering/bullets > the same attributes/style when using the same level's > of number rule, correspondingly,the impacted scenarios are rarely. So, the bad thing that was happening was that any paragraph's CR formatting could change every instance of the numbering level's formatting - not just that one paragraph's number. The first instance of the defined formatting won. tdf#133410: Also, it spammed a new char style for every numbering level. This patch depends on an earlier commit. The unit test ensures that this earlier commit exists. It was the only example I found where reverting the hack failed. Change-Id: I43b88b8219c9dbc882f57d1a282749d7c0ab2a19 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112320 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org> Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-06-11loplugin:unnecessaryreturn in sw/Noel Grandin
Change-Id: Iaca3f5385fd2c763cd1121ae50624aaa4a1f6165 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117029 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-24fix leak of wronglist in SwTextNodeNoel Grandin
Change-Id: Ib388575d60d7cc32829108f70d7900d95fc34121 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116022 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-03-24tdf#140731: sw transliteration: avoid too many redlinesBalazs Santha
As a workaround for the performance regression from commit 2d3c77e9b10f20091ef338e262ba7756eb280ce9 (tdf#109266 sw change tracking: track transliteration), switch off redlining to avoid ~freezing, if a single transliteration could result too many (>~500) redlines. A single transliteration creates n redlines for n paragraphs of the selected text, except in the case of transliterating to title case, where it creates n redlines for n words. It's very easy to freeze Writer, because Writer's slowing down with n redlines is described by an O(n²) (quadratic) time complexity. Eg. in an experiment, title casing ~660 words was 6 sec, but ~3000 words was 85 sec, regarding to creating 660 vs 3000 redlines. Note: this is a partial revert of commit 2d3c77e9b10f20091ef338e262ba7756eb280ce9, if the selection contains more than 500 paragraphs (or in the case transliterating to title case, ~500 words). Change-Id: Iad98943cc9e1ed64aa9779e49ee3e941abad02ac Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111637 Tested-by: Jenkins Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2021-03-22tdf#120469 Move anchored object if enter is inserted at Para begindipanshu124
Currently the anchored object stays with the empty paragraph if enter is inserted at the beginning of paragraph. It would be better if the anchored object moves down in this case. Change-Id: Iacefd9b2de33522158f155fb7035f1640e8eefe1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112738 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2021-03-01tdf#124176 Use pragma once in sw/inc/ndtxt.hxxheet-2312
Change-Id: I75b6788e21ac010daea1cac5661887a0812d1773 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111729 Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2021-02-23tdf#135774, tdf#114799 Char highlight: apply to numberingJustin Luth
This is a partial revert of LO 7.0's commit 315d56582f8a56d8f2d3ea6cda63ea4832249608 The character background is exported as either w:highlight or w:shd, based on a user setting. w:shd does not affect numbering in MS Word, only the 16 color w:highlight does. (tools - options - Load/Save - Microsoft Office - Character highlighting export as: Highlight or Shading) I replaced tdf114799.docx with a version that uses w:highlight instead of w:shd. The test was doing it backwards - MS Word was NOT highlighting the numbering in the original unit test. I added another test using the original unit test to ensure that the numbering was not affected by the paragraph's char shading. There are many other "Char highlight:" patches in 7.2 that are not going to be backported. See http://wiki.documentfoundation.org/Documentation/CharHighlight for more details about this topic. Change-Id: I38b6f700895e29f634f07430f6c7a13722ffa4f4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111201 Tested-by: Justin Luth <justin_luth@sil.org> Reviewed-by: Justin Luth <justin_luth@sil.org>
2021-01-09~SwModify: do not silently tolerate clients registered past deathBjoern Michaelsen
- Make SwFormat/SwContentNode explicitly resetting the page desc. before death instead of SwFormatPageDesc trying to do that on the dying hint: * the dying hints is send _after_ the SwFormat/SwContentNode dtor are completed, so the RTTI magic did not work anyway * simply resetting the attribute in a final dtor and make SwFormatPageDesc just check to never get a dying hint (because it should have been destructed by reset) is a lot less errorprone. Change-Id: I231f1729729491ba7544e5ba93d81192b212e2ae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108648 Tested-by: Jenkins Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
2020-12-18tdf#138897 sw: avoid creating SwUndoResetAttr in CopyImplImpl()Michael Stahl
The problem is that SwTextNode::CopyCollFormat() both creates the SwTextFormatColl with undo and applies it with undo. The first is desirable, the second causes a problem because it necessarily happens after SplitNode() and currently happens before copying the non-start/end nodes, so the node-index may not match in Undo, regardless if it runs before or after SwUndoCpyDoc. But SwUndoInserts restores the SwTextFormatColl on the node itself, so it can just be suppressed, which looks easier than refactoring this to call SplitNode() with Undo enabled. (regression from b4365b985178e1866c74afd757a104aad1d405a9) Change-Id: I4d15fb88cd5ae4cc53d9afb3397dec8fcf7635fa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107921 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-11-26Refactor SwFormatDropBjoern Michaelsen
... and get rid of the SwClientNotifyCall. Change-Id: I2118290944c21e9773c359109e60e7778459a41f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106365 Tested-by: Jenkins Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
2020-11-24tdf#42949 Fix new IWYU warnings in directory swGabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I4bb84c3f401aba8a3dede9cec3a7f2187a2ba02a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106473 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-11-07std::set->o3tl::sorted_vector in SwSoftPageBreakListNoel
Change-Id: I929b2eb5824580d106b2505ea6b2d0a59248a6f6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104856 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-11-05retire most of SwModifyBjoern Michaelsen
only remaining uses are: - in calbck.{c,h}xx - in uwriter unittests - as a parameter of SwClientNotify all other uses have been replaced with sw::BroadcastingModify, which contains sw::BroadcastingMixin functionality. Existing code should then be moved to sw::BroadcastingMixin (only) as soon as possible. Change-Id: Ief7895597633c2fcb97e1cbc182905d75feb1567 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105320 Tested-by: Jenkins Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
2020-10-31atrfld: ModifyNotification no more ...Bjoern Michaelsen
Change-Id: I9a5dc35a71725969bc4b75f0444ba663271e3228 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105079 Tested-by: Jenkins Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>