Age | Commit message (Collapse) | Author | Files | Lines |
|
During the normal spell-checking in Calc, the user may change the
language on the string segment with a spelling error, which is supposed
to be applied back to that segment in the cell, but was not. This change
should fix it.
In case the new language is applied to the entire cell string, we will
set the new lanuage to the cell as a cell attribute and keep the string
as a simple string. Otherwise, the new language gets applied to the
edit engine string.
This commit also changes the return value of EditEngine::GetLanguage()
to include the string span information in addition to the language
value.
Change-Id: I713ec7aefe571f721321cd8ea687f616ab4dd61a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133966
Tested-by: Jenkins
Reviewed-by: Kohei Yoshida <kohei@libreoffice.org>
|
|
found by inspecting call sites of OUString::getToken
Change-Id: I4269c7476c7aa46fac39528227e350568f0eb34a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132644
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ic6a392ce006c9348abc28a5940c4ee0425e5b990
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133820
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I1055c5b7db23693817221fe213ab96c9f29a11f8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133734
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
found by examining uses of OUString::copy() for likely places
Change-Id: I6ff20e7b273ad6005410b82719183c1122f8c018
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133617
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
which is more obvious, from the perspective of the caller, and lets us
avoid creating a new String if nothing needs to be stripped
Change-Id: I66a980eaf4aa818251bec49bdb16c2dddb0745e7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133657
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I4462f7cf4740fa4d1b129d76a0775f4250f41bbd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133555
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I04c9c441a7e93cd998e99e4ede7d9894e14c364e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133519
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I8eff4cee1ba06c7ad69cb6ec8e483a84cfd3a347
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133451
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I3584042d0341d5c1b4f4e742e25e9eb0aa26f1da
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133378
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
in Impress. This involves:
1. SvxFont::QuickGetTextSize() and SvxFont::GetPhysTxtSize():
insert space only when text array value changes. Same value indicates
diffferent characters of the same glyph item (e.x. surrogate pairs,
unicode IVS that is made of a base character and a selector. ).
2. ImpEditEngine::GetChar(): fix a logical mistake that tried
to increase the index by 1 than checking the value of character
position. To advance the index we always need to check the position
first.
Change-Id: I4e3547413ce361ae7801c957e6d589776ebed114
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133102
Tested-by: Jenkins
Reviewed-by: Mark Hung <marklh9@gmail.com>
|
|
This reverts
commit 35f03f26799747894d1534796b6cb227bd4f233b
speed up loading large ODS a little
since ImpEditEngine::ImpMoveParagraphs wants to manipulate
ParaPortion's and also identify them by pointer
Also convert the OSL_ASSERT in this method to an assert
to catch such problems earlier
Change-Id: Id924d00c9524223db9a96e487b331ce60e3a4fff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133128
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I5104dc8ce24089b110f9cd73e0f5e62ad5b44a0a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132983
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
The testcase has a very long text in a cell that is really high
enough to hold only one line of text, yet EditEngine formats and
wraps the entire string. Which can be expensive because of calling
into text layout to find out width of a text portion, and this
is done repeatedly for the yet-unformatted text, so pretty much
O(N^2). For top-aligned text it's enough to format only as much
as will fit and ignore the rest, so implement that and add
EditEngine::EnableSkipOutsideFormat() to enable the optimization.
Change-Id: Ida87a1843737a368798ba2b3e60eedc99ee0f611
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132932
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Now the cache should be capable of detecting what needs
to stay the same for having the same result, so it should
be enough to have just one cache that can reuse results
even between callers from different places.
Change-Id: Ibdc0303f5b727d1a1d7be91d61db9465ed95e1c5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132673
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
so we can use it in places where we cannot include comphelper
Change-Id: Iba0ba3e4c0dcf0f9d1f09092a77c3b2010ec4f6d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132732
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I54e3ddf79ba793fd4328bf8bda7f949b65349651
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132693
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ic564411644f9021825f8523af3ec1505352187bb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131948
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: Ie039a828b09aacc68ef2f95f495284d554122940
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131510
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
|
|
As mentioned in
Change-Id I4681c28c9d18cf1953be5127765f4aa94563662d
("chart a11y: Drop bSendGlobally param from AccessibleBase::BroadcastAccEvent"),
calling it has no effect, the `fireFocusGained` and
`fireFocusLost` methods of the `XExtendedToolkit`
interface in its only implementation
in `VCLXToolkit` do nothing, so just drop it.
Change-Id: Ie9352a4e4021d7bf0b35de71f55afc660795b906
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131736
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
instead of casting everywhere
Change-Id: I954f6f1ef18baa7888d7447d64e8e7a8e5141a13
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131709
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
instead of casting everywhere
Change-Id: I98b654fd93eb8cea49f2e6a399a986e45ed8381d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131708
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
instead of casting everywhere
Change-Id: I547ad294e612488aef11788bb54e086897c19f93
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131707
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I4c7c94c10b9184ad1d3348e7b364748b4e7c34de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131611
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
The previous implementation of CreateRomanString() was complex and
was using various tricks and pointers to create Roman representation
of the integers.
The new implementation is simpler, and easier to understand.
Change-Id: Ibda4f8cfab02fd360e718736c957b3e04110c57a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131573
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
look for potentially trivial destructors that can then be elided
Change-Id: I435c251bd4291b5864c20d68f88676faac7c43fb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131318
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ifcb4eb0c453f5d39ac9d44a40df060b16b33c462
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130886
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
SvParser::aToken was OUString despite being a buffer where the parsed
result is collected.
Change-Id: Id24c842738ea0f6f1836f77d855069963ac5ae55
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130763
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Change-Id: Iaa0ddf4e97866d537a478e668e3c651a9eabc465
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130708
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
to reduce heap allocations
Change-Id: Ia755c3e7f9610a5441a447cc74ea38ebcef068bc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130066
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
ExecuteSpellPopup is quite accurate at identifying whether
the spelling at PosPixel is a spelling error or not.
If it is not a misspelled word, then it just silently returns.
If we make this a bDone flag, then it will just move
on to the normal right-click dialog.
There are a few additional scenarios that need to be
handled (mainly in terms of showing the edit-mode menu
instead of the full format menu, and also not
always returning the correct row/col when in edit mode).
I will do them in separate patches so that
each edge case can be clearly seen and handled.
They all rely on this patch being applied first.
This is the base patch. Too many things simply don't
work with the interim check, so I removed it.
(Part of the problem is that EditView kicks on and off,
and then a new CompleteOnlineSpelling needs to be run before
IsWrongSpelledWordAtPos can return a meaningful answer.)
This patch specifically fixes the problem of not
opening SpellPopup on a misspelled word in a wrapped-cell.
Steps to reproduce:
1.) Open LOv4304.ods from bug 81894 comment 6.
2.) Right-click on "spellng" in cell B12.
Before the patch, a full format popup was displayed
(not in edit mode) because IsSpellErrorAtPos returned
false, when it should have been true.
With this patch, spelling suggestions are provided.
As an example of an edge case, also notice:
3.) double-click on cell B4 (to enter edit mode)
4.) right click on "spellng" which appears to be in D4
Before the patch, nothing happened at all,
but with the patch at least the fall-back menu is displayed.
(EditView never switches out of cell B,
so SpellPopup is looking at wrong information.)
Change-Id: I91d413debc58de832dc7413034618e9e2bae3dd5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130297
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>
Reviewed-by: Eike Rathke <erack@redhat.com>
|
|
Change-Id: I6ab3ca829bc08e672736dd8dd41ba714d7172090
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130498
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ia4f0e427d293bd514ef7b0db8513869ebf278ee8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130484
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
and this is apparently relied on, so eliding the copy gives unexpected
results.
EditTextObjectImpl::Clone returns a copy of *this, but the
EditTextObjectImpl copy ctor explicitly does not copy the "PortionInfo"
member, so in:
commit fb8973f31f111229be5184f4e4223e963ced2c7b
Author: Caolán McNamara <caolanm@redhat.com>
Date: Sat Oct 10 19:21:38 2020 +0100
ofz#23492 the only user of this ctor throws away the original of the clone
so we can take ownership of the original instead
where the copy was optimized away we want from a state where there was a
new EditTextObjectImpl with an empty PortionInfo member to one where the
PortionInfo of the EditTextObjectImpl was retained.
So explicitly clear this unwanted info.
It's very hard to make rational judgements about code if a copy behaves
differently than the orignal :-(
Change-Id: I642d60841d6bdccbf830f8a2ccdbd9f542a8aa18
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130201
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Fixes a possiblity of crashing when applying title case format using the
edit engine.
Change-Id: I4f44f635a1c96b021c084bb5bb973180744e56e2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129888
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
In preparation of adding UNO API for this.
Change-Id: Iecb2e44c43bca9e892fcb6242870ec12faa48be5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130050
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Otherwise, the repaint rectangle uses the new text size, which may lead
to visual artifacts, if the old text size exceeds the new one.
Change-Id: I9b49755bf6b8c453e319e2a4081d58bf2e433cd9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129920
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
|
|
The signed loop index variable of type 'int' is converted into
'size_t' to match the return value of std::size() which is unsigned
Change-Id: I39170c487a46aed0370d987f6ec94949c71509cd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129676
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
|
|
Change-Id: I0c8f46d2671f3623ff3dd1ee6ec84cde7db41003
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129580
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I630b7fbda7c9ebf578e74260a0d67eea32e9e429
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129549
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Inform editeng that negated document x coordinates are used in this case
and ensure that editeng generated invalidation rectangles always have
positive X coordinates.
Conflicts:
sc/source/ui/view/gridwin4.cxx
Change-Id: I2e450707ce02f7bcd8e4d299f857c37ebbd5e2c6
(cherry picked from commit 0fe02bb99e5dfa8379a49de75683fc350e4c4dbd)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129360
Tested-by: Jenkins
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
|
|
Change-Id: Ic79d9b6d606573d93830347390c6466b033e9f12
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120963
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129460
Tested-by: Jenkins
Reviewed-by: Henry Castro <hcastro@collabora.com>
|
|
Prevents Title Case formmating from occuring outside of a
user's selection. This is relevant if the user has started
or ended a selection in the middle of a word.
Change-Id: I39d8f2445acf5d9bb225bf8e3b36e2eb3b518857
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124102
Tested-by: Jenkins
Tested-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
|
|
Conflicts:
editeng/source/editeng/impedit.cxx
editeng/source/editeng/impedit.hxx
Change-Id: I52bbbd4ca69a599c90c00d25513064b025f72bf4
(cherry picked from commit 04a48ea15b9e692ded4f3012b41e765451669e46)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128900
Tested-by: Jenkins
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
|
|
Change-Id: Ied4e02d2dd30b7132ea1bc5f0d5b717355ed8b4f
(cherry picked from commit 92d2035acc9d13fea46003a2b2650439d6a2f2fb)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128897
Tested-by: Jenkins
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
|
|
and update the idl compiler to cope with namespaced class names
Change-Id: I7b5242f872e358bc3c5584f543767719172aac83
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129026
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
The called ImpInsertText() already handles that gracefully without
truncation. See also related tdf#139974.
Change-Id: I0ecef7ac0b2b8db5962d19c767cbc23e91cb3cfb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128744
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
Force line break
1234567890
-1234567890
instead of
1234567890-
1234567890
but still
abcdef-
abcdef
Change-Id: I0b427b33b05eea12d13aad148c604385ffe000d2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128691
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
So we break at word or number boundary, e.g.
1234567890+
1234567890
instead of
1234567890+123456
7890
(which in the sample case also keeps a formula expression
functional).
Change-Id: Ied01d76d8e30822d6e70c1bc2c1ca8609b0e3778
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128665
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
... resulting in a stripped-down, Writer-only build to decrease
the resulting WASM bytecode size.
It removes the following code from the build:
* All other major modules: Base, Calc, Chart, Draw, Impress and
Math and related writerperfect filters
* The premultiply tables
* The (auto-)recovery functionality
* All accessibility (but not the accessibility document checker)
* The LanguageGuess component
* EPUB support
* The start center / BackingWindow
* The TipOfTheDay functionality
* The splash screen communication
Currently crashs with anything different then soffice --writer.
Closing the document also still crashes.
FYI: many of these features are now behind ENABLE_WASM_STRIP_*
defines, but they normally don't work on their own, globally!
That's because we started with stripping the main components.
Change-Id: Ib9c0f9452815910c0a2aceaf142ba1ad4a9cb0d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126182
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|