summaryrefslogtreecommitdiff
path: root/sw
AgeCommit message (Collapse)AuthorFilesLines
2021-06-23Related: tdf#140409 scale the menubutton like the other widgetsCaolán McNamara3-21/+44
Change-Id: I6b42ef958dd1625cfef5e48e45c932aef9a5960f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111211 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-06-23tdf#140409 Comment text ignoring zoom sizeCaolán McNamara2-4/+12
Change-Id: If48d5c1085cbc86f81ba0c92c8875ef534900c15 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111165 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-06-17Resolves tdf#142513 fix zoom caller handlingJim Raykowski3-11/+11
Calling ZoomPlus has always executed shell SID_ZOOM_OUT case handling. ZoomMinus, which replaced ZoomIn, does SID_ZOOM_IN case handling. This patch changes ZoomPlus to do SID_ZOOM_IN case handling and ZoomMinus to do SID_ZOOM_OUT case handling and makes appropriate changes required by these name changes to provide expected zoom results in all module shells that have handling for these calls. Change-Id: If148f4f7866bfc8fc6452ad1c1dace723a125ef6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116287 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com> (cherry picked from commit ec629c5ee22d02f99d66a5cf975ce239876b7f4d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116702 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-06-14Assert on valid order of which ids in ranges on SfxItemSet creationMike Kaganski12-76/+53
This allows to make sure we actually use sorted which ranges, and then it's safe to call SfxItemSet::MergeRange when needed. Also this change relaxes the previous requirement that ranges must be separated by at least one; this allows to have adjacent ranges, like in RES_FRMATR_BEGIN, RES_FRMATR_END-1, RES_GRFATR_BEGIN, RES_GRFATR_END-1, where RES_FRMATR_END is equal to RES_GRFATR_BEGIN. Allowing this makes possible to (1) self-document the ranges, so it's clear which ranges are included; and (2) be safe in case when these constants would change, so that the one merged range would not unexpectedly contain everything inserted between RES_FRMATR_END and RES_GRFATR_BEGIN. Change-Id: Iaad0f099b85059b3aa318a347aa7fbd3f6d455c7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116909 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117106 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2021-06-14Mail Merge: Remove the missing data source warning on load.Gülşah Köse3-41/+0
User can easily forget that they (or somebody else ) added a data source to document. This warning is only useful for the user that plans to use mail merge wizard. When they don't plan to use mail merge wizard and see that warning on infobar they can confuse. We already have the same warning on mail merge dialog itself. We don't need on load warning anymore. Change-Id: I8d80148a9637ee66cc35e2ef583fff51a04386eb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116029 Tested-by: Jenkins Reviewed-by: Gülşah Köse <gulsah.kose@collabora.com>
2021-06-14tdf#140623 Chart OOXML import: set text overlap to falseTünde Tóth2-5/+11
of category axis label unless the rotation is 0 in xml. Regression from commit: 21620f9d2f50e66dffc45a5afb539edb8d54434c (tdf#138194 Chart OOXML import: set text break to true) Change-Id: I18db7483f49c84a83760200037f8858a3b471994 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116575 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org> (cherry picked from commit 6185d1ff0130b3d178d5e50eeb6944ab70db41f9) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116905 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-06-14tdf#142721 restore SwShellTableCursor if the orig selection was a single cellCaolán McNamara1-6/+10
where the previous attempt of commit 4d52d2bc81f9d27472fe368785912a530489d046 tdf#142165 restore a SwShellTableCursor if the orig selection described that so that we are operating on the same selection that existed when the dialog was originally launched wasn't sufficient to restore a single cell selection. we continue to need to avoid the assert of commit 6db71f70a3b200d4074f6cda8ce445e9861d3296 tdf#140977 drop possible table-cursor before setting the new one and support the multi-selection of commit e08b446e46f56e15af58fdd4396afba1a316f9e5 tdf#140257 duplicate entire PaM ring when making copy and support not scrolling to a different location on changing a table page break style of commit 9c61732677d038e32b73fc9fb883aced14c0febf tdf#135916 just set the target table as selection and keep making it possible to remove a page break on a table of commit 81f91196b98af38e29af451b86c26a893a109abc tdf#135636 the selection at dialog-launch time is lost by dialog-apply time all of which is necessitated by commit c3a085d22742f88e91ff92f319a26d6e8d1d9a98 lokdialog: Convert the Table -> Properties... to async exec. Though; since 4d52d2bc81f9d27472fe368785912a530489d046 where we started using rSh.GetTableCrs if IsTableMode() then in practice 6db71f70a3b200d4074f6cda8ce445e9861d3296 probably cannot arise. The scenario of rSh.IsTableMode() changing between launch of the dialog and applying the result of the dialog is presumably maybe theoretically possible in e.g. an online scenario, but not in the normal user case, but handled here anyway. Change-Id: I12f0b6bc7e0e2f5bad45a88007bf6fe2cd3d3b0b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116896 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-06-10do not draw directly in SwViewShell in LOK modeLuboš Luňák1-1/+1
Online mode draws tiles as necessary, so there's no need to care about flickering, and this drawing is in fact not needed at all for Online. Change-Id: I19d981ad6ab6890ada1f415dc251a3492fd054ec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116920 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com> (cherry picked from commit 2aa2d03ec4e775d9399420c21cd1f2e972984154) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116899 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2021-06-10editengine-columns: ODF support [API CHANGE]Mike Kaganski7-405/+104
This uses existing ODF markup, as used by Writer's text frame: style::columns child element of style:graphic-properties, its fo:column-count and fo:column-gap attributes. No ODF extension is required. Since currently only columns with same width and spacing are implemented, without additional settings, style:column child elements are exported, but ignored on import. This adds new property to css::drawing::TextProperties service: TextColumns (of type css::text::XTextColumns). Change-Id: I7e63293e5814b281ceec8a9632e696322d3629e8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116035 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116871 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-06-09jsdialog: sidebar: avoid duplicated widget idsSzymon Kłos2-2/+2
all controls for sidebar goes to the same window id we need different names for every widget so create valuesets with different name every time Change-Id: I69074e607bfe5fa6db665c0dbcae1f029d13a161 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116836 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-06-04tdf#138302 partial revert tdf#108496: DOCX: redesign of override in listsJustin Luth5-0/+25
LO 6.4.5 commit cf13fe3e6f6a40f6db064d65d4514d13a23a31f0 was only concerned about DOCX, but just elinated shared code. So restore the shared code and just don't execute it for DOCX. It doesn't look like RTF was working before this, but this does fix DOC format. I looked for existing unit tests in rtf and doc, but none were found that hit this code. Change-Id: Id624f73181384f38e1ef9f27575e0fb82eea19c7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116349 Tested-by: Jenkins Reviewed-by: Vasily Melenchuk <vasily.melenchuk@cib.de> (cherry picked from commit f49e5902a3737c02fabf5bec23243ccb126426c4) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116170 Reviewed-by: Justin Luth <justin_luth@sil.org>
2021-05-31lok: Re-Enable AnchorToPara context menu itemmerttumer1-2/+1
Change-Id: I0f1f4121c06b8f628f4fe49284737cea3d28e4b8 Signed-off-by: merttumer <mert.tumer@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116141 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116312
2021-05-31Extended MoveShapeHandle command for Anchors as wellmerttumer3-4/+21
Change-Id: I0e2811802f17831097a86103571b505a7557717a Signed-off-by: merttumer <mert.tumer@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116040 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116310
2021-05-31Unit tests for .uno:MoveShapeHandle commandmerttumer1-0/+60
Change-Id: Ia1049325bf26fbe6a3c8ac77c873d1af010d3581 Signed-off-by: merttumer <mert.tumer@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115541 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116308
2021-05-30tdf#137199: sw: convert list format string to prefix/suffix for ODFVasily Melenchuk2-0/+11
Since internally LO is able right now to use list level format strings and prefixes/suffixes only for backward compatibility, there is a need for conversion from format string (like "%1.") to prefix ("") and suffix (".") still used by ODT. Change-Id: If4b459e1b25b7f0ce511e6ac2de0824bb2c43d05 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116288 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116316
2021-05-27tdf#132752: docx import: improvements for first line indent in listsVasily Melenchuk2-0/+7
As far as I see, Word is using lists with id=0 and no list definitions to reset list numbering used in this paragraph. At the same time Word is still using some of default list properties. For example in this scenario parent style has defined first line indent, but in paragrath it is overwritten by "not existing" list=0 without definitions. To this moment I know about only first line indent behavior, but probably some other properties are also affected. Conflicts: sw/qa/extras/ooxmlexport/ooxmlexport16.cxx Change-Id: I344c907bb7a7b83a91f5727e13ad184fb44137b5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115795 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116093 Reviewed-by: Vasily Melenchuk <vasily.melenchuk@cib.de> Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-05-26tdf#142294 drop placeholder on-demand node on directly populating nodeCaolán McNamara1-0/+2
Initially there's a <placeholder> entry to indicate the load-on-demand state. It needs to be there for the expander indicator to be drawn/shown when there are no "real" entries yet. Typically the user clicks on the expander, the expansion remove the <placeholder> entry and calls the provided expander-callback which has the change to populate the node. Here RequestingChildrenHdl is the expander-callback (set via connect_expanding) and populates the node like it should. But then there are two places where it is called directly outside the expander-callback so it merrily appends entries into the node, but because it's called outside the expander-callback the <placeholder> entry was never removed which is then a problem because of the resulting inconsistency. Change-Id: Ie7d034e3f41832591438127c82eba85deb610952 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115952 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-05-26sw: layout: fix footnote UAF on tdf132248-3.odt (also, tdf134127-1.odt)Michael Stahl1-1/+9
Text frame 12 gets a follow 137 which gets a follow 138, and there's a footnote at index 95. When 138 is created, its mnOffest is 63 in SwTextFrame::SplitFrame() so 138 gets its mbFootnote set and the footnote frame mpReference points to 138 but then SwTextFrame::FormatAdjust() moves one line back and sets the offset of 138 to 96. Then SwTextFrame::CalcFollow() clears 138's mbFootnote due to lack of footnotes starting from 96. Later frame 138 is joined, but because its mbFootnote is false, the footnote's mpReference continues to point to it, which leads to UAF in SwFootnoteFrame::GetRef(). What's missing is that at the time when the offset of 138 is adjusted, RemoveFootnote() must be called, as is already the case in another branch of SwTextFrame::FormatAdjust(), since CVS initial import. Not sure why this started to crash in crashtesting relatively recently. Change-Id: Ic46019d34ff90d24d0f23effe8a6d54d6f197a71 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115910 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 95a716f12a0dacdd5d80a6f3d98eadcc2f079fcf) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115843 Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-25remove intermediate containers in sidebarsCaolán McNamara29-348/+306
tested extension sidebars of: a) Wollmux extension sidebars b) Analog Clock Extension demo https://wiki.openoffice.org/wiki/Sidebar_for_Developers#Example:_Analog_Clock_Extension Change-Id: If9729e20526681928137989f01a8ae733a9b0cb5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112035 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-25add a callback for when a container gains or loses focusCaolán McNamara2-5/+10
Change-Id: Id8e8e59547280297db9140a840228f62b75593ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112021 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-25don't use the vcl::Window parent to derive a treeview sizeCaolán McNamara1-2/+2
Change-Id: Ib86c3eb25df390b5b4fba576abb3158728ff0a0e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111994 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-25drop SetUpdateMode on entering global modeCaolán McNamara1-2/+0
we don't bother do this on exiting global mode. If it still makes sense to do this is presumably should be on child treeview-based widget instead Change-Id: Ic97d595e638ea0671c6efe0a47336b266cc7b83c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112014 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-25don't use the vcl::Window parent to derive a treeview sizeCaolán McNamara1-2/+2
Change-Id: I8076c3db1fd917110445900404b599e821df698d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111997 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-25use m_xDocListBox to detect we're disposedCaolán McNamara1-7/+4
Change-Id: Ie04b73e9e57e966c489b401b675ab6e95d2ecfce Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112015 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-25check widget existance to detect we're disposedCaolán McNamara3-3/+3
Change-Id: I0c925206a941e799e692cfae7dcd8efa0697a39e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112031 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-25decompose SwNavigationPIUIObject and use sub components directlyCaolán McNamara5-78/+13
Change-Id: Ia4722972fe579646b4c3f06de339d72a931b05d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112146 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-25tdf#137358 Fix incorrect outline position returnedJim Raykowski4-7/+15
when the cursor position is before the first outline node and there are outline nodes in the document model extras section. plus fix to update Navigator tracking on Navigator show Change-Id: Ib93ba0d460128314efef228810c06dbd929c672e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108492 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com>
2021-05-25SetCurItemId takes an ItemId not a PositionCaolán McNamara4-13/+13
Change-Id: Id0b34364cf45b9305f865d46cf8c3c0f838ce630 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112147 Tested-by: Jenkins Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-25register navigator individually in each module that it exists inCaolán McNamara3-44/+41
instead of globally. This makes the navigators the same as everything else and easier to deal with. Change-Id: I882612e73d36485b84161a2d3fbc1188f734c0fb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112244 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-25replace stock button imagesCaolán McNamara15-36/+95
Change-Id: I9be83856c0dd15552a042f009464c279bf239848 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109199 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-25rename SfxChildWindowContext::GetFloatingWindow to what it doesCaolán McNamara1-4/+4
Change-Id: I0a8e1be2c64d054e6af1e9826f993d3b219e854b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112245 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-25rename get_vscroll_width to get_scroll_thicknessCaolán McNamara2-4/+6
and add split customize_scrollbars to form a separate set_scroll_thickness Change-Id: Ia4b1c85d6ae85b0fb7aeb852d3a91b36b63143db Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111207 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-25weld impress annotation windowCaolán McNamara3-43/+6
Change-Id: Idc89f4e382392103d373b6a84edaae10abd56056 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110650 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-25weld annotation windowCaolán McNamara18-1503/+797
note the labels in sw/uiconfig/swriter/ui/annotation.ui are deliberately yaligned to 0 to retain the preexisting SwAnnotationWin::PaintTile hack which depends on this for bin/run gtktiledviewer --enable-tiled-annotations to not show clipped author/date/etc labels Change-Id: I53827aa98ed4d71d532a5993d21c6e22190b8063 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107264 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-21tdf#118637: sw_xhtmlexport: Add unittestXisco Fauli2-0/+16
Change-Id: I110404a73ccdbffed788009730967b0efbbaf51f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115785 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> (cherry picked from commit 0655560f1b8aff45954682bb92498570f2000014) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115836
2021-05-21tdf#138209 ODF export: work around forms problem in LO < 7.0Michael Stahl2-2/+4
LO without commit 519d96fd8b83ef4c61576d87b58f97b7e6e6e3c6 makes a mess when storing form documents it has loaded from ODF 1.3 documents: the XML parts are stored as ODF 1.2, but the storage (and therefore manifest entry) keeps version 1.3. To avoid this, store form documents as ODF 1.2 extended by default. Unfortunately a bunch of ODF export code accesses the global SvtSaveOptions variable; with this version override, only SvXMLExport::getSaneDefaultVersion() must be used. Change-Id: I5fa8e286f5103c578ed0d93da07a8a6cbe2f0ddd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115357 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 16de54a5c47fbc4691ee099c1f7bb559a8fe11ac) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115390 Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2021-05-21tdf#137810 sw: fix SwXNumberingRules setting CharStyleNameMichael Stahl4-11/+51
During ODF import, due to removal of the pDocShell parameter, this hits else rCharStyleName = sCharFormatName; while setting the "CharStyleName" property and later GetNumberingRuleByIndex() prefers m_sNewCharStyleNames over the format set in the SwCharFormat?? Also, "BulletFontName" has a similar problem; otoh "HeadingStyleName" only makes sense on chapter numbering. The m_pDoc and m_pDocShell members are such a WTF. (regression from ae0e4a6ba9be2fa99ac2be8e20157806e36209b2) Change-Id: I9d4d4cd7aeb7e6e29221d53facaff213fd4e35a5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115495 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit c5e5467f6a13aba68b4706a4d7feb130e824bcc6) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115291 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-05-21tdf#142165 restore a SwShellTableCursor if the orig selection described thatCaolán McNamara1-2/+6
so that we are operating on the same selection that existed when the dialog was originally launched we need to avoid the assert of commit 6db71f70a3b200d4074f6cda8ce445e9861d3296 tdf#140977 drop possible table-cursor before setting the new one and support the multi-selection of commit e08b446e46f56e15af58fdd4396afba1a316f9e5 tdf#140257 duplicate entire PaM ring when making copy and support not scrolling to a different location on changing a table page break style of commit 9c61732677d038e32b73fc9fb883aced14c0febf tdf#135916 just set the target table as selection and keep making it possible to remove aa page break on a table of commit 81f91196b98af38e29af451b86c26a893a109abc tdf#135636 the selection at dialog-launch time is lost by dialog-apply time all of which is necessitated by commit c3a085d22742f88e91ff92f319a26d6e8d1d9a98 lokdialog: Convert the Table -> Properties... to async exec. Change-Id: Ide5f953e63da46a8750e85d623310af0062b048b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115522 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-05-21sw: fix not needed invalidation of custom field on each keypressMiklos Vajna2-4/+14
And do the same for modification fields (e.g. modification date) and subject fields as well. In all cases the layout already reacts to the doc model change via normal notifications, no need to force anything. (Confirmed with manual testing.) This builds on top of commit 0a32630d11ebdb8b8218faa066c72582ef2f300d (sw: fix not needed invalidation of title field on each keypress, 2021-05-18). (cherry picked from commit 1dcd3f1b9fc0d888e047e854a20e9ab2e0afd544) Change-Id: I8015b33a6680d75cd5b6446eb9275bb018ea7613 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115874 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-05-20sw: fix not needed invalidation of title field on each keypressMiklos Vajna3-1/+111
Type a character, SwDocShell::DoFlushDocInfo() is called because the number of characters changed, and that rapaints all title fields. This happens as SwFormatField::UpdateTextNode() calls SwTextField::ExpandTextField() with bForceNotify=true, because that was needed for conditional text in commit cd94a84b89c476760ad74bf088a5d6f8ba4ce209 (125044: - use field's content cache on <SwTxtFld> construction only, 2014-06-13). Fix the problem by not forcing notifications for title fields in SwFormatField::UpdateTextNode(): SwTextField::ExpandTextField() will send a notification if the expend result differs without forcing as well. (cherry picked from commit 0a32630d11ebdb8b8218faa066c72582ef2f300d) Change-Id: I5e46ab6aef33ff5e348d40b8644bcc9cf353c326 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115779 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-05-16tdf#141307: adapt null-checkBjoern Michaelsen1-1/+1
- if we check pNd for nullptr, we need to expect it to be nullptr - in that case we shouldnt use the pointer before the null check Change-Id: Ia9d11abe32fac10f36fdbfcefeadd51891f1834e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115264 Tested-by: Jenkins Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org> (cherry picked from commit b0ae5aaaafd236663f7e81af06a567ade8a2a745) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115287 Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-16tdf#138518 sw: layout: unbreak fdo80206-1.docMichael Stahl1-1/+1
The 7 flys on the para on page 3 create ~15 extra pages with one paragraph each. Argh! One of the bPageHasFlysAnchoredBelowThis checks was inverted. How dumb of me. (regression from c799de145f7e289f31e3669646e5bd12814e6c5e) Still doesn't look good but now it looks same as in 7.0. Change-Id: Ib10c46f48746362d8d679c147ddc8b85157be508 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115242 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins (cherry picked from commit 59d96acec8c4d9e472daa3e2c287b3a754e01817) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115206 Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-16tdf#138518 sw: layout: fix assert on ooo43913-1.docMichael Stahl3-13/+19
Assertion `rAnchoredObjPage.GetPhyPageNum() == _nFromPageNum' failed. Because not only the fly's anchor frame moves forward in FormatAnchorFrameForCheckMoveFwd(), but also the fly itself, apparently because it's in a table: 0 SwAnchoredObject::SetPageFrame(SwPageFrame*) (this=0x5a1d3d8, _pNewPageFrame=0x8cfbeb0) at sw/source/core/layout/anchoredobject.cxx:162 1 SwPageFrame::MoveFly(SwFlyFrame*, SwPageFrame*) (this=0x8cbd8c0, pToMove=0x5a1d280, pDest=0x8cfbeb0) at sw/source/core/layout/flylay.cxx:985 2 lcl_ArrangeLowers(SwLayoutFrame*, tools::Long, bool) (pLay=0x8cf80c0, lYStart=179488, bInva=false) at sw/source/core/layout/tabfrm.cxx:5000 3 SwCellFrame::Format(OutputDevice*, SwBorderAttrs const*) (this=0x8cf80c0, pAttrs=0x8ce78c0) at sw/source/core/layout/tabfrm.cxx:5359 4 SwLayoutFrame::MakeAll(OutputDevice*) (this=0x8cf80c0) at sw/source/core/layout/calcmove.cxx:1036 5 SwFrame::PrepareMake(OutputDevice*) (this=0x8cf80c0, pRenderContext=0x5b7fcf0) at sw/source/core/layout/calcmove.cxx:375 6 SwFrame::Calc(OutputDevice*) const (this=0x8cf80c0, pRenderContext=0x5b7fcf0) at sw/source/core/layout/trvlfrm.cxx:1792 7 SwFrame::MakePos() (this=0x8cebdb0) at sw/source/core/layout/calcmove.cxx:627 8 SwTextFrame::MakePos() (this=0x8cebdb0) at sw/source/core/text/frmform.cxx:340 9 SwContentFrame::MakeAll(OutputDevice*) (this=0x8cebdb0) at sw/source/core/layout/calcmove.cxx:1412 10 SwFrame::PrepareMake(OutputDevice*) (this=0x8cebdb0, pRenderContext=0x5b7fcf0) at sw/source/core/layout/calcmove.cxx:286 11 SwFrame::Calc(OutputDevice*) const (this=0x8cebdb0, pRenderContext=0x5b7fcf0) at sw/source/core/layout/trvlfrm.cxx:1792 12 SwTextFrame::CalcFollow(o3tl::strong_int<int, Tag_TextFrameIndex>) (this=0x5ae2c60, nTextOfst=...) at sw/source/core/text/frmform.cxx:279 13 SwTextFrame::AdjustFollow_(SwTextFormatter&, o3tl::strong_int<int, Tag_TextFrameIndex>, o3tl::strong_int<int, Tag_TextFrameIndex>, unsigned char) (this=0x5ae2c60, rLine=..., nOffset=..., nEnd=..., nMode=1 '\001') at sw/source/core/text/frmform.cxx:611 14 SwTextFrame::FormatAdjust(SwTextFormatter&, WidowsAndOrphans&, o3tl::strong_int<int, Tag_TextFrameIndex>, bool) (this=0x5ae2c60, rLine=..., rFrameBreak=..., nStrLen=..., bDummy=false) at sw/source/core/text/frmform.cxx:1166 15 SwTextFrame::Format_(SwTextFormatter&, SwTextFormatInfo&, bool) (this=0x5ae2c60, rLine=..., rInf=..., bAdjust=false) at sw/source/core/text/frmform.cxx:1613 16 SwTextFrame::Format_(OutputDevice*, SwParaPortion*) (this=0x5ae2c60, pRenderContext=0x5b7fcf0, pPara=0x8d07490) at sw/source/core/text/frmform.cxx:1720 17 SwTextFrame::Format(OutputDevice*, SwBorderAttrs const*) (this=0x5ae2c60, pRenderContext=0x5b7fcf0) at sw/source/core/text/frmform.cxx:1910 18 SwContentFrame::MakeAll(OutputDevice*) (this=0x5ae2c60) at sw/source/core/layout/calcmove.cxx:1525 19 SwFrame::PrepareMake(OutputDevice*) (this=0x5ae2f80, pRenderContext=0x5b7fcf0) at sw/source/core/layout/calcmove.cxx:321 20 SwFrame::Calc(OutputDevice*) const (this=0x5ae2f80, pRenderContext=0x5b7fcf0) at sw/source/core/layout/trvlfrm.cxx:1792 21 SwObjectFormatterTextFrame::FormatAnchorFrameAndItsPrevs(SwTextFrame&) (_rAnchorTextFrame=...) at sw/source/core/layout/objectformattertxtfrm.cxx:905 22 SwObjectFormatterTextFrame::FormatAnchorFrameForCheckMoveFwd() (this=0x8ce5720) at sw/source/core/layout/objectformattertxtfrm.cxx:919 23 SwObjectFormatterTextFrame::DoFormatObjs() (this=0x8ce5720) at sw/source/core/layout/objectformattertxtfrm.cxx:368 24 SwObjectFormatter::FormatObjsAtFrame(SwFrame&, SwPageFrame const&, SwLayAction*) (_rAnchorFrame=..., _rPageFrame=..., _pLayAction=0x0) at sw/source/core/layout/objectformatter.cxx:160 25 SwContentFrame::CalcLowers(SwLayoutFrame&, SwLayoutFrame const&, long, bool) (rLay=..., rDontLeave=..., nBottom=192048, bSkipRowSpanCells=true) at sw/source/core/layout/tabfrm.cxx:1534 26 lcl_RecalcRow(SwRowFrame&, tools::Long) (rRow=..., nBottom=192048) at sw/source/core/layout/tabfrm.cxx:1653 27 SwTabFrame::MakeAll(OutputDevice*) (this=0x8cf5f80, pRenderContext=0x5b7fcf0) at sw/source/core/layout/tabfrm.cxx:2425 It looks like the _nFromPageNum is always from the SwObjectFormatter::mrPageFrame anyway because that's a precondition of the mpPgNumAndTypeOfAnchors->Collect() being called, so just rely on that to get the correct page. (regression from c799de145f7e289f31e3669646e5bd12814e6c5e) Change-Id: Ibdffb2121cffbc04320d17a29ab2e160dec4250b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115188 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 533a998e540b0f04068c876dde0e74adc3f79c93) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115201 Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-16tdf#141540 fix docx import of group or line with rotationRegina Henschel4-10/+19
... and fix case wrap 'Square' and 'in Line' with them. Non-uniform scaling of a rotated shape might produce skew. Such had happened, when setting group or line to the size contained in GraphicImport. Avoid it. Writer has special rules for shape position and marging in case of wrap 'Square' and 'in Line', depending on rotation angle. The patch adds the needed margins. The patch changes some unit tests where we now get slightly different values. The patch fixes the wrong skew in sample document of tdf#73022. Change-Id: Ic743790c3fc8b8b10a4324d9e0184ad945cdceb6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114193 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit 2a70cfb09c4d89154d229b6a95cf076e8bd76798) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115195 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-05-16tdf#126226, tdf#126735 sw Next Change: cycle through tracked changesLászló Németh3-0/+112
Next/Previous Change commands don't stop at the start or end of the document, but continue on the end or start of the document to cycle through all tracked changes, like Find Next/Previous and other office suites do. Change-Id: I5578d6b98b81ca1f8f222ba78e7d3c08339eca89 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113716 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115183
2021-05-16tdf#142080 sw: layout: fix infinite loop in CalcContent()Michael Stahl3-5/+25
On page 9, SwSectionFrame::Format() calls CalcContent() and that formats all its content frames, then on SwTextFrame 91 SwObjectFormatter::FormatObj() fails becuase it moved forward. With commit c799de145f7e289f31e3669646e5bd12814e6c5e this now sets the o_rbPageHasFlysAnchoredBelowThis to true, which prevents a call to SwLayouter::InsertMovedFwdFrame(), and the flys anchored in next frames aren't moved off the page at this time. Then the loop starts over at the beginning of the SwSectionFrame, and frame 91 will be formatted again because the loop tries to format the first frame on the next page to see if it will move back; now the MoveBwd() isn't prevented any more so the result is the same failure in SwObjectFormatter::FormatObj(). Fix this by ignoring the bRestartLayoutProcess in case the current frame was originally on the next page and didn't move back (or, as is the case here, moved back and then forward again); it should just be formatted again on the next page. Once that happens, it will eventually be entered into SwLayouter::InsertMovedFwdFrame() too. This happens to fix another problem with this bugdoc too: the first column of the section on page 9 is empty. This also happens in LO 6.4 but not LO 6.1. An alternative would be to move the flys anchored below off the page as is done in SwLayAction::FormatContent() now but sections can be in flys or footnotes or headers so perhaps it should be done only at the top-level. (regression from c799de145f7e289f31e3669646e5bd12814e6c5e) Change-Id: I0965aebb4e3cec687f4e70f8d5e3aa8a55da3393 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115144 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit ed12269c42f75f553bb8a8770923406f7824e473) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115087 Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-16tdf#141945 sw: layout: check master frame when moving fly forwardMichael Stahl2-2/+6
The problem is that in the finished layout the fly frames are positioned on the first page but are in SwPageFrame::m_pSortedObjs of the second page. Don't use FindPageFrameOfAnchor() because that looks up the follow-frame that contains the anchor position. This was unintentional; the idea was to get flys anchored in subsequent paragraphs out of the way. This situation where it's on a follow-frame of the same paragraph is more complicated and less obvious, so don't try to solve it now. (regression from eb85de8e6b61fb3fcb6c03ae0145f7fe5478bccf) Change-Id: Ic6809a43c467955368807ccc82a7873c29fbfc2e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115100 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 30512746c182b52f37f9a818d4e206c98e715cb7) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115080 Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-12Revert "tdf#141015: Show Mail Merge toolbar when DBData has data source"Mike Kaganski1-3/+1
This reverts commit 346153f08c907739ca310934ad45814379971027. It seems to create more problems than expected, and there's no way to remove DB association other than editing document XML. Change-Id: I93171f17c01e231abbcfa9a816fdadce83c983ec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115283 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit 2009af1c0fb4fead653dd7688347c15d74eaa1b0) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115286 (cherry picked from commit 8ca83e3801ee8e6359159ab4c222eedbf76e63dc) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115288 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2021-05-10Fix style previews widget with multiple languagesSzymon Kłos1-1/+6
Broadcast also universal name (English identifier) for styles on change. This allows to select correct style without knowledge about all languages that other users use in other views. Fixes style previews widget in online with multiple sessions in different languages Change-Id: I9b9bcc92d96b5a5482a97a5947f148a638f257d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115093 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115300 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-05-10Fix broken TOX in Online.Gülşah Köse1-10/+0
1. Open a German file in the Online 2. Insert a new paragraph, and change its style to "Ueberschrift 1" 3. Go to the Table of Content, and choose "Update Index" 4. See the index got destroyed, and when you look at the list of styles, the "Ueberschrift 1" has disappeared, and "Heading 1" appeared instead. This reverts part of: commit ca435be45f316120b9df6c9d547b781ed975817d writer: handle styles in multiple languages for online Change-Id: I82e46b3cf7824df6efdbb4b2a16716153ddae0df Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114683 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115299 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>