Files
core/sw/CppunitTest_sw_core_doc.mk
Miklos Vajna eef0dfed81 tdf#166319 sw interdependent redlines: add UI to create format inside insert
The bugdoc has <ins>AABBCC</ins> in it, selecting BB and pressing e.g.
bold simply applied the formatting without creating a redline, even if
the change is from another user.

This was working for the case when a delete redline is created on top of
an insert one, but was broken for insert-then-format: simply code was
missing to try to handle the non-IsOwnRedline() case.

Fix the problem by extracting this "split existing redline as necessary,
then turn the overlapping range into a hierarchical redline" logic from
sw::DocumentRedlineManager::PreAppendDeleteRedline() into a new
PreAppendForeignRedline(), and next to the old insert-then-delete case,
also use it for insert-then-format and delete-then-format.

The new PreAppendForeignRedline() has a single part where it deals with
moves for insert-then-delete, disable that for insert-then-format, since
that's not relevant. Undo still needs to be fixed. Finally keep the
logic unchanged the own delete/insert + own format redline case for now,
we want different behavior for insert-then-delete and insert-then-format
in this case, so intentionally not sharing that.

Change-Id: Ifd2903f39d92a1bee96de0a38976eb5111c49223
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186423
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2025-06-12 19:38:58 +02:00

78 lines
1.8 KiB
Makefile

# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#*************************************************************************
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
#*************************************************************************
$(eval $(call gb_CppunitTest_CppunitTest,sw_core_doc))
$(eval $(call gb_CppunitTest_use_common_precompiled_header,sw_core_doc))
$(eval $(call gb_CppunitTest_add_exception_objects,sw_core_doc, \
sw/qa/core/doc/doc \
sw/qa/core/doc/DocumentRedlineManager \
))
$(eval $(call gb_CppunitTest_use_libraries,sw_core_doc, \
comphelper \
cppu \
cppuhelper \
editeng \
sal \
sfx \
subsequenttest \
svxcore \
sw \
swqahelper \
test \
unotest \
utl \
vcl \
svt \
tl \
svl \
))
$(eval $(call gb_CppunitTest_use_externals,sw_core_doc,\
boost_headers \
libxml2 \
))
$(eval $(call gb_CppunitTest_set_include,sw_core_doc,\
-I$(SRCDIR)/sw/inc \
-I$(SRCDIR)/sw/source/core/inc \
-I$(SRCDIR)/sw/source/uibase/inc \
-I$(SRCDIR)/sw/qa/inc \
$$(INCLUDE) \
))
$(eval $(call gb_CppunitTest_use_api,sw_core_doc,\
udkapi \
offapi \
oovbaapi \
))
$(eval $(call gb_CppunitTest_use_ure,sw_core_doc))
$(eval $(call gb_CppunitTest_use_vcl,sw_core_doc))
$(eval $(call gb_CppunitTest_use_rdb,sw_core_doc,services))
$(eval $(call gb_CppunitTest_use_custom_headers,sw_core_doc,\
officecfg/registry \
))
$(eval $(call gb_CppunitTest_use_configuration,sw_core_doc))
$(eval $(call gb_CppunitTest_use_uiconfigs,sw_core_doc, \
modules/swriter \
))
$(eval $(call gb_CppunitTest_use_more_fonts,sw_core_doc))
# vim: set noet sw=4 ts=4: