summaryrefslogtreecommitdiff
path: root/editeng/source/outliner
AgeCommit message (Collapse)Author
2025-02-08move some fields from OutlinerEditEng to OutlinerNoel Grandin
as the comment indicates, that is where they belong Change-Id: I0078a359253d86d0197a87fade5a2de7579be042 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181273 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2025-01-21tdf#105083 Support status of numbering and bullet listOliver Specht
Shows the status of bullet/numbering in the current text selection in the toolbar buttons ToggleUnorder/OrderedList. Change-Id: I458896293c502da8142ad9cb43b5ea62a9f3b558 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180238 Tested-by: Jenkins Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de> Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2024-12-11tdf#163634 Format empty paragraph if they have a bullet/numberingOliver Specht
Some optimization in commit 52abeff6d5836b29dbefe69f284bbd89f6672ae2 ignores paragph attributes if the paragraph is empty. But it is not empty if it has an active list. Change-Id: I8885d0f201fc48279263a3d41ec6d660b534ded2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178311 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2024-12-07cid#1636582 Negative loop boundCaolán McNamara
Change-Id: Ib91ee62814837765f89f65a1204021e9d9610e53 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178035 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-12-04tdf#88226 sd: fix cutting off the overflow text on the notes print pageTibor Nagy
This fix offers two options to preserve the overflowed text: 1: if the "Original size" option is selected for printing, the overflowed text will be displayed on a new page. 2: if the "Fit to Printable Area" option is selected for printing, notes will be scaled to fit within the available printable space. The "Multiple sheets of paper" and "Tile sheet of paper" options are disabled for notes because these options are intended for slide printing and do not make much sense for printing notes. The orientation for the notes print page has also been fixed. Change-Id: I99e56cf9aed5c32764797469a8ea7f3b25053882 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177511 Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de> Tested-by: Jenkins
2024-11-28tdf#163913 Implement font-relative marginsJonathan Clark
This change adds loext:margin-left and loext:margin-right, which implement margins that support font-relative units. See tdf#36709 for additional details. Change-Id: I31b0dd2b6f98cb5b02fd4dca3608db6fdee4054c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177473 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-11-24Let ESelection use EPaM for simplificationMike Kaganski
And drop EPosition, which duplicates EPaM, except for its default ctor (used in a single place). Change-Id: I48bb6dafcba84465d61579df0ec71b815945532a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177075 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-11-13tdf#36709 editeng: Layout for font-relative first-line indentJonathan Clark
This change extends layout for font-relative paragraph first-line indentation into Edit Engine. Change-Id: I5906f493b91fbcb87ded165709fb132b33ce1906 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176487 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-11-06loplugin:passstuffbyref in editengNoel Grandin
Change-Id: I015616d7a008692b63586cd5d2ae9cc5586ead4b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176135 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-10-31convert KernArray from sal_Int32 to doubleNoel Grandin
which allows us to eliminate a bunch of rounding at various layers, and consequently maintain a lot more precision Change-Id: I911dedd7c041c1d67396c082e5695346ea689acb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175814 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-09cid#1556026 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1556027 COPY_INSTEAD_OF_MOVE cid#1556030 COPY_INSTEAD_OF_MOVE cid#1556032 COPY_INSTEAD_OF_MOVE cid#1556036 COPY_INSTEAD_OF_MOVE cid#1556049 COPY_INSTEAD_OF_MOVE cid#1557490 COPY_INSTEAD_OF_MOVE Change-Id: If694c4d518323a8ae58bb13569f401b2b36cd427 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171704 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-08-01CairoSDPR: Simplify EditEngine text decompositionArmin Le Grand (Collabora)
The EditEngine decomposes it's content mainly to Prmitives (there is still a direct paint mode used in rare remaining cases which we not yet got rid of). For TABs the special case for 'extended' TABs (see format/paragraph/Tabs, FillCharacter) was handed through all layers using method DrawingTab, put into a DrawPortionInfo and held at the text primitive (TextSimplePortionPrimitive2D). While for direct paint the expansion was already done in ImpEditEngine::Paint anyways (and always painted, independent from bStripOnly what was unneccessary and I corrected that, too) it had to be done for text paint in VclProcessor2D for each repaint. This is not needed, so now the extended text created in EditEngine decompose gets used. This makes a lot of stuff simpler, including EditEngine/Outliner and some involved classes. If it somehow should show that it might be necessary to do that for each paint it should be done in the obvious way then - using an own primitive that creates the expansin in the decomposition (and buffers it). Change-Id: Ieb02219142af8f6bee01dcd658e08b185a4212cb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171380 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2024-08-01cool#9352 unassign cursor on SdrObjEditView to avoid crashJaume Pujantell
On stress test with shapes and typing a segfault ocurred due to using a freed vcl::Cursor. On SdrObjEditView::SdrEndTextEdit, delete pOLV can delete the cursor remembered in pTECursorBuffer. But if it is set to the window before the deletion, it will be safely removed from the window. And on SdrObjEditView::ModelHasChanged a re-anchoring sets a cursor on the window that sholdn't be there and other SdrObjEditView can see, remeber, and use it even after this one died and freed the cursor. Change-Id: I3cfef3b68b77e6e6b49c3b68297a6a20e1f9394a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171184 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> (cherry picked from commit 3b5738ab1a646d089fa7cc59ffaeda7d011c1e07) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171288 Tested-by: Jenkins
2024-05-07loplugin:ostr in editengNoel Grandin
Change-Id: I7353710e1558d486130ace09844ce97150eb4c43 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167272 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-05-01WaE: C6011 Dereferencing NULL pointer warningsCaolán McNamara
Change-Id: Ic2231df89b900c17beac4627e3573b45aef0bc26 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166954 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-04-15Generalize basegfx::fround for templated return typeMike Kaganski
And use it when assigning to tools::Long Change-Id: I0814d7bac9cdd48191ba69c64e3b12a4973b3417 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166071 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-04-04loplugin:unusedmethodsNoel Grandin
Change-Id: I19f466a272c821185bea4b45efd34392e525c0d1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165785 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-04-03Base scale on 1.0, not on 100.0Mike Kaganski
Simplifies things by avoiding many repeated multiplications / divisions by 100 during calculations. Change-Id: Ib063d343549139c8d83e5b06570dc61f39ea0df6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165666 Tested-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-04-02editeng: combine scaling parameters into ScalingParameters structTomaž Vajngerl
This makes dealing with scaling parameters much clearer and it improves readability. Change-Id: I327b6530ef5587972cc0075390704754a33563a9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165632 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-03-15tdf#160213 Don't let insert empty line with numbering, end numberingGülşah Köse
We applied the writer's empty bullet line policy to impres. Now We don't let insert empty bullet lines in impress too. Instead we end numbering and start to write normal paragraph at the same line. Signed-off-by: Gülşah Köse <gulsah.kose@collabora.com> Change-Id: I28042d9db59b5622434da0826f8b760f01ad64f9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164799 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-03-06tdf#158773 reduce cost of ContentInfo::GetTextNoel Grandin
The specific path that is showing up on the perf profile is SdrTextObj::HasText -> EditTextObjectImpl::GetText -> ContentInfo::GetText Reduce the cost by 10% there by adding a method to check if we have text, and avoid the cost of constructing an OUString from an svl::SharedString. Also make use of the new method in places. Change-Id: Ibc2e0f61c4a2a6c33eea7f2cce09d692d82fd2b2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164449 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-02-09Clone Formatting in Impress: Include list attributeOliver Specht
Copies list type and list level from source to target paragraph(s). Also switches off lists, if source is not in a list. Change-Id: I260f1d7d9936476f16c355a3a09204b3fb4592d0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163054 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2024-02-01editeng: access ImpEditEngine with getImpl() not directTomaž Vajngerl
In EditEngine use getImpl() when accessing ImpEditEngine and not directly via the mpImpEditEngine member variable. Change-Id: I11f9ee21aec4f5e99fbe78bacab57ddc21580af7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162662 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-01-27ITEM: Cleanup some Pool stuff with DefaultsArmin Le Grand (allotropia)
Sorted out some methods at ItemPool which process Defaults to make more clear what is going on and what which method is doing. Change-Id: I2568d3e03d0a56a14b6fe4e04521e1a8e22c000b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162643 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2024-01-21editeng: change EditEngine getter to ref in {Imp}EditViewTomaž Vajngerl
{Imp}EditView always needs to have EditEngine set (or it would crash otherwise), so we can change the getter to return a referece instead of a pointer. This simplifies things a bit because we get rid of all the nullptr checks and makes the interface more clear. Also change direct access to mpEditEngine in {Imp}EditView to use getEditEngine() and getImpEditEngine() (returning a reference) instead. Change-Id: Ib8f9c565b8364144bb9c35c3093c4975af1970c7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162333 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-11-15tdf#158031 editeng: rename GetFieldAtCursorJustin Luth
because it doesn't really get the field at the cursor, and certainly is not similar to SelectFieldAtCursor. It first gets the field under the mouse. Then, if there is a selection, it gets the selected field, else it looks for the field on either side. There were LOTS of places where it probably had not been used properly. Most of those are gone now, so it is easier to rename the function. Change-Id: I1a64af24092582cf865509d2a474080258edd76c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159022 Reviewed-by: Justin Luth <jluth@mail.com> Tested-by: Jenkins
2023-11-15tdf#158031 editeng SID_COPY_HYPERLINK: use AlsoCheckBeforeCursorJustin Luth
This patch depends on prior patches for this bug report. This fixes nothing being copied if the mouse was right-clicked over that second half of the hyperlink (since a "smart" positioning set the cursor after the field instead of before it). Change-Id: I6c933224cd8d36f48f4e1f0aafaa1f45555e46d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159015 Reviewed-by: Justin Luth <jluth@mail.com> Tested-by: Jenkins
2023-11-11use more concrete type in ImpEditEngine::SetUndoManagerNoel Grandin
instead of dynamic_cast'ing to the type we want, and __ignoring__ the parameter if it is not, just adjust the type that we want, which luckily everything is already sending Change-Id: If083e11c9818cdcae199afc1261efbdb652e1c76 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159295 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-11-10tdf#157363 add HTML format when pasting into draw textOliver Specht
adds HTML to paste(special) in draw text in impress/draw/calc/writer Change-Id: Iaede82e1b3d48be362b70bd631e7f912b02b9822 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158659 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2023-10-11Drop o3tl::span, can use C++20 std::span directly nowStephan Bergmann
Change-Id: Ic21ff7bf48f07f7277979d52e99d2c5c268de83f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157825 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-07-16editeng/Outliner: Use RotateAround rather than open codingDr. David Alan Gilbert
In PaintBullet, use Tools::Point's RotateAround instead of open coding. Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org> Change-Id: I4f5a50a70d8fcadd2e5af60e365de80f2e9a271e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154393 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-06-29loplugin:unusedmethodsNoel Grandin
Change-Id: I95ab7581dec35b113cb657ce8e5ee27c89c73593 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153746 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-06-16tdf#103064 sw: use the comment style by default instead of DFMaxim Monastirsky
As part of that, language changes in the document's body are no longer applied to comments, as that would be a DF. Instead, the default language of comments is controlled via the style (see tdf#153805 for the use case). Change-Id: Icfa9a7334b52fe74292e82fa8daa01a15197e384 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153158 Tested-by: Jenkins Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
2023-04-04tdf#153880 sc: Make Calc text hyperlinks stand out moreBalazs Varga
Add underlining for links in Calc. TODO: unit test Change-Id: Idd5a7de7464d8ce443cdec756ac803491e73b0ea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149913 Tested-by: Jenkins Tested-by: Gabor Kelemen <kelemeng@ubuntu.com> Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2023-03-26tdf#90407 Change the auto-fit alg. to match better with OOXMLTomaž Vajngerl
The auto-fit algorithm has been tweaked to be more in-line with the expectations of OOXML. This means a couple of changes to what properties are scaled by the algorithm have been made: - most properties that influence the X axis position or size (for example indent) are not scaled down or changed by scaling. - properties that influence y axis position and size are scaled by a separate parameter (like in the OOXML). This is used in the auto-fit algorithm in a different way. - if line spacing is proportional, it is now scaled with the spacing parameter. Fixed line spacing doesn't get scaled. - the main scaling X,Y parameter only scales the fonts. - trying hard to scale the fonts to the nearest pt (point) value With this change the scaling is much more stable than it was before - for example it doesn't matter what the unscaled font size is, when it is scaled down to the text box size, it (should) always look the same (for example scaling from 32pt -> 10pt or 64pt -> 10pt or even 999pt -> 10pt). The algorithm is also rewritten to be better at finding a fit and is also better at find a good fit, but it can take more iterations by doing so (there are ways to improve it however). Previous algorithm used a linear search to converge to the best fit in less iterations, but the issue with that was that it could in some cases miss a solution (especially since change to floating point scaling parameter). The new algorithm now uses a binary search - always trying the middle of the search space. OOXML export and import was also changed to take advantage of the font scaling and spacing scaling parameters. The additional scaling at export that was needed to have consistent OOXML support was removed. Change-Id: I8f3bb8d43a01931f18bd7ffdf8e0ba40caa73d8b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149207 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-03-15tdf#114441: Convert use of sal_uLong to better integer typesNirnayK
In tp_AxisPosition.cxx the sal_uLong has been changed to sal_uInt32 as the GetValue returns a 32 bit integer In outliner.cxx the sal_uLong is converted to sal_uInt64 as the the sum of 2 sal_uInt32 might exceed 32 bits Change-Id: I560faf952520078f6a0747dfdec8a3039927e5c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148335 Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de> Tested-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2023-02-28tdf#148966: pptx: workaround for multiline fields followed by linebreaksSarper Akdemir
In Impress after fields that span multiple lines, a linebreak is already forced. (PowerPoint doesn't have such behaviour) Therefore if the imported pptx file has a line break after the multiline field - Impress ends up displaying an extra line break. This patch implements ignoring of a linebreak that follows after a multiline field during paint (when not in EditMode), using a compatibility flag. (IgnoreBreakAfterMultilineField) Change-Id: I1e6772424cc0eead06b53d104b06820038a81ea1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147408 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-12-02tdf#152094 retain more accuracy from RefDevMode::MSO1Caolán McNamara
do it like this to avoid adding another mapmode and to keep things "the same" as much as possible Change-Id: I1965aa545646f2d27b950d6335b2f608c3e4e04b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143475 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-03fix rendering of text when "fit to frame" is enabledTomaž Vajngerl
This changes the nStretchX and nStretchY from sal_uInt16 to double so the text in text boxes is rendered correctly (text should be resized to the same size as the textbox). Change-Id: Ic92d03043af0abe86f1b67ae15522d0176ebb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142064 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-08-14tdf#104921: Cleanup Kashida insertion logicKhaled Hosny
Communicate Kashida insertion positions in an explicit way. Rest of LibreOffice communicate adjustments to character widths (e.g. for justification or spacing) using so-called DX array. DX array is an array of absolute character positions (e.g. DX[n] is the position after character n from the start of the lines, and its widths is DX[n] - DX[n-1]). This DX array is modified also when Kashidas are inserted after a given character for Arabic justification, by expanding its width. VCL would use this to know where to insert the Kashidas and how many ones. But because DX array is used for both widths adjustments and kashida insertion, this turns out to be a source of bugs since VCL has tosecond guess the DX array to find which is pure width adjustment and which also involves Kashida insertion, and the heuristics it uses are fragile. This change adds a second array of booleans that records where Kashida is inserted and communicates it all the way from where Kashida insertion is decoded in Writer and down to VCL layout. This change passes the Kashida array only when it seems necessary (e.g. during drawing but not when measuring text since the DX array is enough in this case). Hopefully no places where Kashida insertion needs to be passed down were missed. A couple of glyph and layout flags that were used for old heuristics and no longer needed and are removed. This also fixes: tdf#87731 tdf#106309 tdf#108604 tdf#112849 tdf#114257 tdf#127176 tdf#145647 tdf#146199 Change-Id: I4ed0850ef2fdc3e9143341afac649e7e7d463c39 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138068 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-01remove NOP in editeng: HOLDDEPTHJustin Luth
The clause to get into this function already tells us that HOLDDEPTH is offf. The functions called in here do not turn it on, so there is no need to clear it at the end. This looks unchanged since initial import. I tested with an assert that the flags saved at the beginning of the clause were identical to the flags at the end, and ran a make check. No asserts. Change-Id: I28bc8725062895d94f387fa0780a16e40b4efe5b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137541 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
2022-07-28remove unused SETBULLETTEXT flag in editengJustin Luth
Already unused in initial import. Change-Id: I423442a2b036c64727af608fa667f1f8a427391f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137542 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
2022-06-09clang-tidy modernize-pass-by-value in editengNoel Grandin
Change-Id: Ibf912c597896a2ac0bf3ba8108f55c5018115bb0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135501 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-07tdf#107765: Check the updated language and apply it to the cell.Kohei Yoshida
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>
2022-05-05use more o3tl::getTokenNoel Grandin
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>
2022-04-30split comphelper::string::strip functions into String and view versionNoel Grandin
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>
2022-03-24tdf#114441: Convert use of sal_uLong into better integer typesTushar Jham
Change-Id: Ic564411644f9021825f8523af3ec1505352187bb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131948 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-03-01use SfxItemSet::GetItemIfSet in desktop..reportdesignNoel Grandin
Change-Id: Iaa0ddf4e97866d537a478e668e3c651a9eabc465 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130708 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-02-19tdf#147166 EditTextObjectImpl copy ctor doesn't exactly copy EditTextObjectImplCaolán McNamara
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>
2021-12-21loplugin:flatten in editeng..extensionsNoel Grandin
Change-Id: Ica8f0a6e3d30dba3b5a083e3c04522073de8303f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127233 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>