Currently all a11y notifications get send out immediately, which often
ends up formatting the document before it is ready. With the current
EnterBlockNotifications()/LeaveBlockNotifications() system it is difficult
to find all places that need blocking and any change in the a11y code
might require additional blocking in unpredictable places. By queueing
all notifications by default and only sending them out when the document
is ready, we can make sure that it can't be corrupted.
Change-Id: I9599c7b57eb5b8f8f0575de57fcc8bab171f78ff
Reviewed-on: https://gerrit.libreoffice.org/58703
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Change-Id: I92cfd8d09ca8229764db4200568b96a62e2ab21e
Reviewed-on: https://gerrit.libreoffice.org/59742
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Regression from commit 4600b07c1d
Before the mentioned commit, creating a subset X, and then adding
sub-subsets until all the subset is excluded, had left the subset X
with two *empty* nodes in maCurrentSubsets, 1st of them having both
mnStartIndex and mnEndIndex equal to maSubset.mnStartIndex, and 2nd
having both mnStartIndex and mnEndIndex equal to maSubset.mnEndIndex.
The commit above changed that to adding maSubset to maCurrentSubsets
in the beginning of each exclusion, which finally resulted in a messy
maCurrentSubsets with multiple duplicating nodes effectively covering
all maSubset. That resulted in the item as a whole handled *besides*
the sub-subsets.
This commit (1) avoids adding extra maSubset to maCurrentSubsets, and
(2) adds the two empty nodes in case all the subset has been excluded
by its sub-subsets.
Change-Id: I7fc5f2d0b6ecf4f9247351da3a2746032150557b
Reviewed-on: https://gerrit.libreoffice.org/59948
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Make switch-case conversions standalone functions to make the
function shorter and more clear.
Change-Id: I71ea33c92ab4df848f106979c8d2d69340775da8
Reviewed-on: https://gerrit.libreoffice.org/59888
Tested-by: Jenkins
Reviewed-by: Mark Hung <marklh9@gmail.com>
There are 2 types of range names:
- those global to the document
- those specific to a sheet
Before this patch, Pivot could only see global range names
There are 2 parts on the patch:
1) ScCellShell::ExecuteDataPilotDialog()
Retrieve all the range names and use:
- for sheets range names: <scope>.<range name>
- for global range names: <range name>
2) ScSheetSourceDesc::GetSourceRange()
Search about the presence of . to know if it's a global or sheet
name range
Change-Id: I92ac321e1475516cce7ee42b6e6038c231d0514b
Reviewed-on: https://gerrit.libreoffice.org/58070
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
from function paramter list, invoke getCurrentNode() and
isMainSeqChild() only when necessary.
Change-Id: I1da472426fab84219176b98a826210bbe279bb53
Reviewed-on: https://gerrit.libreoffice.org/59877
Tested-by: Jenkins
Reviewed-by: Mark Hung <marklh9@gmail.com>
ever since
commit 84a3db80b4
Date: Mon Sep 18 23:08:29 2000 +0000
initial import
where it could insert an uninitialised pointer into the
SwGlblDocContents sorted vector
Change-Id: Id58778444593c39b5f80bac3a6dab8e14404030a
Reviewed-on: https://gerrit.libreoffice.org/59932
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Add NodeContext to wrap reference of XAnimationNode
and bMainSeqChild so that the node under processing can be
get via getCurrentNode() and isMainSeqChild() instead passing
arround via parameters.
Change-Id: Ie4be58211f4194fc2a24aa951c2110911c91d94e
Reviewed-on: https://gerrit.libreoffice.org/59876
Tested-by: Jenkins
Reviewed-by: Mark Hung <marklh9@gmail.com>
17.4.25 insideV (Table Cell Inside Vertical Edges Border)
This element specifies the border which shall be displayed on
all interior vertical edges of the current group of table cells.
[Note: Although individual table cells have no concept
of n internal edge, which would render this property useless
in most cases, it is used to determine the cell borders to
apply to a specific group of cells as part of table
conditional formatting in a table style, for example, the
inside vertical edges on the set of cells in the header row.
end note]
So, I interpret this as insideV/H having meaning only within table
styles, and not when directly applied to a cell. The only
documents I've seen with insideV/H directly applied to a cell seem to
have been created by LO - which dumps them everywhere, redundantly.
Change-Id: Ie76e9af6845cc87b0b847050b031e57d95b1a31b
Reviewed-on: https://gerrit.libreoffice.org/59674
Tested-by: Jenkins
Reviewed-by: Justin Luth <justin_luth@sil.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
rename the "magic" members and fields that are actually a font-cache-id,
to more useful names
Change-Id: Ie787b0939115c576e979c7e27a21a68c138c32f6
Reviewed-on: https://gerrit.libreoffice.org/59868
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
This builds on top of commit 436b829f5b
(sw: save one vcl layout call in SwFntObj::DrawText(), 2018-08-16), but
now layouts are shared not only inside SwFntObj::DrawText(), but also
between SwFntObj::GetTextSize() and SwFntObj::DrawText().
To get there, create an SwFntObj cache member that stores already
calculated vcl layouts. SwFntObj already derives from SwCacheObj, so no
need to explicitly expire this cache member.
Total number of GenericSalLayout::LayoutText() invocations go down from
8 to 5 with this when pressing a key in Writer.
Change-Id: Ifbe84a5c00025604f9c1331b56074b3dc27864b5
Reviewed-on: https://gerrit.libreoffice.org/59879
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Labels are set now depending on row/col as left/right and above/below
Change-Id: I73b81660db1e4e8c3d0146f59e193744a3883583
Reviewed-on: https://gerrit.libreoffice.org/59867
Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <tietze.heiko@gmail.com>
... to not round up to the next magnitude.
Change-Id: Ibda6e014ae3bdbe021e208c8781f619b112bee21
Reviewed-on: https://gerrit.libreoffice.org/59887
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Eike Rathke <erack@redhat.com>
convert the LINK we use here to std::function, since LINK
does not currently handle std::unique_ptr
Change-Id: I9df80352e612445e5f5ca513d7d4196d65589778
Reviewed-on: https://gerrit.libreoffice.org/59804
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
or InComment. The first footnote does not get special treatment in
autospacing either, so no exception needs to be made for it like in
autospacing, unlike many other "firsts".
The unit test is simply preventative. I'm a bit surprised,
but the section isn't even marked as "IsFirstSection" until after
the comment and footnote paragraphs are finished. That seems a bit
odd to me, since they are in the FirstSection after all.
Change-Id: Ib0107c969bf624e44f0c78b936bf9531fd25bfc2
Reviewed-on: https://gerrit.libreoffice.org/59858
Tested-by: Jenkins
Reviewed-by: Justin Luth <justin_luth@sil.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
The shapes and comments code in sw and sc assumes
that OutlinerView::Paste does paste as unformatted
text, and OutlinerView::PasteSpecial does paste as
formatted, similar to the corresponding methods of
EditView, which it's supposed to call internally.
But the reality is that OutlinerView::Paste just
calls PasteSpecial, with a comment "HACK(SD does
not call PasteSpecial)". All this situation goes
back to "initial import" commits.
This commit changes OutlinerView::Paste to paste
as unformatted (by default). Call sites that were
using it, but apparently wanted formatted output,
were changed to an explicit PasteSpecial call.
Change-Id: I1d7472039fb9fe09810260a199e216ec95765b10
Reviewed-on: https://gerrit.libreoffice.org/59904
Tested-by: Jenkins
Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
which also resolves a regression from tdf#113258.
The previous code segments were being spread out all over
the place. It all consolidates nicely in finishParagraph,
and the code is much easier to read using the new
GetAnyProperty function.
Plus there were regressions creeping in.
The mere presense of the Autospacing property normally, but
not necessarily means that it is on. Verify that it is enabled,
and update grabbag if autoSpacing changes.
Additionally, support was added for a zero top margin for
the first paragraph of the document.
This will be too hard to backport since it depends on
150c12fc0f from tdf#72560
and the many code fixes related to GetPropertyFromStyleSheets.
Change-Id: Iaf1600fffea54e9800e215e89cad40006d5bcdda
Reviewed-on: https://gerrit.libreoffice.org/59705
Reviewed-by: László Németh <nemeth@numbertext.org>
Tested-by: László Németh <nemeth@numbertext.org>