summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sw/inc/viewopt.hxx5
-rw-r--r--sw/qa/extras/tiledrendering/data/hiddenLoremIpsum.docxbin6807 -> 0 bytes
-rw-r--r--sw/qa/extras/tiledrendering/tiledrendering.cxx53
-rw-r--r--sw/source/uibase/config/viewopt.cxx6
4 files changed, 39 insertions, 25 deletions
diff --git a/sw/inc/viewopt.hxx b/sw/inc/viewopt.hxx
index 6aaf24b65f39..a6fd5eea8a57 100644
--- a/sw/inc/viewopt.hxx
+++ b/sw/inc/viewopt.hxx
@@ -486,7 +486,10 @@ public:
void SetTreatSubOutlineLevelsAsContent(bool b)
{ m_nCoreOptions.bTreatSubOutlineLevelsAsContent = b; }
- bool IsShowHiddenChar(bool bHard = false) const;
+ bool IsShowHiddenChar(bool bHard = false) const
+ { return !m_bReadonly && m_nCoreOptions.bCharHidden &&
+ (m_nCoreOptions.bViewMetachars || bHard); }
+
void SetShowHiddenChar( bool b )
{ m_nCoreOptions.bCharHidden = b; }
diff --git a/sw/qa/extras/tiledrendering/data/hiddenLoremIpsum.docx b/sw/qa/extras/tiledrendering/data/hiddenLoremIpsum.docx
deleted file mode 100644
index 0802f6e7d314..000000000000
--- a/sw/qa/extras/tiledrendering/data/hiddenLoremIpsum.docx
+++ /dev/null
Binary files differ
diff --git a/sw/qa/extras/tiledrendering/tiledrendering.cxx b/sw/qa/extras/tiledrendering/tiledrendering.cxx
index ffa997cfdd67..b9d842529d68 100644
--- a/sw/qa/extras/tiledrendering/tiledrendering.cxx
+++ b/sw/qa/extras/tiledrendering/tiledrendering.cxx
@@ -757,6 +757,7 @@ namespace {
bool m_bOwnSelectionSet;
bool m_bViewSelectionSet;
OString m_aViewSelection;
+ OString m_aViewRenderState;
bool m_bTilesInvalidated;
bool m_bViewCursorVisible;
bool m_bGraphicViewSelection;
@@ -904,6 +905,11 @@ namespace {
m_bViewLock = aTree.get_child("rectangle").get_value<std::string>() != "EMPTY";
}
break;
+ case LOK_CALLBACK_VIEW_RENDER_STATE:
+ {
+ m_aViewRenderState = pPayload;
+ }
+ break;
case LOK_CALLBACK_REDLINE_TABLE_SIZE_CHANGED:
{
m_aRedlineTableChanged.clear();
@@ -3044,24 +3050,6 @@ CPPUNIT_TEST_FIXTURE(SwTiledRenderingTest, testPilcrowRedlining)
comphelper::dispatchCommand(".uno:ControlCodes", {});
}
-CPPUNIT_TEST_FIXTURE(SwTiledRenderingTest, testShowHiddenCharsWhenShowFormatting)
-{
- // In LOKit, ignore the config setting for
- // Tools - Options - Writer - Formatting Aids - Display Formatting - Hidden characters
- // and always show hidden content when showing pilcrow formatting
-
- createSwDoc("hiddenLoremIpsum.docx");
-
- // Since LOKit is active in TiledRendering, turning on "Show formatting" will show hidden text.
- comphelper::dispatchCommand(".uno:ControlCodes", {}); // show format marks
- Scheduler::ProcessEventsToIdle();
-
- // Without this patch, no body text would be visible - so only 1 page instead of 3.
- CPPUNIT_ASSERT_EQUAL(3, getPages());
-
- comphelper::dispatchCommand(".uno:ControlCodes", {});
-}
-
CPPUNIT_TEST_FIXTURE(SwTiledRenderingTest, testDoubleUnderlineAndStrikeOut)
{
// Load a document where the tracked text moving is visible with
@@ -4131,6 +4119,35 @@ CPPUNIT_TEST_FIXTURE(SwTiledRenderingTest, testRedlineTooltip)
CPPUNIT_ASSERT(vec[3].toInt32() != 0);
}
+// toggling Formatting Marks on/off for one view should have no effect on other views
+CPPUNIT_TEST_FIXTURE(SwTiledRenderingTest, testToggleFormattingMarks)
+{
+ SwXTextDocument* pXTextDocument = createDoc();
+ int nView1 = SfxLokHelper::getView();
+
+ SfxLokHelper::createView();
+ int nView2 = SfxLokHelper::getView();
+ pXTextDocument->initializeForTiledRendering(uno::Sequence<beans::PropertyValue>());
+
+ SfxLokHelper::setView(nView1);
+ ViewCallback aView1;
+
+ SfxLokHelper::setView(nView2);
+ ViewCallback aView2;
+
+ OString sOrigView2RenderState = pXTextDocument->getViewRenderState();
+
+ comphelper::dispatchCommand(".uno:ControlCodes", {});
+
+ Scheduler::ProcessEventsToIdle();
+
+ // 1. change to view #2 shouldn't result in an update to view #1 renderstate
+ CPPUNIT_ASSERT(aView1.m_aViewRenderState.isEmpty());
+ // 2. toggling on ControlCodes should result in view #2 render state reporting
+ // 'P' for Pilcrow
+ CPPUNIT_ASSERT_EQUAL(OString("P" + sOrigView2RenderState), aView2.m_aViewRenderState);
+}
+
CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/uibase/config/viewopt.cxx b/sw/source/uibase/config/viewopt.cxx
index fb591899ad37..fba5bae14424 100644
--- a/sw/source/uibase/config/viewopt.cxx
+++ b/sw/source/uibase/config/viewopt.cxx
@@ -186,12 +186,6 @@ bool SwViewOption::IsTreatSubOutlineLevelsAsContent() const
return m_nCoreOptions.bTreatSubOutlineLevelsAsContent;
}
-bool SwViewOption::IsShowHiddenChar(bool bHard) const
-{
- bool bCharHidden = comphelper::LibreOfficeKit::isActive() ? true : m_nCoreOptions.bCharHidden;
- return !m_bReadonly && bCharHidden && (m_nCoreOptions.bViewMetachars || bHard);
-}
-
void SwViewOption::DrawRect( OutputDevice *pOut,
const SwRect &rRect, ::Color nCol )
{