Kaydet (Commit) 780dd8c1 authored tarafından Miklos Vajna's avatar Miklos Vajna

tdf#89720 sw: do not create text range overlay for reply annotations

Regression from commit 0761f816 (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.

Change-Id: Ic2673a1a41146ff547262ba681b34a63f41aa8ff
üst cebfe56a
......@@ -37,6 +37,9 @@
#include <unocrsrhelper.hxx>
#include <unotbl.hxx>
#include <pagedesc.hxx>
#include <postithelper.hxx>
#include <PostItMgr.hxx>
#include <SidebarWin.hxx>
#include "com/sun/star/text/XDefaultNumberingProvider.hpp"
#include "com/sun/star/awt/FontUnderline.hpp"
......@@ -138,6 +141,7 @@ public:
void testShapeAnchorUndo();
void testDde();
void testTdf89954();
void testTdf89720();
CPPUNIT_TEST_SUITE(SwUiWriterTest);
CPPUNIT_TEST(testReplaceForward);
......@@ -200,6 +204,7 @@ public:
CPPUNIT_TEST(testShapeAnchorUndo);
CPPUNIT_TEST(testDde);
CPPUNIT_TEST(testTdf89954);
CPPUNIT_TEST(testTdf89720);
CPPUNIT_TEST_SUITE_END();
private:
......@@ -2063,6 +2068,20 @@ void SwUiWriterTest::testTdf89954()
CPPUNIT_ASSERT_EQUAL(aExpected, aNodeIndex.GetNode().GetTextNode()->GetText());
}
void SwUiWriterTest::testTdf89720()
{
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());
}
}
CPPUNIT_TEST_SUITE_REGISTRATION(SwUiWriterTest);
CPPUNIT_PLUGIN_IMPLEMENT();
......
......@@ -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(),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment