diff options
-rw-r--r-- | sw/inc/viewopt.hxx | 5 | ||||
-rw-r--r-- | sw/qa/extras/tiledrendering/data/hiddenLoremIpsum.docx | bin | 6807 -> 0 bytes | |||
-rw-r--r-- | sw/qa/extras/tiledrendering/tiledrendering.cxx | 53 | ||||
-rw-r--r-- | sw/source/uibase/config/viewopt.cxx | 6 |
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 Binary files differdeleted file mode 100644 index 0802f6e7d314..000000000000 --- a/sw/qa/extras/tiledrendering/data/hiddenLoremIpsum.docx +++ /dev/null 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 ) { |