Age | Commit message (Collapse) | Author |
|
Fix Undo of embedded tracked deletions in paragraphs, for example
Undo of deletions Lorem->Loem->Lm resulted only Loem, moreover
a crash in the case of typing (not tracked) text before the
tracked deletions.
Now the last tracked deletion is chosen by the biggest
SwRangeRedline ID during Undo instead of the lost/modified
redline range in case of hidden redlines of the ChangesInMargin
mode.
Note: revert commit 4ad0459494303745b377c848c681a747f294fc64
(tdf#138135: sw ChangesInMargin: join characters at backspac) to
avoid crash on extra Undo (tdf#137769). Showing deleted
character sequence in margin needs grouping of hidden redlines,
as for managing tracked changes.
Change-Id: Ia9dab5cbbc08f39e05ff8e499efff37bc825c624
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106582
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
... and get rid of the SwClientNotifyCall.
Change-Id: I2118290944c21e9773c359109e60e7778459a41f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106365
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
This would set CursorType::SelectionInTable but leave m_pOwnTable
and m_pOwnStartNode uninitialised, causing
sw/source/core/unocore/unoobj2.cxx:399: SwXParagraphEnumeration: table type but no start node or table
and then the enumeration would return the table it's in as the first
element, which is quite annoying.
Refactor the creation of SwXParagraphEnumeration to prevent this.
Change-Id: I4e9e3456bdf66b9822d19ad985a20b094e6bbba4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106532
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
|
|
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Change-Id: I4bb84c3f401aba8a3dede9cec3a7f2187a2ba02a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106473
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
The problem happens if a section starts or ends with a table:
SwXTextSection::getAnchor() may return a SwXTextRange with one position
in a table cell and another position in a different table cell, or
outside the table, neither of which is valid to set the cursor via
SwXTextViewCurosor::gotoRange().
Introduce a new special mode for SwXTextRange, RANGE_IS_SECTION,
analogous to RANGE_IS_TABLE but actually working.
Only SwXTextView can be used to create XTransferables, and it requires
selecting first via either the SwXTextViewCursor or select().
It's currently not possible to select the content of a section in the
ViewShell in these problematic cases, and would be some effort to add.
So add a new interface XTransferableTextSupplier that can be used to
create XTransferable from the SwXTextRange with RANGE_IS_SECTION.
The core CopyRange() and DeleteRange() functions can deal with SwPaMs
that start or end in non-text-nodes, so pass the whole section content to
these in SwXTextRange::setString() and in
SwXTextView::getTransferableFromTextRange().
Change-Id: If7e3210e8a26f5618317c294f2b2f3ed5c217f1c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106293
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
|
|
which means that some call sites have to change to use
unicode string literals i.e. u"foo" instead of "foo"
Change-Id: Ie51c3adf56d343dd1d1710777f9d2a43ee66221c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106125
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This completes commit ab97fe1b9b988936bf96b198387eaf3ff00fed61.
Change-Id: Ie73ee1ee763034cb03a5a6d7acf20f145e34056f
|
|
“in order to” redundant
Change-Id: I0f361823d7f9af5de4e8c62011f66d59670346d4
|
|
Change-Id: I0e961844836d60e96bcda178612fc0372a55cef1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106319
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
- also move SwCellFrame from Modify to SwClientNotify
Change-Id: I9e486623a5a3245726e13552223a76610d1d3494
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106313
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
The original text of the shape is moved to the new
(text frame of the) text box instead of overlapping
the text content added later.
Change-Id: I2ad8865cdbe3c424c70985737ecda3ac9315cabc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104942
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
... similar to commit 405661a98f01416c596083262691cedd941733a1.
Change-Id: Id4faa6334816f361d5543ba38af50b85dbc2b2a6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106127
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
|
|
Change-Id: I6243bc95129bf81a124d006ce0fc1aa1b5f618bb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105718
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Tested-by: Jenkins
|
|
Change-Id: Ib8fb5b223a1b3cc05a75ecfcc7c763bbb3928fae
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105965
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
Change-Id: I967d458be7cd7c68ff410357da0cb0163dcb454e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105908
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
...and "Direct Formatting" renamed to "Character Direct Formatting"
Change-Id: I9fe711bfebfaa90a9797b6e1a47e41a5f307170b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105843
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Words deleted by pressing multiple backspaces weren't shown
on margin, only their first letter.
Change-Id: I2f5d0bb057250d3bfd788e1007f1ad24f8c3c2fd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105807
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Change-Id: I8b36fd0dde6f4e7f83cf73dc8b6aefb196babb8f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105571
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
Change-Id: I1da6cd45c5039f2b36ae6d8a64febc69eda9c6d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105569
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
found by grepping and changed by hand.
Change-Id: I3c720859dba430fde3abc76c6c5cb58269efaf4b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105512
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This is only for the 64-bit windows platform.
I don't see the point in messing with the 32-bit platforms, they are
(a) become more and more rare
(b) unlikely to even have enough available process memory to load extremely large calc spreadsheets
The primary problem we are addressing here is bringing
Windows-64bit up to same capability as Linux-64bit when it
comes to handling very large spreadsheets,
which is caused by things like tools::Rectangle using "long",
which means that all the work done to make Libreoffice on 64-bit
Linux capable of loading large spreadsheets is useless on Windows,
where long is 32-bit.
The operator<< for tools::Rectangle needs to be inside
the tools namespace because of an interaction with the cppunit
printing template stuff that I don't understand.
SalPoint changed to use sal_Int32, since it needs to be
the same definition as the Windows POINT structure.
Change-Id: Iab6f1af88847b6c8d46995e8ceda3f82b6722ff7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104913
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
For converting a string to a double, we need to know the language of the
string. We should not assume, that this language is always the system locale,
because the system locale can change during a session.
Change-Id: Ic851d7430bba7392c7e2c8b36912467eee935f9c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96776
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
fix of commit ac84cf7dda4a5150ff23e112ee16f00b8de8ec7c
(tdf#83419 sw change tracking: fix bad autocorrect).
Now automatic sentence capitalization and
correction of two initial capitals are allowed
again, if there is a tracked deletion in the same
paragraph before the modified word.
Change-Id: I8c583df2f14468b47079019009e7937f559b652b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105477
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Fontworks should be warned about coz they reprezent a stylized text,
which is hard to recognize for digital readers.
Check is added to checkObject() function as fontwork is an object.
Change-Id: I2ed5a5784dfe96bbf05ec7cf4c09dc97e1fb29d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105436
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I929b2eb5824580d106b2505ea6b2d0a59248a6f6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104856
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
with unique values so that, e.g.
if (pObj->GetObjIdentifier() == OBJ_LINE)
is only true if pObj is a SdrPathObj and not a E3dScene
Change-Id: I30c91e57eb27141390c644dec42e2a4bee96edf0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105374
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
a) make m_nFormSfxId simply follow the slotid, like its sibling m_nDrawSfxId
b) move the previously selected form object into a variable of its own
as m_eFormObjKind instead of ~abusing m_nFormSfxId to do that
c) pass which form object a ConstFormControl creates as an explicit ctor arg
instead of providing that information by overwriting the slotid that
its ::Activate gets passed
making it follow the equivalent calc pattern and separating these very
different slot ids and object identifiers
In testing, with the form controls toolbar, clicking on a toolbaritem
toggles it on, and drawing in writer gives the expected control via
ConstFormControl ctor, and clicking the same toolbaritem toggles it off
hitting the expected SID_FM_LEAVE_CREATE case.
Change-Id: I514f6adc38f706c82f0268abf5c5e73cef5b902c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105405
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Make tooltips identical for "Ctrl over heading" or
"mouse over left margin arrow", because identical
functionality and action.
typo repair:
STR_ClICK_OUTLINE_CONTENT_TOGGLE_VISIBILITY -->
STR_CLICK_OUTLINE_CONTENT_TOGGLE_VISIBILITY
Change-Id: Ica6508140fe91423f25368aaca6302008756f905
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105224
Tested-by: Jenkins
Reviewed-by: Seth Chaiklin <sdc.blanco@youmail.dk>
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
|
|
only remaining uses are:
- in calbck.{c,h}xx
- in uwriter unittests
- as a parameter of SwClientNotify
all other uses have been replaced with sw::BroadcastingModify, which
contains sw::BroadcastingMixin functionality. Existing code should then
be moved to sw::BroadcastingMixin (only) as soon as possible.
Change-Id: Ief7895597633c2fcb97e1cbc182905d75feb1567
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105320
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
Headings' levels order is important for readers and converters.
Check firstly finds out if the node is a TextNode, then gets it's OutlineLevel.
If it is greater than 0, i.e. the node is a heading, then it checks if
node's heading level is greater then previous one's by more than 1.
If so, warning is thrown.
So the first heading level is always 1 and no heading levels are greater then previous
by more than 1.
Change-Id: I39d230d747699eddd36610193bde9b23f348e257
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105274
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: I9c65de16bf1f1a604c0045444203a16f30f2833e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105318
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
- make all classes that used to be SwModify to be
sw::BroadcastingModify's
- this makes sure they are all sw::BroadcastMixin too,
so all clients of SwModify can be migrated over to use
sw::BroadcastMixin (only) instead
Change-Id: Idd217b98f9c20f01e0788bc65af796050dbb5699
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105207
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
... and there was much rejoicing.
Change-Id: Ib7ed5a897f2a1e7490462eb47578a8efd22a669e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105233
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
sw::WriterListener has better debug messages anyway.
Change-Id: I24ae3fabe885002d250ad30e596973c26316abcc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105232
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
... and get rid of ModifyNotifications along the way.
Change-Id: I10fc9d24743d50cef771ff63dae004d31dce1846
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105195
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
Change-Id: I858e0c26849f227f821966d3627114b276b5717d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105185
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
* Implement text::XTextField in SwXFieldmark
* That requires overriding XTextContent, just forward to SwXBookmark
* Also override XServiceInfo implementation in SwXFieldmark
* Add a PropertySetInfo for SwXFieldmark, which doesn't support "Hidden"
or "Condition" properties of SwXBookmark
* in SwXFieldmark::setFieldType(), only allow sensible new types
* fix DomainMapper_Impl assumptions that if it implements XTextField
it can't be a fieldmark, which caused CppunitTest_sw_ooxmlexport10
testTdf92157 to fail with a SAXException caused by some disposed
SwXTextCursor
Change-Id: I1ae2e9cb99ea784040874517e4d1af7e59d24405
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105083
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
|
|
Change-Id: I6c1fda1d92c4e3511113fcd8a8bc09efba96e3e3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105180
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
Change-Id: Idb6c0a6cca5df729037067f6def5594eed2cca19
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105178
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
- also: introduce SwFormat::RemoveAllUnos() as a member function,
because that is where this belongs ...
- ... and then also use it elsewhere if possible.
Change-Id: I9cc073a41ef1077429f648309806fa433bdcec99
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105173
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
Change-Id: Ic34b0b7a3ad906da5f25103f32a28e2a3efd82fb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105150
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
Change-Id: I380b6c173d35865188c6d65f356a6e5d1165bd1e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105138
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
move IsShowOutlineContentVisibilityButton out of header to
avoid having to add extra include paths to all the unit
test makefiles.
Change-Id: I2763390e07cd85b8f09b6f2ad7702039daecb22f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105100
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
The old SwClient/SwModify combo is a questionable implementation of the
observer pattern (among other things). The one thing the observer
pattern is good for is dependency inversion: The creator of the message
does not need to know the type of the receiver. Calling the message
handling on the receiver directly introduces tight coupling and entirely
defeats the purpose, leaving us with the worst of both worlds.
In such case, at least be honest about the tight coupling and call a
somewhat more explicit member function of the target.
Thus introduce SwFootNoteInfo::UpdateFormatOrAttr,
SwContentNode::UpdateAttr, remove some useless SwFormatChg clutter in
Set{Foot,End}NodeInfo, and check for some invariants in
SwContentNode::SwClientNotify to limit some of the "a message are two
void pointers" madness.
Change-Id: I32a8d6973231bb5f65c9e144be72d5bcf98f3f44
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105104
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
Change-Id: I9a5dc35a71725969bc4b75f0444ba663271e3228
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105079
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
Change-Id: Ic1dc600e75cb4f6a7a0aa86714a87e3ec5658cb0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104926
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
in places where it is obvious we only need a sal_Int32, because
we are dealing with rows and columns, and not even calc needs
more than 32 bits for that.
Change-Id: I114417e639c224d45bfd9fc6838122ab195eefa3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104584
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
... and also use it from SwNode.
Change-Id: Icc71eabbc918aa7d61fb0bb4b72c3dd7d91cdbff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104981
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
Change-Id: Icda36d5226a2eca63b9ed56ac9ac5be768a4d117
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104977
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
Change-Id: Ib647878c129171e5d633a783a262a56f4c1fb7af
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104969
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|