In case the document has a single cell in the floating table with
multiple lines, we may need to split the cell, but currently we don't.
One problem is that SwTabFrame::MakeAll() for the master table gets an
error from Split(). Digging deeper, SwTextFrame::SplitFrame() is not
called at all, because SwTextFrame::FormatAdjust() thinks that the
content will fit, because SwTextFrameBreak::IsInside() says so. This
happens because it tries to do a test grow on the fly frame, and
that promises to grow as much as wanted.
Infinite grow for fly frames is reasonable by default, but we want to
limit the size for split flys, so a follow fly will be created. Fix the
problem by improving SwFlyFrame::Grow_() to handle the
IsFlySplitAllowed() case explicitly. Now we split the text frame, which
is needed but not enough to split the entire fly -> table -> row -> cell
-> text frame hierarchy.
SwSectionFrame::Grow_() has a similar limit in place already.
Change-Id: Ie07362a8dc3aa8c4fbb69eaf7e35717ba79b99a0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147593
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
These suites are large enough so that avoiding the
declaration/registration/definition of each test manually saves a lot of
space.
Change-Id: Ib24643438ecf52da1ba700522435f70e7ba2aa95
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147590
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
- dont wrap parameters in a useless hint as superfluous indirection
- note: SwDocPosUpdate receives a special kind of abuse here:
* it is used as pNew with pOld being nullptr when send to the
document field manager
* it is sneakily modified to be the pOld when it is forwarded by
the field to the frame via the node
- full path of the message before this change:
-> passed to the UpdatePageFields as parameter
-> wrapped as the pNew there and send to the field types
-> passed by the fieldtypes to the fields
-> tweaked to be the pOld with pNew being the field itselfby the
fields when passed from the field to the node
-> passed from the node to the frames
Change-Id: I084c3a1abe6871abdb82655cc413902dd16071cf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147302
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
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>
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>
The tricky part is that there are actually 2 different kinds of left
margins:
Those on entities that aren't paragraphs are simple, so class
SvxLeftMarginItem is simple.
Those on paragraphs are entangled with the first-line-offset,
because there is a left margin value (same as for everything else)
and a text-left-margin value, which includes a negative
first-line-offset; the text-left-margin value is exported as API
property so stored as-is in the item, and the left-margin is computed on
demand (based on corresponding first-line-offset) in
SvxTextLeftMarginItem::GetLeft().
Separate classes for these is a better separation than what commit
a0875d09d9 did.
(some functions aren't implemented because the SvxLRSpaceItem did
nothing for these cases; not sure if that's intended.)
Change-Id: Iae5cd4bf8167754eec65d2585430f5fe3d00839f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147023
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
nothing seems to be using the aggregation here - as expected, this is
not the kind of thing that is aggregated
Change-Id: I8abc4f4db0dc9447e4018330bba86f3579bb21c9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147503
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* Update helpcontent2 from branch 'master'
to a7c1500a74c7f5e136da4a70656d19c54f758092
- tdf#153795 "Illustration Index" -> "Table of Figures"
also some corrections in menu names in the Type tab
and updating of example to refer to "Figure".
Change-Id: I4529eeb8000021051a669ec0bfaeeadaa2c69f74
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/147551
Reviewed-by: Seth Chaiklin <sdc.blanco@youmail.dk>
Tested-by: Jenkins
This suite is large enough so that avoiding the
declaration/registration/definition of each test manually saves a lot of
space.
Change-Id: I5b7ef05e16ec0d81acfc7288296849ab3b3973ce
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147576
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
This reverts commit 3fffe54bb1.
Reason for revert: Rectangle makes the small icons even more tiny. Looking for a better solution.
Change-Id: Iec2c5f03ec6ea14546b27eb530c43ad511b2ee19
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147450
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
This reverts commit 9844064f25.
Reason for revert: Rectangle makes the small icons even more tiny. Looking for a better solution.
Change-Id: I3161d488346305ee814884758f1d8679d64db07b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147451
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Just using "-L... -l..." will cause dynamic linking if a matching system
library is found.
Change-Id: I9bc3ee1fb1351336f73c3c9219526749dffe546e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146907
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@aliftype.com>
This suite is large enough so that avoiding the
declaration/registration/definition of each test manually saves a lot of
space.
Change-Id: I4b76afd0483957b0061326e584ccbb0d22650c60
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147509
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Instead, have a function that returns a reference to a local static
variable. That local static is then initialised only when the function
is called for the first time. Calling CuiResId() in a global
initialiser is a bit questionable, and causes an uncaught exception
when LO core is used in a WASM app. Possibly it would also have been
problematic on other uncommon platforms.
Change-Id: I4fd799ba3aa8d63fd3db1eb8cf6211aeed904ed2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147512
Tested-by: Tor Lillqvist <tml@collabora.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
This usually passes, but if I have an other build ongoing, then
sometimes fails with:
equality assertion failed
- Expected: -139
- Actual : 1528
Fix this by doing a sync UNO call instead of async dispatch of an UNO
command. Now this test passed for me 10 times in a row under load.
Change-Id: I4f81d036c0edd3ec9467cd483238a1f32876dc50
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147506
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
Added to make GradientAxial work using the MCGR
as 2nd of six types. This one was complicated
since it uses the gradient(s) 'reversed' when you
look at it, from outside to inside. Had to do
quite some tickeling to get it all work, but
looks good now.
For modifyBColor I Could re-use the started
tooling as planned.
To get the reverse usage working I ended up in
1st adapting the previous usage to make more use
of std::iterator and reverse_iterator to be able
to use the reversed state of the ColorSteps more
'controlled' as if trying to adapt the numerical
indices to the vector (that ended in chaos).
It is still 100% backward-compatible, so as long
as there is no source using this it will stay
invisible - by purpose.
Tests look good with this one, see the static
variable nUseGradientSteps.
Change-Id: I0117ec9a24b5e55869b3e2741c67fb87b549db97
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147510
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
This patch implements the new .uno:WatchWindow and .uno:StackWindow commands in the Basic IDE to allow the user to toggle the Watch/Stack windows.
Change-Id: I0778b9fe8efcafbbf57da3cc437e6b156306021d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147305
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Rework access/set methods for sdr compatibility flags so it
is possible to address a compatibility flag without directly
interfacing with SdrModel.
(preliminary work for exposing compatibility flags to
editeng)
Change-Id: I2fab219f9e125151916228300be2d9d88156d8a6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147407
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
if mPeriod is < 0, then we could crash in calculateValuesCentral
Change-Id: I554b46ed7bf5b5b0a32fcf69829aa1c2c75833f8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147508
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Since the code that can run during flushModifications might manage to
call back into Service..
regression from
commit a61951a3a2
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date: Mon Feb 20 20:08:30 2023 +0200
BaseMutex->std::mutex in configmgr::configuration_provider::Service
Change-Id: I0070e7589cdea38905de6c68adefd8081b122152
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147500
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
This suite is large enough so that avoiding the
declaration/registration/definition of each test manually saves a lot of
space.
Change-Id: I14d1ace4ffbcb888e30a51b24116ed8c7e90fcba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147479
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
- strip out some helper functions
- split of the "forced update" special case
- extract ensuring user fields to be valid
Change-Id: Iee9aa5b25ab7d8e7c102f0c0950c47a46966bb19
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147269
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
Distinguish this 2nd generation control from all "content control"
from 3rd generation
Change-Id: I29c9087e1042fc7c7c920235866fd25f9522538c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147501
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Map the IsSplitAllowed text frame property to <draw:frame
loext:may-break-between-pages="...">. This is meant to be always a
direct formatting, so doesn't go to the style / autostyle.
Change-Id: I439fe372271e4b7db511b5e2150e2a3c2e0acf25
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147499
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
This suite is large enough so that avoiding the
declaration/registration/definition of each test manually saves a lot of
space.
Change-Id: I44dd326d2fa9d306bb187148121e5c50718650d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147480
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
This suite is large enough so that avoiding the
declaration/registration/definition of each test manually saves a lot of
space.
Change-Id: Icc071e2bd1e6c0867d0e7dd22b7dbb3b7921f12f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147483
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
It's deletes, not an insert. One has to dispatch
.uno:DeleteTextFormFields to see this in action.
Change-Id: I7c5afa6acc633e0d0a750d97ff6477b9511e816c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147489
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
so that the gtk and the normal path do the same thing
Change-Id: I69bb7be98e5834b0f20db66a67b3c37cc9d09676
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146566
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>