Age | Commit message (Collapse) | Author |
|
Added a new FindAttrib method that searches in the attribs
a bit different.
The original FindAttrib searches in attribs as if their position
intervals are closed from both side [Start,End].
However, the actual attribs array was created using PaMs as positions,
and these are right-opened intervals [Start,End)
Change-Id: I9a46b6b27ce447366fc20af1b46fd60b5c745359
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161836
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162158
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change operator[] for getRef(..) method, so instead of returning
a pointer, return a reference to ParaPortion instead. This also
needs changes to the code, because we now need to make sure before
hand that the ParaPortion is really available in the list and when
this is not possible or convenient, the change the call to use
existing "SafeGetObject" instead. Add "exists" to check if the
object is available in the ParaPortionList.
In addition add "lastIndex" method to return the index of the
last ParaPortion in the list (shortcut for Count() - 1).
Change-Id: Id52c38f996468af51c75d50185110ec8502169e2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162071
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
We can better handle the lifecycle of the EditLine this way.
Change-Id: I6fa3834bfdc19576158370a2c82da0771529a7f2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162010
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
begin, end to make iteration work with range for
Change-Id: Ia64d4f8102485b257e190fc702e4aa734a81d866
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161530
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: Ie41d2baf84d230b9ee280859d390e24b9da70be7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161482
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Don't use raw pointers, when it is possible to move the unique_ptr
around into another object that is responsible for the object's
ownership.
The ContentNode is either in a vector in the EditDoc class or it
is moved to the EditUndoDelContent class for the undo/redo action.
Those 2 classes are responsible for freeing the ContentNode.
Change-Id: I977d8e418947bb48781f23575d62420260025e57
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161480
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I38b9b1a5ba48d73438865f5a040f2483f6814c40
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161479
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I403db061b6e3e184e97c5ec3ce5746d2fdff0749
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161478
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I8f7e242b66463baa9adcc0dee8eb8f4206630c7a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161477
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: Ibb1c9feb989a7dc3127e21c5a4dcda41b64fc84b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161476
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I3fefe4a9fc5d391b1c3af335893a084eaeddba4d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161475
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Also move some simple methods to header file and clean-up the
constructors and destructors.
Change-Id: I5113d785ecc71d36b4c6a480b15427ca68eb2e0b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161474
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I366706138f88c7865a7f1315af64bb4ab5b07ce3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161473
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Move the constructors into class body, cleanup operators so they
use more standard class based operators and use default for !=
as it will just be a neagtion of ==.
Change-Id: I1b99db6c9a82468ab76091eb93a5f3641024c65b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161365
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Move the constructors into class body, cleanup operators so they
use more standard class based operators and use default for !=
as it will just be a neagtion of ==.
Change-Id: I6534db60dcb23cb3daefb91d5f27579a690a9637
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161364
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: Ib56a0d308de700097470d26ebed3dc90d583b616
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161363
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I13c5d4f2ea0bd7ef942ac0cacb9dce4b58909b19
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161362
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Class is simple enough and more or less just wraps the vector
anyway.
Change-Id: I65a2980e8dd3c70b87e617920db623782d43b1b1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161361
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: Ic19aa0826050a768e9976d8d3db9eadb108607f0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161360
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I9856302967de59368dc60b3e01f4a36fdb97e00e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161359
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: Ia60ce07073725bf66bf299edaf7b3cd24cfe59c0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161358
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I21cac4a8899f96da420428c4eb110078c740615a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161357
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
ContentNode, CharAttribList, ContentAttribs constructors and
destructors can be simplified and in some cases removed (if they
are empty).
Change-Id: Id5b1d4c1934a9b0b6e0ed8a7fe2af0d41ce4b4fb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161356
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I2af96b6525ee0d4410200775ce4daf71bcc80db4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161354
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: Ia492dacafb88d42ab3dcdae8af9843d3586dffbf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161353
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
- Move methods into class def. as the class is simple enough.
- Prefix member variables.
- Remove unneeded includes.
Change-Id: Ide567c64dad3606f1a9faf837571ae2a5c3d69ee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161352
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I52f3f2a557db7058aa584ca7c1cee08eae58d726
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161351
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I54d0bbad4ef142705191672319774f26abf3e735
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161348
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: Icd97c2d382fd9495c67071e08362de0bd4985bbb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161350
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: Ib3682dd5df09162748aad4402108b2b3cec3a853
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161341
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Shapes and text boxes didn't show the optional hyphen
at line break.
Change-Id: I5cc842964fc91571e5c55995981de697da966b14
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160453
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
(*) Make all of it use a "Scoped" paradigm
(*) pass by value, no need to allocate on heap
(*) make all of the construction go via the *Access constructors, instead of it being some via the constructors and some via the Acquire*Access methods.
(*) take the Bitmap& by const& in the constructor, so we can avoid doing const_cast in random places.
Change-Id: Ie03a9145c0965980ee8df9a89b8714a425e18f74
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160293
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
It is not possible to use implCreateItemEntry/implCleanupItemEntry,
that is tooling limited *by purpose* to svl/Item/ItemSet stuff.
But what I can do is to do that SfxPoolItemHolder I already
talked/thought about. It is a helper that can safely hold a
SfxPoolItem in cases where an SfxItemSet is too expensive.
Think about it as a SfxItemSet for a single item. That solves
the problem why DirectPutItemInPool/DirectRemoveItemFromPool
is used in general (each usage is a 'compromize').
Did that now, works well. Editengine is now free of
DirectPutItemInPool/DirectRemoveItemFromPool.
Replaced ::CursorMoved with checkAndDeleteEmptyAttribs since all
these got static with no longer need to DirectRemoveItemFromPool.
Corrected create/delete counters.
Change-Id: Ia6e53f48ac2e479b461546515e68697039b5b628
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159931
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
...by moving the char8_t -> char reinterpret_cast out of any potential constexpr
paths into a new TranslateId::getId. And demonstrate constexpr'ability by
making the aCategories var in OApplicationIconControl::Fill
(dbaccess/source/ui/app/AppIconControl.cxx) constexpr. (And there might be more
such cases that could now be made constexpr.)
Change-Id: I0b4e3292faf8f6b901f9b9e934e1aa6bf0f583ff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157862
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Ic21ff7bf48f07f7277979d52e99d2c5c268de83f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157825
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Checked on jenkins using 'make check' and
+void SAL_CALL setDelegator(css::uno::Reference<css::uno::XInterface> const &) final { assert(false); }
Change-Id: I54b6d8224bd9d996781cfac6cf9846721a8c5d3d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156818
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
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>
|
|
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>
|
|
Added a new component docmodel, that has the document model types,
which only depend on other basic components. This is needed so the
types can be used in every relevant component - xmloff, oox, svx,
editeng,...
Introduces model::ThemeColor, which is a class used to store the
theme color data, including transformations (svx::Transformation).
For UNO use XThemeColor is added, and the implementation UnoThemeColor
which wraps svx::ThemeColor, so it can be tranported around.
Reactor all the code and tests to accomodate for this change.
Change-Id: I7ce6752cdfaf5e4d3b8e4d90314afa469dd65cfc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144847
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I80a2701d7c125dbe6c80f8c32b125c7b176a8bb4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142062
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: Ie9d18c19792962159e4e2ff4ddf91560323e42e6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142061
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I7e434076750ebdf4aeee621151fbe6dfc929c60f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140337
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
The emphasis is not quite right. An animation is made up a sequence of
*frames*, not bitmaps. A frame includes such things as position, size,
timeout till the next frame *as well as* a bitmap.
Note: had to regenerate a bunch of precompiled headers
Change-Id: Ib1959452653857555f41e01ac0151d08c41a3b1c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/76460
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
need to move it, because modules "below" vcl want
to use the debug output method
Change-Id: Ibcaf4089a1e0b3fcc0b5189c7ebf1aae90f50b48
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139791
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...so that its TOOLS_WARN_EXCEPTION can be used in
comphelper/source/misc/logging.cxx in a follow-up commit. (And while at it,
rename from diangose_ex.h to the more appropriate diagnose_ex.hxx. The
comphelper module is sufficiently low-level for this immediate use case, so use
that at least for now; o3tl might be even more suitable but doesn't have a
Library until now. Also, for the immediate use case it would have sufficed to
only break DbgGetCaughtException, exceptionToString, TOOLS_WARN_EXCEPTION,
TOOLS_WARN_EXCEPTION_IF, and TOOLS_INFO_EXCEPTION out of
include/tools/diagnose_ex.h into an additional new
include/comphelper/diagnose_ex.hxx, but its probably easier overall to just move
the complete include file as is.)
Change-Id: I9f3222d4ccf1a9ac29d7eb9ba1530d53e2affaee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138451
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
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>
|
|
and
cid#1504665 Big parameter passed by value
cid#1505368 Big parameter passed by value
revert the clang-tidy modernize-pass-by-value changes that coverity
warns about
Change-Id: Id92fdc8d1caeed9eaf7ff1e9e745938e5a971a34
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135803
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Ibf912c597896a2ac0bf3ba8108f55c5018115bb0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135501
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...which indexes into a std::vector. To avoid the blemish of accompanying
std::size_t variables potentially getting decremented past zero (even though
that would be technically OK and not UB), rework some accompanying code to avoid
that.
Change-Id: Ie1ab2d079a7d8d34fceda1da2d31fa6a8c4fad6c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134255
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.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>
|