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>
Prevent crash for LeftParaMargin and RightParaMargin by returning both
values for the hardcoded 0 in SfxDispatchController_Impl::StateChanged.
Change-Id: I7705bd5e22d6cd7fbbe702d7ddbf17e2899b851e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151472
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
properties that match the default are not exported, so we're basically
stuck with what is in there for compatibility with older versions, so
revert
commit ca46afebb7dc0ec4375e995fa90edccbed6c2530
Date: Tue Oct 4 16:22:51 2022 +0100
default to 'flat' instead of '3D Look' for form controls
and set m_nBorder to the desired new default in the ctor but
leave getPropertyDefaultByHandle as it always was
Change-Id: Ia862fc6851248fc9b16b3b4c505fdaf6fdb4b2ac
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151497
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
since Bitmap is really just a tiny wrapper around SalBmp
Change-Id: Ie2c9be40f6abba72c600c6778ec42d0689c66558
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151498
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Change-Id: I1424ad5deb65f6c72f414a51a40fbd1138c284d8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151432
Tested-by: Jenkins
Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
tdf146264 as now made redundant by prior changes
Change-Id: I6747e33d1ffd4812d8881e10cda2300e7d79e1b3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151468
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Various updates on XSLT ODF2HTML triggered by TDF issue 154989 - esp. image/frame positioning by CSS position
(regression from commit f680b6d74209fd78c547201b2f14c6547e55c81b)
Change-Id: I4d08a67ebca7ae3808db07c828488bb9284623a3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151094
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Static error at xsl:param on line 67 column 40 of table.xsl:
XTSE0010: xsl:param must not be preceded by other instructions
(regression from commit ce4272c25426f0084e53735e80870b9339239078)
Change-Id: I5bed9a8ad81edc5ec016618cb9fd5d75209a2809
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151464
Tested-by: Michael Stahl <michael.stahl@allotropia.de>
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
The last usage of boost in writerfilter was <boost/lexical_cast.hpp>.
This is now implemented using rtl::math::stringToDouble(). To avoid
behavior change in case it does not find any suitable characters to
convert, it is checked that the index of the last parsed character to
be zero, as lexical_cast throwing bad_lexical_cast exception in this
case but stringToDouble reports rtl_math_ConversionStatus_Ok.
OUString::toDouble() is not enough here, as it does not provide suitable
error handling mechanism beyond IEEE 754 special values and 0 as output.
stringToDouble() should be able to handle 16-bit char strings, as it
takes std::u16string_view type string as input, and also uses sal_Unicode
as the data type for the separators.
The boost library is no longer in use in writerfilter. But, right now it
is not possible to remove the remainings from the makefiles and includes,
because of the dependencies that still use boost.
Change-Id: Iae4b83106fcbdded71e7d9e5f70376ab408e9b5f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139279
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
ComplexColor includes everything a ThemeColor has and in addition
also can have various other representations that are supported by
OOXML. This is important for compatibility reasons to preserve the
color information.
Change-Id: I677775a96511dc1742c75b1949e002eaa8c622e2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151226
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Right now this doesn't make any difference, since Bitmap is the
superclass of AlphaMask.
But when I switch to using alpha instead of transparency, passing
AlphaMask around is going to mean something different to passing plain
Bitmap around.
Change-Id: Ic1541e5f0a3b97331793cd23e23115faa7f382b0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151463
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
The BitmapEx constructor already does this check, no need to do it here
Change-Id: Iacd0e1b1d4aa3dfae120e0d4a60a6924ecd9f778
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151460
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
The cursor position is pushed in SwView::ExecSpellPopup, and popped
in the end, to restore the changed position e.g. when the action is
cancelled.
In the replacement, the PaM of the pushed cursor is updated in
DocumentContentOperationsManager::ReplaceRangeImpl, likely to avoid
several updates during the further processing. The stated goal is
to move all PaMs out of the deleted range, but the direction is not
stated explicitly.
If this correction is removed, the cursor PaM gets corrected anyway,
and arrives at the end of the replaced text. So, to fix the bug, and
to be compliant with the default case, let's correct to the end of
the range, instead of the random direction (GetPoint() may return a
position at either end, depending how PaM was created).
Change-Id: I83bcf01bcc0bf7277a9a34263b524b1212785814
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151462
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
* Update helpcontent2 from branch 'master'
to bcabd26061bf9740878cdbbbf09c2efb686d2b24
- Put back string for related topics
Change-Id: I63fecc145ddab0948931ffbd8898fd3d1096cff3
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/151485
Tested-by: Jenkins
Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
* Update helpcontent2 from branch 'master'
to 35f61fce142836d5bc2542d474e779532f7e68d7
- Update Help page for Line and Filling toolbar
+ several updates and refactoring
Change-Id: I218204d3c37def5acfc89a5eb5b36a19ed3b38be
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/151484
Tested-by: Jenkins
Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
Thank you Mike for having spotted it! :-)
Change-Id: I210edf2e05eb6ba02ac9cdd999c4f2233819cfa4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151476
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
I was daydreaming, when thought that we can rely on the system-provided
file URL. Windows creates such URLs using current 8-bit codepage, and
URL-encodes the octets from that string, which fails when the URL is
treated as UTF-8 after URL-decode.
Change-Id: I2703586d371c1254e693a5760c5b6b74101e299d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151456
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
The copy&paste of ranges with shapes had the following further bugs:
* For cell anchored shapes the position was taken from the source
rectangle instead of the anchor.
* Resizing was calculated from source and destination rectangle, but
should only depend on size of object range.
* tdf#125938 Shapes were moved without adapting the anchor.
* tdf#155091 Source with filtered rows produced doubled objects in
paste.
* The CopyToClip method has a useless NbcMove(size(0,0)). NbcMove
is a move 'by', not a move 'to'.
* tdf#155093 Pasted object has same name as source object and thus
is not accessible via Navigator.
* tdf#155094 Transposed pasted objects have wrong position
* tdf#155095 Objects over collapsed group are incorrectly resized
* tdf#141437, tdf#141436 transposed objects have wrong size
Only objects, which can really resize, are now resized. In case of
transposing no objects are resized. Transposing would need to
transpose the object geometry, but that is missing.
The offset inside the start anchor cell is adapted to the size of
the destination cell to keep the anchor in this cell.
Object resizing considers that filtered rows are removed whereas
collapsed or hidden rows are shown in pasted area.
Object resizing does no longer use global factors but calculate the
desired snap rectangle and fits the object into it.
Change-Id: I42924b28a2d652d8b70cb8e1a1d7ca4324b09cf6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150161
Tested-by: Jenkins
Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
Indeed, the cDecSeparator and cGroupSeparator require that the buffer
uses the proper character type, otherwise it won't be possible to use
Unicode separators in rtl_math_doubleToUString.
Change-Id: Id26bed72776475c1be5b092e3ffcff0e75ffe557
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151451
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
we can drop the lock immediately after construction (since
the iterator holds a thread-safe COW link to the underlying listener
container)
Change-Id: I08f8fa9ed7393747938572097f3c25f5f3f847fa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151440
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
click or shift + enter key
Enhancement to make a selection from the current cursor position in
the document to the position in the document that is navigated to
when a content entry in the Navigator tree is double clicked or the
enter key is pressed.
No selection is made when the current cursor position is in a table,
header, footer, footnote, or frame.
To make shift + double-click behavior for x11 and qt5 the same as
gtk3, FunctionSet::SetCursorAtPoint is added to the Shift case for
SelectionMode::Single in SelectionEngine::SelMouseButtonDown.
Change-Id: Id845dad8011ff7777a24f9b2730f10c62271c368
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151157
Tested-by: Jenkins
Reviewed-by: Jim Raykowski <raykowj@gmail.com>