Regression from commit 25b8fdd3b9 (sw
floattable: maintain the invariant that fly height is at least MINFLY,
2023-09-28), the document started to layout-loop on load.
What happens is we have a fly frame where the bottom of the body frame
is above both the top and bottom of the fly. We used to make sure these
flys don't "flip" (with a negative height) and ensure that their height
is still MINFLY. But that causes a new problem, because the layout will
try to make sure they fit, but they can't have enough space.
Fix the problem by improving the correction of the fly height, so in
case even the top is below the deadline, then we set the height to 0 and
explicitly mark the frame as clipped. That keeps the unwanted warnings
about violated invariants fixed and fixes the layout loop.
The test just ensures that all pages but the last one has a single
multi-page floating table, chained over several pages.
Change-Id: Ibac0a465839a59abe5ae49809c0d76c955aa39b9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160061
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
for Draw - Grid Page.
Use the right grid settings associated with the application.
follow-up of fbecf8009a
Change-Id: I30b3c7ad80348a9cc89b6ea206a8ad9387276593
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160020
Tested-by: Jenkins
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
we have had this assert for long enough now to flush out any problems.
Change-Id: Ib732ca8d9156feb3c5d071cdbd44ea97875f6d9f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160060
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
This adds the [1],[2],[3] style of numbering to the Simplified
Chinese locale data. This will show up when one clicks the
numbering toolbar icon.
Change-Id: I8b54746b431384e682f4161a3e99211b4147bad1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160059
Tested-by: Jenkins
Reviewed-by: Kevin Suo <suokunlong@126.com>
This keeps all code of a test in a single place, if we don't trigger the
preTest() magic.
Change-Id: Ib97bf07cde6e235d9f9705cbff2f163fbc6d72b3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160055
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
in effort to improve readability and operation.
Change-Id: I7bfe485e24ee4cda3a3d99c522177950ad9ad399
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159887
Tested-by: Jenkins
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
when in a table and Table tracking is off
Change-Id: I0f5d069b80948aada9fee1338c29fc7809ffbe45
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160056
Tested-by: Jenkins
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
Same as in other places handling that:
* SfxBaseModel::load (sfx2/source/doc/sfxbasemodel.cxx);
* StorageFilterDetect::detect (filter/source/storagefilterdetect/filterdetect.cxx);
* TypeDetection::impl_detectTypeFlatAndDeep (filter/source/config/cache/typedetection.cxx)
In these cases, the same handler is used (RequestPackageReparation);
when the user approves an attempt to repair the package, the media
descriptor gets "RepairPackage" property set to true (this produces
a "(repaired document)" appended to the document title); also, the
document is opened in template mode (so saving it doesn't simply
overwrite the original broken document, but asks for a new name).
Re-using this logic, and checking if the "RepairPackage" is already
set, allows to unify the behavior, and to avoid duplicate warnings
when the user already approved repair of a broken package.
The request won't contain the details of the XML problem; but it
will be shown if rejected anyway, so OK for the diagnostics.
Change-Id: Ic997f89272212227479d14236f5e7788298a904a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160001
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Text cursor didn't follow the new word positions yet, because
of unsigned casting of the negative shrinking value.
Revert the temporary change of GetLLSpaceAdd() added by
commit 17eaebee27
"tdf#119908 sw smart justify: fix justification by shrinking".
Follow-up to commit 53de98b295
"tdf#158333 sw smart justify: fix multiple text portions".
Change-Id: I82cb395fc5af800d8da67d27c16c5ed6837df695
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160050
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
using the color bitmap __and__ the alpha from another BitmapEx
is equivalent to just doing a straight copy/assign
Change-Id: I134ab8a1197ed538823afc4a8cd28b3d5986c6b3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160019
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* Update helpcontent2 from branch 'master'
to 751a65e5be60a35ae970b3a66b2038d90ea580e4
- Document SF Toolbar and ToolbarButton services
Change-Id: I57df3b88660198d2432ff73ef1b37025e1b893a3
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/159902
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Rafael Lima <rafael.palma.lima@gmail.com>
* Update helpcontent2 from branch 'master'
to df97eb056605af65df8f2b3935285b27b27c21ad
- Fix example for YEAR() in Calc
Change-Id: I77e05169e6786210683785217c3611f40d7ebb56
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/159901
Tested-by: Jenkins
Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
Themed icons look bad when drawn white on light blue;
using the same icon as on the infobar makes more sense
Change-Id: I6b4fd2bac7dce41b8196c702e0f0dc87712e2b8d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160017
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
* When user right clicks an underlined part of the sentence, we are checking if there is a suggestion list.
* Then we show the suggestions.
Sometimes spell checker algorithms send 2 lists for the same part of the sentence.
And we saw that one of these lists can be empty (no suggestions).
But since we check if there is a list, the empty list is shown to the user.
I updated the checks here and added a new condition:
Now we take the list if the list is not empty.
This way, we can find the not-empty list which may come after an empty list (for the same part of the sentence).
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Ib3b498b98a8d44f8a7ead99593a71adcefa87a82
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158832
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
(cherry picked from commit 4c6c60d44b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159908
Tested-by: Jenkins
The response from LanguageTool server may take some seconds, during which
the user may type more characters of an unfinished word. A result of the
check started using an incomplete text should be discarded in this case.
The code in GrammarCheckingIterator::ProcessResult that applies the check
results first calls isModified to decide if it should apply the result,
or to discard it. Before the change, SwXFlatParagraph::isModified only
checked that its underlying node is still referenced; but it could only
get nullified in SwXTextMarkup::Impl::Notify (only when the node dies),
or in SwXTextMarkup::ClearTextNode, called in SwXFlatParagraph::changeText
and SwXFlatParagraph::changeAttributes. Any external changes of the node
didn't mark SwXFlatParagraph "modified".
This change stores the initial text of the paragraph, from the moment of
creation of SwXFlatParagraph; and then compares it to the current text of
the node in isModified.
Change-Id: Ia9a2e74b256152fe311db874c66f7e5347183f12
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160021
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
getFullWPGSupport() is always false for mrShapeContext in case of a
shape on wordprocessing canvas in table cell. On the other hand we do
not need the test, because a wordprocessing canvas only occurs in docx
and thus the replacement group always has FullWPGSupport.
Change-Id: I0e7a9cf1c1c91a893ad7411fda7607947f053e05
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159979
Tested-by: Jenkins
Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
Kit explicitly ignores changes to the global color scheme, except for the current ViewShell,
so an attempted change to the same global color scheme when the now current ViewShell ignored
the last change requires re-sending the change. In which case individual shells will have to
decide if this color-scheme change is a change from their perspective to avoid unnecessary
invalidations.
Add ConfigurationHints::OnlyCurrentDocumentColorScheme as the hint that
only the document color scheme has changed, so individual shells can see
if their document color scheme is different to this new color scheme and
not invalidate if unnecessary. So dark/light mode changes work properly
without reintroducing unwanted invalidations.
Change-Id: I5ebb4878694ceb6b9afe26286a30da06ea6ff3ef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160002
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Similar to commit e2ee3dd61a (lok: add
broken package interaction handler, 2023-10-02), all places of broken
package handling should allow replacing the original document.
Change-Id: I8450dfc0ab60444fa08014cc952ac857998d35ee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160009
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Who owns it, where is the UI, which contain can have this.
Change-Id: I78bf968f2f887131fe49e5ca56b9a86a2539adc6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160004
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
The problem is that an empty interface listener can be
added in Basic, which then crashes when trying to fire
an event on that listener. The fix is to check for
the existence of the listener before adding to the list
of listeners.
Change-Id: I3205ec1e6cdad431f6297f2b7833295b9eb64b8e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159978
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
In addition add some more basic header/footer tests.
This makes refactoring of header and footer OOXML import
much easier.
Change-Id: I5b3b3714656ba2f7b1dda8d8f067c3bfe68857a3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159946
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
... DrawElement twice in WriterXmlEmitter"
This reverts commit 9ea9d3ccc0.
The reason for the revert:
It causes regressions as indicated in tdf#157589 and tdf#153969.
That commit may be my misunderstanding of the code.
Change-Id: Idd188bf83721d309623a7f8484d064327a3a23af
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159811
Tested-by: Jenkins
Reviewed-by: Kevin Suo <suokunlong@126.com>
+ fix building issues about "cuidllapi.h"
+ remove #include <cui/dlgname.hxx> in some cxx since their corresponding hxx already contains the include
Change-Id: I2396104fbcbca2e1aca29cdb2324ae0f4daf63cd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159996
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
collapsible hierarchy in the Writer Navigator
Change-Id: I86bc17d11b4c5bf0ca0496e4ab62a0d77ddb625f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159812
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
Seen in a fedora:40 container, using --with-system-libcmis,
--with-system-liblangtag and --with-system-xmlsec.
Change-Id: I9d748d3dc0b70dbfdfcb6b99c9ce8440bda6f326
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159980
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Multiple text portions, e.g. if some part of a line
contains direct character formatting breaks DOCX
interoperability of justified paragraphs.
Follow-up to commit 17eaebee27
"tdf#119908 sw smart justify: fix justification by shrinking".
Change-Id: Ia53e763fdba89bb733bde088874e641b25d733f7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159862
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
Round 2 of trying to fix macOS live resizing.
If this is a left mouse up event, dispatching this event
will trigger tdf#155092 to occur in the next mouse down
event. So do not dispatch this event and push it back onto
the front of the event queue so no more events will be
dispatched until live resizing ends. Surprisingly, live
resizing appears to end in the next mouse down event.
Also, reverted parts of commit 54da842381
and cleaned up the setting of ImplGetSVData()->mpWinData->mbIsLiveResize.
Change-Id: Ie93ed496e1f0e2a1711284ab205c6b245f71647c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159960
Tested-by: Jenkins
Reviewed-by: Patrick Luby <plubius@libreoffice.org>
Similar to the desktop version, use a light gray background
color for the Calc header cells.
There was already code in place to draw darker gray background
to highlight the header cell when a cell in that row/column is
selected.
(The actually highlighted header cell didn't wasn't always the
correct one in a quick test, but that's independent of this change.)
Adapt that to always fill the rectangle, but use a lighter gray
(lower alpha value) when not selected.
Use a separate `Paint` object for the frame (stroke).
Set the frame color and text color to black instead of gray, for
better contrast to the light gray fill/background.
Change-Id: I0490811e928ebd1b3840242fc1aa4682b2786b00
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159989
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Center the header text in the Calc header cell, to
make better use of the space. This is in line with
what the desktop version also does.
Setting the text alignment to `Paint.Align.CENTER`
is sufficient for centering horizontally.
There's no equivalent for centering vertically, so
calculate the position based on the text bounds.
Change-Id: Ia8d5d8434b703cb7daecd34ae70405883f22f0d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159988
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>