diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-07-30 09:11:35 +0200 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-08-12 12:53:19 +0000 |
commit | 545a0c19494a7d55e514831b9a4d81197ab01c57 (patch) | |
tree | 9fc232d2d9e6d6bebfd303f1fa07dadeba988a30 | |
parent | a81d95bbee794757176e811e2e37fc8ce7291450 (diff) |
tdf#89720 sw: do not create text range overlay for reply annotations
Regression from commit 0761f81643a6890457e9ef7d913ab5c88c2593a4 (123792:
complete annotations on text ranges feature, 2013-12-19), the problem
was that in case a comment had a reply, then both comments produced its
range overlay, and this repeated semi-transparent overlay resulted in
dark color.
Go back to the old behavior of just painting the overlay for the
non-reply comment; for real, partly overlapping comments showing the
exact boundaries of the overlapping overlays still makes sense.
(cherry picked from commit 780dd8c1cf5302ca503cf7b55357dace4d69beb9)
Conflicts:
sw/qa/extras/uiwriter/uiwriter.cxx
Change-Id: Ic2673a1a41146ff547262ba681b34a63f41aa8ff
Reviewed-on: https://gerrit.libreoffice.org/17669
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | sw/qa/extras/uiwriter/data/tdf89720.odt | bin | 0 -> 11283 bytes | |||
-rw-r--r-- | sw/qa/extras/uiwriter/uiwriter.cxx | 21 | ||||
-rw-r--r-- | sw/source/uibase/docvw/SidebarWin.cxx | 3 |
3 files changed, 23 insertions, 1 deletions
diff --git a/sw/qa/extras/uiwriter/data/tdf89720.odt b/sw/qa/extras/uiwriter/data/tdf89720.odt Binary files differnew file mode 100644 index 000000000000..0b86ec51a812 --- /dev/null +++ b/sw/qa/extras/uiwriter/data/tdf89720.odt diff --git a/sw/qa/extras/uiwriter/uiwriter.cxx b/sw/qa/extras/uiwriter/uiwriter.cxx index 1fc636cb761d..6b8b053588d8 100644 --- a/sw/qa/extras/uiwriter/uiwriter.cxx +++ b/sw/qa/extras/uiwriter/uiwriter.cxx @@ -33,6 +33,9 @@ #include <editeng/acorrcfg.hxx> #include <unotools/streamwrap.hxx> #include <test/mtfxmldump.hxx> +#include <postithelper.hxx> +#include <PostItMgr.hxx> +#include <SidebarWin.hxx> #include <svx/svdpage.hxx> #include <svx/svdview.hxx> @@ -98,6 +101,7 @@ public: void testTdf90883TableBoxGetCoordinates(); void testDde(); void testTdf89954(); + void testTdf89720(); CPPUNIT_TEST_SUITE(SwUiWriterTest); CPPUNIT_TEST(testReplaceForward); @@ -137,6 +141,7 @@ public: CPPUNIT_TEST(testTdf90883TableBoxGetCoordinates); CPPUNIT_TEST(testDde); CPPUNIT_TEST(testTdf89954); + CPPUNIT_TEST(testTdf89720); CPPUNIT_TEST_SUITE_END(); @@ -1044,6 +1049,22 @@ void SwUiWriterTest::testTdf89954() CPPUNIT_ASSERT_EQUAL(aExpected, aNodeIndex.GetNode().GetTextNode()->GetText()); } +void SwUiWriterTest::testTdf89720() +{ +#ifndef MACOSX + SwDoc* pDoc = createDoc("tdf89720.odt"); + SwView* pView = pDoc->GetDocShell()->GetView(); + SwPostItMgr* pPostItMgr = pView->GetPostItMgr(); + for (SwSidebarItem* pItem : *pPostItMgr) + { + if (pItem->pPostIt->IsFollow()) + // This was non-0: reply comments had a text range overlay, + // resulting in unexpected dark color. + CPPUNIT_ASSERT(!pItem->pPostIt->TextRange()); + } +#endif +} + CPPUNIT_TEST_SUITE_REGISTRATION(SwUiWriterTest); CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/sw/source/uibase/docvw/SidebarWin.cxx b/sw/source/uibase/docvw/SidebarWin.cxx index 6b8149650964..9825839ecf33 100644 --- a/sw/source/uibase/docvw/SidebarWin.cxx +++ b/sw/source/uibase/docvw/SidebarWin.cxx @@ -703,8 +703,9 @@ void SwSidebarWin::SetPosAndSize() mpTextRangeOverlay->HideSolidBorder(); } } - else + else if (!IsFollow()) { + // This window is not a reply, then draw its range overlay. mpTextRangeOverlay = sw::overlay::OverlayRanges::CreateOverlayRange( DocView(), |