diff options
author | Attila Szűcs <attila.szucs@collabora.com> | 2023-08-28 07:40:20 +0200 |
---|---|---|
committer | Caolán McNamara <caolan.mcnamara@collabora.com> | 2023-10-14 11:55:27 +0200 |
commit | 52fa7aed48632166e064e6a227e034f0981c4205 (patch) | |
tree | 7980950d1b52c59f142a8b6f23f378acba0c4c65 /sw/inc/redline.hxx | |
parent | c72d5d787f7a3024f2108d6d6e192b158fb144ed (diff) |
tdf#157662 SW: redline: accept/reject done for all parts
Tracked changes divided into smaller parts when they are
overlapping. But if the Author, and Change time, and some more
is equal, then they can be combined into 1 change later..
Modified AcceptRedline / RejectRedline, to seek for all these parts
that are neightbour to each other, and can be combined, and
reject/accept them all at once. Even those that are deepen in the tree.
i.e.: insert that have a delete redline too.
when rejecting an insert redline, that have a delete redline too,
the delete redline is accepted instead. (have the same result.)
when accepting an insert redline, that have a delete redline too,
The delete redline remains, while the insert is deleted. (=accepted)
made some limitations to lessen the probability of regression:
No anonym, No table, No seqNo, and dont use it in RejectAll/AcceptAll
Added unittest to check that accept/reject handle more redlines
at once, but not too many..
Change-Id: Ibd0a39f7847b22b279a797babb30ba162e70a513
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157950
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Diffstat (limited to 'sw/inc/redline.hxx')
-rw-r--r-- | sw/inc/redline.hxx | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sw/inc/redline.hxx b/sw/inc/redline.hxx index 7ef6b9cad20f..d8eba6480618 100644 --- a/sw/inc/redline.hxx +++ b/sw/inc/redline.hxx @@ -144,6 +144,7 @@ public: void SetMoved() { m_bMoved = true; } bool IsMoved() const { return m_bMoved; } bool CanCombine( const SwRedlineData& rCmp ) const; + bool CanCombineForAcceptReject( const SwRedlineData& rCmp ) const; // ExtraData gets copied, the pointer is therefore not taken over by // the RedlineObject @@ -261,6 +262,7 @@ public: void PushData( const SwRangeRedline& rRedl, bool bOwnAsNext = true ); bool PopData(); + bool PopAllDataAfter(int depth); /** Returns textual description of a redline data element of |