summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorParis Oplopoios <paris.oplopoios@collabora.com>2023-03-08 17:34:02 +0200
committerMiklos Vajna <vmiklos@collabora.com>2023-03-16 08:41:38 +0000
commit1916d161902bdd52b8cfa5b29153c8f8c39fce52 (patch)
treefdb789357ef4e58e3f26066235b5928efcf63437
parentee8e9b993595e728f827a5fe6ab1ae5fb1f6aaae (diff)
De-static-izing colors in SwViewOption
The view colors in SwViewOption were static which means that two separate views couldn't have different colors Change-Id: Id595b00ba56bdb210ad1a784cf76e99ead0d6014 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148481 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
-rw-r--r--sw/inc/viewopt.hxx172
-rw-r--r--sw/source/core/access/accframe.cxx2
-rw-r--r--sw/source/core/access/accpara.cxx2
-rw-r--r--sw/source/core/access/accportions.cxx2
-rw-r--r--sw/source/core/inc/wrong.hxx8
-rw-r--r--sw/source/core/layout/paintfrm.cxx69
-rw-r--r--sw/source/core/text/atrstck.cxx8
-rw-r--r--sw/source/core/text/inftxt.cxx16
-rw-r--r--sw/source/core/text/porfld.cxx4
-rw-r--r--sw/source/core/text/porref.cxx2
-rw-r--r--sw/source/core/text/porrst.cxx10
-rw-r--r--sw/source/core/text/portox.cxx2
-rw-r--r--sw/source/core/text/portxt.cxx4
-rw-r--r--sw/source/core/text/txtdrop.cxx4
-rw-r--r--sw/source/core/txtnode/fntcache.cxx2
-rw-r--r--sw/source/core/view/viewimp.cxx2
-rw-r--r--sw/source/core/view/viewsh.cxx3
-rw-r--r--sw/source/filter/html/htmlfldw.cxx8
-rw-r--r--sw/source/ui/chrdlg/drpcps.cxx8
-rw-r--r--sw/source/ui/config/optpage.cxx5
-rw-r--r--sw/source/ui/envelp/envlop1.cxx10
-rw-r--r--sw/source/ui/envelp/labfmt.cxx4
-rw-r--r--sw/source/ui/misc/outline.cxx12
-rw-r--r--sw/source/uibase/app/apphdl.cxx11
-rw-r--r--sw/source/uibase/config/viewopt.cxx300
-rw-r--r--sw/source/uibase/docvw/AnnotationWin2.cxx8
-rw-r--r--sw/source/uibase/docvw/DashedLine.cxx6
-rw-r--r--sw/source/uibase/docvw/HeaderFooterWin.cxx4
-rw-r--r--sw/source/uibase/docvw/PageBreakWin.cxx2
-rw-r--r--sw/source/uibase/docvw/UnfloatTableButton.cxx3
-rw-r--r--sw/source/uibase/docvw/contentcontrolaliasbutton.cxx3
-rw-r--r--sw/source/uibase/docvw/edtwin.cxx2
-rw-r--r--sw/source/uibase/frmdlg/colex.cxx2
-rw-r--r--sw/source/uibase/inc/DashedLine.hxx5
-rw-r--r--sw/source/uibase/uiview/view0.cxx28
-rw-r--r--sw/source/uibase/uiview/viewdraw.cxx2
-rw-r--r--sw/source/uibase/uno/unomod.cxx20
-rw-r--r--sw/source/uibase/uno/unotxdoc.cxx4
38 files changed, 424 insertions, 335 deletions
diff --git a/sw/inc/viewopt.hxx b/sw/inc/viewopt.hxx
index c399aa6b94dd..4c9dcf8e071b 100644
--- a/sw/inc/viewopt.hxx
+++ b/sw/inc/viewopt.hxx
@@ -193,30 +193,62 @@ namespace o3tl {
template<> struct typed_flags<ViewOptFlags> : is_typed_flags<ViewOptFlags, 0x01ff> {};
}
+struct SwViewColors
+{
+ SwViewColors();
+ SwViewColors(const svtools::ColorConfig& rConfig);
+ bool operator==(const SwViewColors& rOther) const
+ {
+ return m_aDocColor == rOther.m_aDocColor
+ && m_aDocBoundColor == rOther.m_aDocBoundColor
+ && m_aObjectBoundColor == rOther.m_aObjectBoundColor
+ && m_aAppBackgroundColor == rOther.m_aAppBackgroundColor
+ && m_aTableBoundColor == rOther.m_aTableBoundColor
+ && m_aFontColor == rOther.m_aFontColor
+ && m_aIndexShadingsColor == rOther.m_aIndexShadingsColor
+ && m_aLinksColor == rOther.m_aLinksColor
+ && m_aVisitedLinksColor == rOther.m_aVisitedLinksColor
+ && m_aDirectCursorColor == rOther.m_aDirectCursorColor
+ && m_aTextGridColor == rOther.m_aTextGridColor
+ && m_aSpellColor == rOther.m_aSpellColor
+ && m_aGrammarColor == rOther.m_aGrammarColor
+ && m_aSmarttagColor == rOther.m_aSmarttagColor
+ && m_aFieldShadingsColor == rOther.m_aFieldShadingsColor
+ && m_aSectionBoundColor == rOther.m_aSectionBoundColor
+ && m_aPageBreakColor == rOther.m_aPageBreakColor
+ && m_aScriptIndicatorColor == rOther.m_aScriptIndicatorColor
+ && m_aShadowColor == rOther.m_aShadowColor
+ && m_aHeaderFooterMarkColor == rOther.m_aHeaderFooterMarkColor
+ && m_nAppearanceFlags == rOther.m_nAppearanceFlags;
+ }
+ Color m_aDocColor; // color of document boundaries
+ Color m_aDocBoundColor; // color of document boundaries
+ Color m_aObjectBoundColor; // color of object boundaries
+ Color m_aAppBackgroundColor; // application background
+ Color m_aTableBoundColor; // color of table boundaries
+ Color m_aFontColor;
+ Color m_aIndexShadingsColor; // background color of indexes
+ Color m_aLinksColor;
+ Color m_aVisitedLinksColor;
+ Color m_aDirectCursorColor;
+ Color m_aTextGridColor;
+ Color m_aSpellColor; // mark color of online spell checking
+ Color m_aGrammarColor;
+ Color m_aSmarttagColor;
+ Color m_aFieldShadingsColor;
+ Color m_aSectionBoundColor;
+ Color m_aPageBreakColor;
+ Color m_aScriptIndicatorColor;
+ Color m_aShadowColor;
+ Color m_aHeaderFooterMarkColor;
+ ViewOptFlags m_nAppearanceFlags;
+};
+
class SW_DLLPUBLIC SwViewOption
{
- static Color s_aDocColor; // color of document boundaries
- static Color s_aDocBoundColor; // color of document boundaries
- static Color s_aObjectBoundColor; // color of object boundaries
- static Color s_aAppBackgroundColor; // application background
- static Color s_aTableBoundColor; // color of table boundaries
- static Color s_aFontColor;
- static Color s_aIndexShadingsColor; // background color of indexes
- static Color s_aLinksColor;
- static Color s_aVisitedLinksColor;
- static Color s_aDirectCursorColor;
- static Color s_aTextGridColor;
- static Color s_aSpellColor; // mark color of online spell checking
- static Color s_aGrammarColor;
- static Color s_aSmarttagColor;
- static Color s_aFieldShadingsColor;
- static Color s_aSectionBoundColor;
- static Color s_aPageBreakColor;
- static Color s_aScriptIndicatorColor;
- static Color s_aShadowColor;
- static Color s_aHeaderFooterMarkColor;
-
- static ViewOptFlags s_nAppearanceFlags;
+ SwViewColors m_aColorConfig;
+ static SwViewColors s_aInitialColorConfig;
+
static sal_uInt16 s_nPixelTwips;// 1 Pixel == ? Twips
OUString m_sSymbolFont; // Symbolfont.
@@ -272,6 +304,21 @@ public:
inline void SetUIOptions( const SwViewOption& );
+ void SetColorConfig(const SwViewColors& rColorConfig)
+ {
+ m_aColorConfig = rColorConfig;
+ }
+
+ const SwViewColors& GetColorConfig() const
+ {
+ return m_aColorConfig;
+ }
+
+ static void SetInitialColorConfig(const SwViewColors& rColorConfig)
+ {
+ s_aInitialColorConfig = rColorConfig;
+ }
+
// Options from nCoreOptions
bool IsIdle() const
{ return m_bIdle; }
@@ -382,8 +429,8 @@ public:
void SetResolvedPostIts( bool b )
{ SetUIOption(b, ViewOptFlags2::ResolvedPostits); }
- static void PaintPostIts( OutputDevice *pOut, const SwRect &rRect,
- bool bIsScript );
+ void PaintPostIts( OutputDevice *pOut, const SwRect &rRect,
+ bool bIsScript ) const;
static sal_uInt16 GetPostItsWidth( const OutputDevice *pOut );
//show/hide tooltips on tracked changes
@@ -749,43 +796,41 @@ public:
bool IsShowPlaceHolderFields() const { return m_bShowPlaceHolderFields; }
void SetShowPlaceHolderFields(bool bSet) { m_bShowPlaceHolderFields = bSet; }
- static Color& GetDocColor();
- static Color& GetDocBoundariesColor();
- static Color& GetAppBackgroundColor();
- static Color& GetObjectBoundariesColor();
- static Color& GetTableBoundariesColor();
- static Color& GetIndexShadingsColor();
- static Color& GetLinksColor();
- static Color& GetVisitedLinksColor();
- static Color& GetDirectCursorColor();
- static Color& GetTextGridColor();
- static Color& GetSpellColor();
- static Color& GetGrammarColor();
- static Color& GetSmarttagColor();
- static Color& GetShadowColor();
- static Color& GetFontColor();
- static Color& GetFieldShadingsColor();
- static Color& GetSectionBoundColor();
- static Color& GetPageBreakColor();
- static Color& GetHeaderFooterMarkColor();
-
- static bool IsAppearanceFlag(ViewOptFlags nFlag);
-
- static bool IsDocBoundaries() {return IsAppearanceFlag(ViewOptFlags::DocBoundaries);}
- static bool IsObjectBoundaries() {return IsAppearanceFlag(ViewOptFlags::ObjectBoundaries);}
- static bool IsTableBoundaries() {return IsAppearanceFlag(ViewOptFlags::TableBoundaries );}
- static bool IsIndexShadings() {return IsAppearanceFlag(ViewOptFlags::IndexShadings );}
- static bool IsLinks() {return IsAppearanceFlag(ViewOptFlags::Links );}
- static bool IsVisitedLinks() {return IsAppearanceFlag(ViewOptFlags::VisitedLinks );}
- static bool IsFieldShadings() {return IsAppearanceFlag(ViewOptFlags::FieldShadings);}
- static bool IsSectionBoundaries() {return IsAppearanceFlag(ViewOptFlags::SectionBoundaries);}
- static bool IsShadow() {return IsAppearanceFlag(ViewOptFlags::Shadow );}
-
- static void SetAppearanceFlag(ViewOptFlags nFlag, bool bSet, bool bSaveInConfig = false);
-
- static void SetDocBoundaries(bool bSet) {SetAppearanceFlag(ViewOptFlags::DocBoundaries, bSet);}
-
- static void ApplyColorConfigValues(const svtools::ColorConfig& rConfig);
+ const Color& GetDocColor() const;
+ const Color& GetDocBoundariesColor() const;
+ const Color& GetAppBackgroundColor() const;
+ const Color& GetObjectBoundariesColor() const;
+ const Color& GetTableBoundariesColor() const;
+ const Color& GetIndexShadingsColor() const;
+ const Color& GetLinksColor() const;
+ const Color& GetVisitedLinksColor() const;
+ const Color& GetDirectCursorColor() const;
+ const Color& GetTextGridColor() const;
+ const Color& GetSpellColor() const;
+ const Color& GetGrammarColor() const;
+ const Color& GetSmarttagColor() const;
+ const Color& GetShadowColor() const;
+ const Color& GetFontColor() const;
+ const Color& GetFieldShadingsColor() const;
+ const Color& GetSectionBoundColor() const;
+ const Color& GetPageBreakColor() const;
+ const Color& GetHeaderFooterMarkColor() const;
+
+ bool IsAppearanceFlag(ViewOptFlags nFlag) const;
+
+ bool IsDocBoundaries() const {return IsAppearanceFlag(ViewOptFlags::DocBoundaries);}
+ bool IsObjectBoundaries() const {return IsAppearanceFlag(ViewOptFlags::ObjectBoundaries);}
+ bool IsTableBoundaries() const {return IsAppearanceFlag(ViewOptFlags::TableBoundaries);}
+ bool IsIndexShadings() const {return IsAppearanceFlag(ViewOptFlags::IndexShadings);}
+ bool IsLinks() const {return IsAppearanceFlag(ViewOptFlags::Links);}
+ bool IsVisitedLinks() const {return IsAppearanceFlag(ViewOptFlags::VisitedLinks);}
+ bool IsFieldShadings() const {return IsAppearanceFlag(ViewOptFlags::FieldShadings);}
+ bool IsSectionBoundaries() const {return IsAppearanceFlag(ViewOptFlags::SectionBoundaries);}
+ bool IsShadow() const {return IsAppearanceFlag(ViewOptFlags::Shadow);}
+
+ void SetAppearanceFlag(ViewOptFlags nFlag, bool bSet, bool bSaveInConfig = false);
+
+ void SetDocBoundaries(bool bSet) {SetAppearanceFlag(ViewOptFlags::DocBoundaries, bSet);}
// get/set default anchor (0..2); use GetDefaultAnchorType() to convert into RndStdIds::FLY_*
sal_Int32 GetDefaultAnchor() const
@@ -794,11 +839,14 @@ public:
{ m_nDefaultAnchor = aFlag; }
RndStdIds GetDefaultAnchorType() const;
+
+ // Useful for when getting the current view SwViewOption is not possible otherwise
+ static const SwViewOption& GetCurrentViewOptions();
};
inline bool SwViewOption::operator==( const SwViewOption &rOpt ) const
{
- return IsEqualFlags( rOpt ) && m_nZoom == rOpt.GetZoom();
+ return IsEqualFlags( rOpt ) && m_nZoom == rOpt.GetZoom() && m_aColorConfig == rOpt.m_aColorConfig;
}
inline void SwViewOption::SetUIOptions( const SwViewOption& rVOpt )
diff --git a/sw/source/core/access/accframe.cxx b/sw/source/core/access/accframe.cxx
index 684953c6df6f..637c379825c5 100644
--- a/sw/source/core/access/accframe.cxx
+++ b/sw/source/core/access/accframe.cxx
@@ -392,7 +392,7 @@ bool SwAccessibleFrame::IsOpaque( SwViewShell const *pVSh ) const
if( pSection && ( SectionType::ToxHeader == pSection->GetType() ||
SectionType::ToxContent == pSection->GetType() ) &&
!pVOpt->IsReadonly() &&
- SwViewOption::IsIndexShadings() )
+ pVOpt->IsIndexShadings() )
return true;
}
if( pFrame->IsFlyFrame() )
diff --git a/sw/source/core/access/accpara.cxx b/sw/source/core/access/accpara.cxx
index 70eec47e51a2..078b647aa876 100644
--- a/sw/source/core/access/accpara.cxx
+++ b/sw/source/core/access/accpara.cxx
@@ -1918,7 +1918,7 @@ void SwAccessibleParagraph::_correctValues( const sal_Int32 nIndex,
if (rValue.Name == UNO_NAME_CHAR_COLOR)
{
if( GetPortionData().IsInGrayPortion( nIndex ) )
- rValue.Value <<= SwViewOption::GetFieldShadingsColor();
+ rValue.Value <<= GetCursorShell()->GetViewOptions()->GetFieldShadingsColor();
uno::Any &anyChar = rValue.Value;
sal_uInt32 crChar = static_cast<sal_uInt32>( reinterpret_cast<sal_uIntPtr>(anyChar.pReserved));
diff --git a/sw/source/core/access/accportions.cxx b/sw/source/core/access/accportions.cxx
index 6cc693c98ac5..152d4f956aee 100644
--- a/sw/source/core/access/accportions.cxx
+++ b/sw/source/core/access/accportions.cxx
@@ -259,7 +259,7 @@ bool SwAccessiblePortionData::IsGrayPortionType( PortionType nType ) const
case PortionType::Tox:
case PortionType::Hidden:
bGray = !m_pViewOptions->IsPagePreview() &&
- !m_pViewOptions->IsReadonly() && SwViewOption::IsFieldShadings();
+ !m_pViewOptions->IsReadonly() && m_pViewOptions->IsFieldShadings();
break;
case PortionType::Tab: bGray = m_pViewOptions->IsTab(); break;
case PortionType::SoftHyphen: bGray = m_pViewOptions->IsSoftHyph(); break;
diff --git a/sw/source/core/inc/wrong.hxx b/sw/source/core/inc/wrong.hxx
index b93c6a961158..d4bef9d26df1 100644
--- a/sw/source/core/inc/wrong.hxx
+++ b/sw/source/core/inc/wrong.hxx
@@ -109,7 +109,7 @@ private:
{
}
- return SwViewOption::GetGrammarColor();
+ return SwViewOption::GetCurrentViewOptions().GetGrammarColor();
}
static WrongAreaLineType getGrammarLineType( css::uno::Reference< css::container::XStringKeyMap > const & xPropertyBag )
@@ -175,7 +175,7 @@ private:
{
}
- return SwViewOption::GetSmarttagColor( );
+ return SwViewOption::GetCurrentViewOptions().GetSmarttagColor();
}
static WrongAreaLineType getSmartLineType( css::uno::Reference< css::container::XStringKeyMap > const & xPropertyBag )
@@ -224,7 +224,7 @@ private:
{
if (WRONGLIST_SPELL == listType)
{
- return SwViewOption::GetSpellColor();
+ return SwViewOption::GetCurrentViewOptions().GetSpellColor();
}
else if (WRONGLIST_GRAMMAR == listType)
{
@@ -235,7 +235,7 @@ private:
return getSmartColor(xPropertyBag);
}
- return SwViewOption::GetSpellColor();
+ return SwViewOption::GetCurrentViewOptions().GetSpellColor();
}
static WrongAreaLineType getWrongAreaLineType(WrongListType listType,
diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx
index ad609ae5972a..37a53417f1c8 100644
--- a/sw/source/core/layout/paintfrm.cxx
+++ b/sw/source/core/layout/paintfrm.cxx
@@ -330,7 +330,7 @@ static bool isSubsidiaryLinesFlysEnabled()
return !gProp.pSGlobalShell->GetViewOptions()->IsPagePreview() &&
!gProp.pSGlobalShell->GetViewOptions()->IsReadonly() &&
!gProp.pSGlobalShell->GetViewOptions()->IsFormView() &&
- SwViewOption::IsObjectBoundaries();
+ gProp.pSGlobalShell->GetViewOptions()->IsObjectBoundaries();
}
//other subsidiary lines enabled?
static bool isSubsidiaryLinesEnabled()
@@ -339,7 +339,7 @@ static bool isSubsidiaryLinesEnabled()
!gProp.pSGlobalShell->GetViewOptions()->IsReadonly() &&
!gProp.pSGlobalShell->GetViewOptions()->IsFormView() &&
!gProp.pSGlobalShell->GetViewOptions()->IsWhitespaceHidden() &&
- SwViewOption::IsDocBoundaries();
+ gProp.pSGlobalShell->GetViewOptions()->IsDocBoundaries();
}
//subsidiary lines for sections
static bool isSubsidiaryLinesForSectionsEnabled()
@@ -347,7 +347,7 @@ static bool isSubsidiaryLinesForSectionsEnabled()
return !gProp.pSGlobalShell->GetViewOptions()->IsPagePreview() &&
!gProp.pSGlobalShell->GetViewOptions()->IsReadonly() &&
!gProp.pSGlobalShell->GetViewOptions()->IsFormView() &&
- SwViewOption::IsSectionBoundaries();
+ gProp.pSGlobalShell->GetViewOptions()->IsSectionBoundaries();
}
@@ -367,7 +367,7 @@ bool isTableBoundariesEnabled()
if (gProp.pSGlobalShell->GetViewOptions()->IsFormView())
return false;
- return SwViewOption::IsTableBoundaries();
+ return gProp.pSGlobalShell->GetViewOptions()->IsTableBoundaries();
}
}
@@ -1093,12 +1093,14 @@ void SwSubsRects::PaintSubsidiary( OutputDevice *pOut,
!rLRect.IsLocked() )
{
const Color *pCol = nullptr;
+ SwViewShell *pShell = properties.pSGlobalShell;
+ const SwViewOption *pOpt = pShell->GetViewOptions();
switch ( rLRect.GetSubColor() )
{
- case SubColFlags::Page: pCol = &SwViewOption::GetDocBoundariesColor(); break;
- case SubColFlags::Fly: pCol = &SwViewOption::GetObjectBoundariesColor(); break;
- case SubColFlags::Tab: pCol = &SwViewOption::GetTableBoundariesColor(); break;
- case SubColFlags::Sect: pCol = &SwViewOption::GetSectionBoundColor(); break;
+ case SubColFlags::Page: pCol = &pOpt->GetDocBoundariesColor(); break;
+ case SubColFlags::Fly: pCol = &pOpt->GetObjectBoundariesColor(); break;
+ case SubColFlags::Tab: pCol = &pOpt->GetTableBoundariesColor(); break;
+ case SubColFlags::Sect: pCol = &pOpt->GetSectionBoundColor(); break;
}
if (pCol && pOut->GetFillColor() != *pCol)
@@ -2448,7 +2450,7 @@ void SwTabFramePainter::PaintLines(OutputDevice& rDev, const SwRect& rRect) cons
bool bHori = true;
// color for subsidiary lines:
- const Color& rCol( SwViewOption::GetTableBoundariesColor() );
+ const Color& rCol( gProp.pSGlobalShell->GetViewOptions()->GetTableBoundariesColor() );
// high contrast mode:
// overrides the color of non-subsidiary lines.
@@ -2457,7 +2459,7 @@ void SwTabFramePainter::PaintLines(OutputDevice& rDev, const SwRect& rRect) cons
if( gProp.pSGlobalShell->GetWin() &&
Application::GetSettings().GetStyleSettings().GetHighContrastMode() )
{
- pHCColor = &SwViewOption::GetFontColor();
+ pHCColor = &gProp.pSGlobalShell->GetViewOptions()->GetFontColor();
rDev.SetDrawMode( DrawModeFlags::Default );
}
@@ -3339,7 +3341,7 @@ void SwRootFrame::PaintSwFrame(vcl::RenderContext& rRenderContext, SwRect const&
{
SdrPaintView* pPaintView = pSh->Imp()->GetDrawView();
SdrPageView* pPageView = pPaintView->GetSdrPageView();
- pPageView->DrawPageViewGrid(*pSh->GetOut(), aPaintRect.SVRect(), SwViewOption::GetTextGridColor() );
+ pPageView->DrawPageViewGrid(*pSh->GetOut(), aPaintRect.SVRect(), pSh->GetViewOptions()->GetTextGridColor() );
}
// #i68597#
@@ -3750,7 +3752,7 @@ void SwColumnFrame::PaintBreak( ) const
nWidth = aRect.Height();
}
- basegfx::BColor aLineColor = SwViewOption::GetPageBreakColor().getBColor();
+ basegfx::BColor aLineColor = gProp.pSGlobalShell->GetViewOptions()->GetPageBreakColor().getBColor();
drawinglayer::primitive2d::Primitive2DContainer aSeq =
lcl_CreateDashedIndicatorPrimitive( aStart, aEnd, aLineColor );
@@ -4568,7 +4570,7 @@ static void lcl_PaintShadow( const SwRect& rRect, SwRect& rOutRect,
// to ignore the setting of a new color. Therefore we have to reset
// the drawing mode
pOut->SetDrawMode( DrawModeFlags::Default );
- aShadowColor = SwViewOption::GetFontColor();
+ aShadowColor = properties.pSGlobalShell->GetViewOptions()->GetFontColor();
}
if ( pOut->GetFillColor() != aShadowColor )
@@ -4656,7 +4658,9 @@ void SwFrame::PaintBorderLine( const SwRect& rRect,
if( pColor && gProp.pSGlobalShell->GetWin() &&
Application::GetSettings().GetStyleSettings().GetHighContrastMode() )
{
- pColor = &SwViewOption::GetFontColor();
+ SwViewShell *pSh = getRootFrame()->GetCurrShell();
+ const SwViewOption *pOpt = pSh->GetViewOptions();
+ pColor = &pOpt->GetFontColor();
}
if (pPage->GetSortedObjs() &&
@@ -5977,7 +5981,7 @@ static void lcl_paintBitmapExToRect(vcl::RenderContext *pOut, const Point& aPoin
}
}
- pOut->SetFillColor(SwViewOption::GetAppBackgroundColor());
+ pOut->SetFillColor(SwViewOption::GetCurrentViewOptions().GetAppBackgroundColor());
pOut->SetLineColor();
pOut->DrawRect(pOut->PixelToLogic(aRect));
}
@@ -6015,7 +6019,7 @@ static void lcl_paintBitmapExToRect(vcl::RenderContext *pOut, const Point& aPoin
bool bRightSidebar )
{
// No shadow in prefs
- if (!SwViewOption::IsShadow())
+ if (!_pViewShell->GetViewOptions()->IsShadow())
return;
// #i16816# tagged pdf support
@@ -6048,9 +6052,9 @@ static void lcl_paintBitmapExToRect(vcl::RenderContext *pOut, const Point& aPoin
::SwAlignRect( aAlignedPageRect, _pViewShell, _pViewShell->GetOut() );
SwRect aPagePxRect(_pViewShell->GetOut()->LogicToPixel( aAlignedPageRect.SVRect() ));
- if (aShadowColor != SwViewOption::GetShadowColor())
+ if (aShadowColor != _pViewShell->GetViewOptions()->GetShadowColor())
{
- aShadowColor = SwViewOption::GetShadowColor();
+ aShadowColor = _pViewShell->GetViewOptions()->GetShadowColor();
AlphaMask aMask( shadowMask.getBottomRight().GetBitmap() );
Bitmap aFilledSquare(aMask.GetSizePixel(), vcl::PixelFormat::N24_BPP);
@@ -6185,23 +6189,23 @@ static void lcl_paintBitmapExToRect(vcl::RenderContext *pOut, const Point& aPoin
_pViewShell->GetOut()->SetLineColor();
if (!bRight)
{
- _pViewShell->GetOut()->SetFillColor(SwViewOption::GetObjectBoundariesColor());
+ _pViewShell->GetOut()->SetFillColor(_pViewShell->GetViewOptions()->GetObjectBoundariesColor());
_pViewShell->GetOut()->DrawRect(tools::Rectangle(Point(aPageRect.Left()-pMgr->GetSidebarBorderWidth(),aPageRect.Top()),Size(pMgr->GetSidebarBorderWidth(),aPageRect.Height()))) ;
if (Application::GetSettings().GetStyleSettings().GetHighContrastMode() )
_pViewShell->GetOut()->SetFillColor(COL_BLACK);
else
- _pViewShell->GetOut()->SetFillColor(SwViewOption::GetSectionBoundColor());
+ _pViewShell->GetOut()->SetFillColor(_pViewShell->GetViewOptions()->GetSectionBoundColor());
_pViewShell->GetOut()->DrawRect(tools::Rectangle(Point(aPageRect.Left()-pMgr->GetSidebarWidth()-pMgr->GetSidebarBorderWidth(),aPageRect.Top()),Size(pMgr->GetSidebarWidth(),aPageRect.Height()))) ;
}
else
{
- _pViewShell->GetOut()->SetFillColor(SwViewOption::GetObjectBoundariesColor());
+ _pViewShell->GetOut()->SetFillColor(_pViewShell->GetViewOptions()->GetObjectBoundariesColor());
SwRect aSidebarBorder(aPageRect.TopRight(),Size(pMgr->GetSidebarBorderWidth(),aPageRect.Height()));
_pViewShell->GetOut()->DrawRect(aSidebarBorder.SVRect());
if (Application::GetSettings().GetStyleSettings().GetHighContrastMode() )
_pViewShell->GetOut()->SetFillColor(COL_BLACK);
else
- _pViewShell->GetOut()->SetFillColor(SwViewOption::GetSectionBoundColor());
+ _pViewShell->GetOut()->SetFillColor(_pViewShell->GetViewOptions()->GetSectionBoundColor());
SwRect aSidebar(Point(aPageRect.Right()+pMgr->GetSidebarBorderWidth(),aPageRect.Top()),Size(pMgr->GetSidebarWidth(),aPageRect.Height()));
_pViewShell->GetOut()->DrawRect(aSidebar.SVRect());
}
@@ -6400,8 +6404,9 @@ void SwFrame::PaintSwFrameBackground( const SwRect &rRect, const SwPageFrame *pP
const bool bOnlyTextBackground ) const
{
// #i1837# - no paint of table background, if corresponding option is *not* set.
+ SwViewShell *pSh = gProp.pSGlobalShell;
if( IsTabFrame() &&
- !gProp.pSGlobalShell->GetViewOptions()->IsTable() )
+ !pSh->GetViewOptions()->IsTable() )
{
return;
}
@@ -6410,8 +6415,6 @@ void SwFrame::PaintSwFrameBackground( const SwRect &rRect, const SwPageFrame *pP
if( IsCellFrame() && IsCoveredCell() )
return;
- SwViewShell *pSh = gProp.pSGlobalShell;
-
// #i16816# tagged pdf support
SwTaggedPDFHelper aTaggedPDFHelper( nullptr, nullptr, nullptr, *pSh->GetOut() );
@@ -6842,7 +6845,7 @@ static drawinglayer::primitive2d::Primitive2DContainer lcl_CreatePageAreaDelimit
{
drawinglayer::primitive2d::Primitive2DContainer aSeq( 4 );
- basegfx::BColor aLineColor = SwViewOption::GetDocBoundariesColor().getBColor();
+ basegfx::BColor aLineColor = SwViewOption::GetCurrentViewOptions().GetDocBoundariesColor().getBColor();
double nLineLength = 200.0; // in Twips
Point aPoints[] = { rRect.TopLeft(), rRect.TopRight(), rRect.BottomRight(), rRect.BottomLeft() };
@@ -6873,7 +6876,7 @@ static drawinglayer::primitive2d::Primitive2DContainer lcl_CreateRectangleDelimi
const SwRect& rRect )
{
drawinglayer::primitive2d::Primitive2DContainer aSeq( 1 );
- basegfx::BColor aLineColor = SwViewOption::GetDocBoundariesColor().getBColor();
+ basegfx::BColor aLineColor = SwViewOption::GetCurrentViewOptions().GetDocBoundariesColor().getBColor();
basegfx::B2DPolygon aPolygon;
aPolygon.append( basegfx::B2DPoint( rRect.Left(), rRect.Top() ) );
@@ -6893,7 +6896,7 @@ static drawinglayer::primitive2d::Primitive2DContainer lcl_CreateColumnAreaDelim
{
drawinglayer::primitive2d::Primitive2DContainer aSeq( 4 );
- basegfx::BColor aLineColor = SwViewOption::GetDocBoundariesColor().getBColor();
+ basegfx::BColor aLineColor = SwViewOption::GetCurrentViewOptions().GetDocBoundariesColor().getBColor();
double nLineLength = 100.0; // in Twips
Point aPoints[] = { rRect.TopLeft(), rRect.TopRight(), rRect.BottomRight(), rRect.BottomLeft() };
@@ -6923,7 +6926,7 @@ static drawinglayer::primitive2d::Primitive2DContainer lcl_CreateColumnAreaDelim
void SwPageFrame::PaintSubsidiaryLines( const SwPageFrame *,
const SwRect & ) const
{
- if (!SwViewOption::IsDocBoundaries())
+ if (!gProp.pSGlobalShell->GetViewOptions()->IsDocBoundaries())
return;
if ( gProp.pSGlobalShell->IsHeaderFooterEdit() )
@@ -6997,7 +7000,7 @@ void SwColumnFrame::PaintSubsidiaryLines( const SwPageFrame *,
void SwSectionFrame::PaintSubsidiaryLines( const SwPageFrame * pPage,
const SwRect & rRect ) const
{
- if (!SwViewOption::IsSectionBoundaries())
+ if (!gProp.pSGlobalShell->GetViewOptions()->IsSectionBoundaries())
return;
const bool bNoLowerColumn = !Lower() || !Lower()->IsColumnFrame();
@@ -7018,7 +7021,7 @@ void SwBodyFrame::PaintSubsidiaryLines( const SwPageFrame *,
void SwHeadFootFrame::PaintSubsidiaryLines( const SwPageFrame *, const SwRect & ) const
{
- if (!SwViewOption::IsDocBoundaries())
+ if (!gProp.pSGlobalShell->GetViewOptions()->IsDocBoundaries())
return;
if ( gProp.pSGlobalShell->IsHeaderFooterEdit() )
@@ -7490,11 +7493,11 @@ bool SwFrame::GetBackgroundBrush(
!pOpt->IsReadonly() &&
// #114856# Form view
!pOpt->IsFormView() &&
- SwViewOption::IsIndexShadings() &&
+ pOpt->IsIndexShadings() &&
!pOpt->IsPDFExport() &&
pSh->GetOut()->GetOutDevType() != OUTDEV_PRINTER )
{
- rxCol = SwViewOption::GetIndexShadingsColor();
+ rxCol = pOpt->GetIndexShadingsColor();
}
}
diff --git a/sw/source/core/text/atrstck.cxx b/sw/source/core/text/atrstck.cxx
index 7fab6da10c5e..048878292fc0 100644
--- a/sw/source/core/text/atrstck.cxx
+++ b/sw/source/core/text/atrstck.cxx
@@ -237,8 +237,8 @@ static bool lcl_ChgHyperLinkColor( const SwTextAttr& rAttr,
if ( pShell->GetWin() &&
(
- (rINetAttr.IsVisited() && SwViewOption::IsVisitedLinks()) ||
- (!rINetAttr.IsVisited() && SwViewOption::IsLinks())
+ (rINetAttr.IsVisited() && pShell->GetViewOptions()->IsVisitedLinks()) ||
+ (!rINetAttr.IsVisited() && pShell->GetViewOptions()->IsLinks())
)
)
{
@@ -247,12 +247,12 @@ static bool lcl_ChgHyperLinkColor( const SwTextAttr& rAttr,
if (rINetAttr.IsVisited())
{
// take color from view option 'visited link color'
- *pColor = SwViewOption::GetVisitedLinksColor();
+ *pColor = pShell->GetViewOptions()->GetVisitedLinksColor();
}
else
{
// take color from view option 'unvisited link color'
- *pColor = SwViewOption::GetLinksColor();
+ *pColor = pShell->GetViewOptions()->GetLinksColor();
}
}
return true;
diff --git a/sw/source/core/text/inftxt.cxx b/sw/source/core/text/inftxt.cxx
index a4fea746dc9d..358b961c8b50 100644
--- a/sw/source/core/text/inftxt.cxx
+++ b/sw/source/core/text/inftxt.cxx
@@ -1084,7 +1084,7 @@ void SwTextPaintInfo::DrawPostIts( bool bScript ) const
if ( GetTextFrame()->IsVertical() )
GetTextFrame()->SwitchHorizontalToVertical( aTmpRect );
- SwViewOption::PaintPostIts( const_cast<OutputDevice*>(GetOut()), aTmpRect, bScript );
+ GetOpt().PaintPostIts( const_cast<OutputDevice*>(GetOut()), aTmpRect, bScript );
}
@@ -1095,12 +1095,12 @@ void SwTextPaintInfo::DrawCheckBox(const SwFieldFormCheckboxPortion &rPor, bool
if ( !aIntersect.HasArea() )
return;
- if (OnWin() && SwViewOption::IsFieldShadings() &&
+ if (OnWin() && GetOpt().IsFieldShadings() &&
!GetOpt().IsPagePreview())
{
OutputDevice* pOut = const_cast<OutputDevice*>(GetOut());
pOut->Push( vcl::PushFlags::LINECOLOR | vcl::PushFlags::FILLCOLOR );
- pOut->SetFillColor( SwViewOption::GetFieldShadingsColor() );
+ pOut->SetFillColor( GetOpt().GetFieldShadingsColor() );
pOut->SetLineColor();
pOut->DrawRect( aIntersect.SVRect() );
pOut->Pop();
@@ -1135,7 +1135,7 @@ void SwTextPaintInfo::DrawBackground( const SwLinePortion &rPor, const Color *pC
if ( pColor )
pOut->SetFillColor( *pColor );
else
- pOut->SetFillColor( SwViewOption::GetFieldShadingsColor() );
+ pOut->SetFillColor( GetOpt().GetFieldShadingsColor() );
pOut->SetLineColor();
@@ -1161,12 +1161,12 @@ void SwTextPaintInfo::DrawBackBrush( const SwLinePortion &rPor ) const
if(bIsStartMark)
SAL_INFO("sw.core", "Found StartMark");
if (OnWin() && (pFieldmark!=nullptr || bIsStartMark) &&
- SwViewOption::IsFieldShadings() &&
+ GetOpt().IsFieldShadings() &&
!GetOpt().IsPagePreview())
{
OutputDevice* pOutDev = const_cast<OutputDevice*>(GetOut());
pOutDev->Push( vcl::PushFlags::LINECOLOR | vcl::PushFlags::FILLCOLOR );
- pOutDev->SetFillColor( SwViewOption::GetFieldShadingsColor() );
+ pOutDev->SetFillColor( GetOpt().GetFieldShadingsColor() );
pOutDev->SetLineColor( );
pOutDev->DrawRect( aIntersect.SVRect() );
pOutDev->Pop();
@@ -1326,7 +1326,7 @@ void SwTextPaintInfo::DrawViewOpt( const SwLinePortion &rPor,
case PortionType::ControlChar:
if ( !GetOpt().IsPagePreview()
&& !GetOpt().IsReadonly()
- && SwViewOption::IsFieldShadings()
+ && GetOpt().IsFieldShadings()
&& ( PortionType::Number != nWhich
|| m_pFrame->GetTextNodeForParaProps()->HasMarkedLabel())) // #i27615#
{
@@ -1339,7 +1339,7 @@ void SwTextPaintInfo::DrawViewOpt( const SwLinePortion &rPor,
case PortionType::InputField:
// input field shading also in read-only mode
if ( !GetOpt().IsPagePreview()
- && SwViewOption::IsFieldShadings() )
+ && GetOpt().IsFieldShadings() )
{
bDraw = true;
}
diff --git a/sw/source/core/text/porfld.cxx b/sw/source/core/text/porfld.cxx
index e0737d4f948d..04612aac0440 100644
--- a/sw/source/core/text/porfld.cxx
+++ b/sw/source/core/text/porfld.cxx
@@ -121,7 +121,7 @@ sal_uInt16 SwFieldPortion::GetViewWidth( const SwTextSizeInfo &rInf ) const
// even though this is const, nViewWidth should be computed at the very end:
SwFieldPortion* pThis = const_cast<SwFieldPortion*>(this);
if( !Width() && rInf.OnWin() && !rInf.GetOpt().IsPagePreview() &&
- !rInf.GetOpt().IsReadonly() && SwViewOption::IsFieldShadings() )
+ !rInf.GetOpt().IsReadonly() && rInf.GetOpt().IsFieldShadings() )
{
if( !m_nViewWidth )
pThis->m_nViewWidth = rInf.GetTextSize(OUString(' ')).Width();
@@ -459,7 +459,7 @@ bool SwFieldPortion::GetExpText( const SwTextSizeInfo &rInf, OUString &rText ) c
rText = m_aExpand;
if( rText.isEmpty() && rInf.OnWin() &&
!rInf.GetOpt().IsPagePreview() && !rInf.GetOpt().IsReadonly() &&
- SwViewOption::IsFieldShadings() &&
+ rInf.GetOpt().IsFieldShadings() &&
!HasFollow() )
rText = " ";
return true;
diff --git a/sw/source/core/text/porref.cxx b/sw/source/core/text/porref.cxx
index 502b681c0803..a64f2df1fe1d 100644
--- a/sw/source/core/text/porref.cxx
+++ b/sw/source/core/text/porref.cxx
@@ -45,7 +45,7 @@ sal_uInt16 SwIsoRefPortion::GetViewWidth( const SwTextSizeInfo &rInf ) const
// Although we are const, nViewWidth should be calculated in the last
// moment possible
SwIsoRefPortion* pThis = const_cast<SwIsoRefPortion*>(this);
- if( !Width() && rInf.OnWin() && SwViewOption::IsFieldShadings() &&
+ if( !Width() && rInf.OnWin() && rInf.GetOpt().IsFieldShadings() &&
!rInf.GetOpt().IsReadonly() && !rInf.GetOpt().IsPagePreview() )
{
if( !m_nViewWidth )
diff --git a/sw/source/core/text/porrst.cxx b/sw/source/core/text/porrst.cxx
index 73bd05aa96da..5c04b60b925e 100644
--- a/sw/source/core/text/porrst.cxx
+++ b/sw/source/core/text/porrst.cxx
@@ -604,7 +604,7 @@ void SwHiddenTextPortion::Paint( const SwTextPaintInfo & rInf) const
{
#ifdef DBG_UTIL
OutputDevice* pOut = const_cast<OutputDevice*>(rInf.GetOut());
- Color aCol( SwViewOption::GetFieldShadingsColor() );
+ Color aCol( rInf.GetOpt().GetFieldShadingsColor() );
Color aOldColor( pOut->GetFillColor() );
pOut->SetFillColor( aCol );
Point aPos( rInf.GetPos() );
@@ -626,10 +626,10 @@ bool SwHiddenTextPortion::Format( SwTextFormatInfo &rInf )
return false;
};
-bool SwControlCharPortion::DoPaint(SwTextPaintInfo const&,
+bool SwControlCharPortion::DoPaint(SwTextPaintInfo const& rTextPaintInfo,
OUString & rOutString, SwFont & rTmpFont, int &) const
{
- if (mcChar == CHAR_WJ || !SwViewOption::IsFieldShadings())
+ if (mcChar == CHAR_WJ || !rTextPaintInfo.GetOpt().IsFieldShadings())
{
return false;
}
@@ -676,7 +676,7 @@ bool SwBookmarkPortion::DoPaint(SwTextPaintInfo const& rTextPaintInfo,
auto const nFactor = aSize.Height() > 0 ? (Height() * 95) / aSize.Height() : Height();
rFont.SetProportion(nFactor);
rFont.SetWeight(WEIGHT_THIN, rFont.GetActual());
- rFont.SetColor(SwViewOption::GetFieldShadingsColor());
+ rFont.SetColor(rTextPaintInfo.GetOpt().GetFieldShadingsColor());
// reset these to default...
rFont.SetAlign(ALIGN_BASELINE);
rFont.SetUnderline(LINESTYLE_NONE);
@@ -813,7 +813,7 @@ void SwBookmarkPortion::Paint( const SwTextPaintInfo &rInf ) const
// set bold for custom colored bookmark symbol
// and draw multiple symbols showing all custom colors
aTmpFont.SetWeight( COL_TRANSPARENT == std::get<1>(it) ? WEIGHT_THIN : WEIGHT_BOLD, aTmpFont.GetActual() );
- aTmpFont.SetColor( COL_TRANSPARENT == std::get<1>(it) ? SwViewOption::GetFieldShadingsColor() : std::get<1>(it) );
+ aTmpFont.SetColor( COL_TRANSPARENT == std::get<1>(it) ? rInf.GetOpt().GetFieldShadingsColor() : std::get<1>(it) );
aOutString = OUString(std::get<0>(it) == SwScriptInfo::MarkKind::Start ? '[' : ']');
// MarkKind::Point: drawn I-beam (e.g. U+2336) as overlapping ][
diff --git a/sw/source/core/text/portox.cxx b/sw/source/core/text/portox.cxx
index 982ec4f5fb25..bd72e83b042d 100644
--- a/sw/source/core/text/portox.cxx
+++ b/sw/source/core/text/portox.cxx
@@ -48,7 +48,7 @@ sal_uInt16 SwIsoToxPortion::GetViewWidth( const SwTextSizeInfo &rInf ) const
// nViewWidth need to be calculated
if( !Width() && rInf.OnWin() &&
!rInf.GetOpt().IsPagePreview() &&
- !rInf.GetOpt().IsReadonly() && SwViewOption::IsFieldShadings() )
+ !rInf.GetOpt().IsReadonly() && rInf.GetOpt().IsFieldShadings() )
{
if( !m_nViewWidth )
pThis->m_nViewWidth = rInf.GetTextSize(OUString(' ')).Width();
diff --git a/sw/source/core/text/portxt.cxx b/sw/source/core/text/portxt.cxx
index 89df5fc6665c..0b830419f78c 100644
--- a/sw/source/core/text/portxt.cxx
+++ b/sw/source/core/text/portxt.cxx
@@ -705,12 +705,12 @@ void SwTextInputFieldPortion::Paint( const SwTextPaintInfo &rInf ) const
if (aIntersect.HasArea()
&& rInf.OnWin()
- && SwViewOption::IsFieldShadings()
+ && rInf.GetOpt().IsFieldShadings()
&& !rInf.GetOpt().IsPagePreview())
{
OutputDevice* pOut = const_cast<OutputDevice*>(rInf.GetOut());
pOut->Push(vcl::PushFlags::LINECOLOR | vcl::PushFlags::FILLCOLOR);
- pOut->SetFillColor(SwViewOption::GetFieldShadingsColor());
+ pOut->SetFillColor(rInf.GetOpt().GetFieldShadingsColor());
pOut->SetLineColor();
pOut->DrawRect(aIntersect.SVRect());
pOut->Pop();
diff --git a/sw/source/core/text/txtdrop.cxx b/sw/source/core/text/txtdrop.cxx
index f139cb4e4435..afbe3b1470eb 100644
--- a/sw/source/core/text/txtdrop.cxx
+++ b/sw/source/core/text/txtdrop.cxx
@@ -325,7 +325,7 @@ void SwDropPortion::PaintText( const SwTextPaintInfo &rInf ) const
const_cast<SwDropPortion*>(this)->SetJoinBorderWithPrev(pCurrPart->GetJoinBorderWithPrev());
if ( rInf.OnWin() &&
- !rInf.GetOpt().IsPagePreview() && !rInf.GetOpt().IsReadonly() && SwViewOption::IsFieldShadings() &&
+ !rInf.GetOpt().IsPagePreview() && !rInf.GetOpt().IsReadonly() && rInf.GetOpt().IsFieldShadings() &&
(!pCurrPart->GetFont().GetBackColor() || *pCurrPart->GetFont().GetBackColor() == COL_TRANSPARENT) )
{
rInf.DrawBackground( *this );
@@ -398,7 +398,7 @@ void SwDropPortion::Paint( const SwTextPaintInfo &rInf ) const
return;
if ( rInf.OnWin() &&
- !rInf.GetOpt().IsPagePreview() && !rInf.GetOpt().IsReadonly() && SwViewOption::IsFieldShadings() )
+ !rInf.GetOpt().IsPagePreview() && !rInf.GetOpt().IsReadonly() && rInf.GetOpt().IsFieldShadings() )
rInf.DrawBackground( *this );
// make sure that font is not rotated
diff --git a/sw/source/core/txtnode/fntcache.cxx b/sw/source/core/txtnode/fntcache.cxx
index 0387246285b8..e125906767f6 100644
--- a/sw/source/core/txtnode/fntcache.cxx
+++ b/sw/source/core/txtnode/fntcache.cxx
@@ -2212,7 +2212,7 @@ bool SwDrawTextInfo::ApplyAutoColor( vcl::Font* pFont )
nNewColor = COL_BLACK;
else
// we take the font color from the appearance page
- nNewColor = SwViewOption::GetFontColor();
+ nNewColor = pViewOption->GetFontColor();
}
// change painting color depending of dark/bright background
diff --git a/sw/source/core/view/viewimp.cxx b/sw/source/core/view/viewimp.cxx
index 0ca4026252e2..3f427ed77316 100644
--- a/sw/source/core/view/viewimp.cxx
+++ b/sw/source/core/view/viewimp.cxx
@@ -300,7 +300,7 @@ Color SwViewShellImp::GetRetoucheColor() const
!officecfg::Office::Common::Accessibility::IsForPagePreviews::get())
aRet = COL_WHITE;
else
- aRet = SwViewOption::GetDocColor();
+ aRet = rSh.GetViewOptions()->GetDocColor();
}
return aRet;
}
diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx
index d7b548d9b944..e59c80afdc68 100644
--- a/sw/source/core/view/viewsh.cxx
+++ b/sw/source/core/view/viewsh.cxx
@@ -1690,7 +1690,7 @@ void SwViewShell::PaintDesktop_(const SwRegionRects &rRegion)
// #i75172# needed to move line/Fill color setters into loop since DLPrePaint2
// may exchange GetOut(), that's it's purpose. This happens e.g. at print preview.
- GetOut()->SetFillColor( SwViewOption::GetAppBackgroundColor());
+ GetOut()->SetFillColor( GetViewOptions()->GetAppBackgroundColor());
GetOut()->SetLineColor();
GetOut()->DrawRect(aRectangle);
@@ -2214,6 +2214,7 @@ void SwViewShell::ApplyViewOptions( const SwViewOption &rOpt )
if(&rSh == this)
continue;
SwViewOption aOpt( *rSh.GetViewOptions() );
+ aOpt.SetColorConfig( rOpt.GetColorConfig() );
aOpt.SetFieldName( rOpt.IsFieldName() );
aOpt.SetShowHiddenField( rOpt.IsShowHiddenField() );
aOpt.SetShowHiddenPara( rOpt.IsShowHiddenPara() );
diff --git a/sw/source/filter/html/htmlfldw.cxx b/sw/source/filter/html/htmlfldw.cxx
index 765ef16075a2..6d37a88966e8 100644
--- a/sw/source/filter/html/htmlfldw.cxx
+++ b/sw/source/filter/html/htmlfldw.cxx
@@ -25,6 +25,9 @@
#include <o3tl/string_view.hxx>
#include <fmtfld.hxx>
#include <doc.hxx>
+#include <docsh.hxx>
+#include <view.hxx>
+#include <wrtsh.hxx>
#include <breakit.hxx>
#include <ndtxt.hxx>
#include <txtfld.hxx>
@@ -540,7 +543,8 @@ SwHTMLWriter& OutHTML_SwFormatField( SwHTMLWriter& rWrt, const SfxPoolItem& rHt
if( pTextField )
{
// ReqIF-XHTML doesn't allow specifying a background color.
- bool bFieldShadings = SwViewOption::IsFieldShadings() && !rWrt.mbReqIF;
+ const SwViewOption* pViewOptions = rWrt.m_pDoc->GetDocShell()->GetView()->GetWrtShell().GetViewOptions();
+ bool bFieldShadings = pViewOptions->IsFieldShadings() && !rWrt.mbReqIF;
if (bFieldShadings)
{
// If there is a text portion background started already, that should have priority.
@@ -557,7 +561,7 @@ SwHTMLWriter& OutHTML_SwFormatField( SwHTMLWriter& rWrt, const SfxPoolItem& rHt
sOut.append(sCSS1_P_background);
sOut.append(": ");
- Color& rColor = SwViewOption::GetFieldShadingsColor();
+ const Color& rColor = pViewOptions->GetFieldShadingsColor();
sOut.append(GetCSS1_Color(rColor));
sOut.append("\">");
rWrt.Strm().WriteOString(sOut);
diff --git a/sw/source/ui/chrdlg/drpcps.cxx b/sw/source/ui/chrdlg/drpcps.cxx
index 46389d886c8c..e7ff4a634b3c 100644
--- a/sw/source/ui/chrdlg/drpcps.cxx
+++ b/sw/source/ui/chrdlg/drpcps.cxx
@@ -242,9 +242,11 @@ void SwDropCapsPict::UpdatePaintSettings()
maCJKFont.SetTransparent(true);
maCTLFont.SetTransparent(true);
- aFont.SetColor( SwViewOption::GetFontColor() );
- maCJKFont.SetColor( SwViewOption::GetFontColor() );
- maCTLFont.SetColor( SwViewOption::GetFontColor() );
+ const Color& rFontColor = mpPage->m_rSh.GetViewOptions()->GetFontColor();
+
+ aFont.SetColor( rFontColor );
+ maCJKFont.SetColor( rFontColor );
+ maCTLFont.SetColor( rFontColor );
aFont.SetFillColor(Application::GetSettings().GetStyleSettings().GetWindowColor());
maCJKFont.SetFillColor(Application::GetSettings().GetStyleSettings().GetWindowColor());
diff --git a/sw/source/ui/config/optpage.cxx b/sw/source/ui/config/optpage.cxx
index 890ff796a033..6fd2e179a234 100644
--- a/sw/source/ui/config/optpage.cxx
+++ b/sw/source/ui/config/optpage.cxx
@@ -1390,9 +1390,10 @@ void SwMarkPreview::InitColors()
m_aBgCol = rSettings.GetWindowColor();
bool bHC = rSettings.GetHighContrastMode();
- m_aLineCol = bHC? SwViewOption::GetFontColor() : COL_BLACK;
+ const Color& rFontColor = SwViewOption::GetCurrentViewOptions().GetFontColor();
+ m_aLineCol = bHC? rFontColor : COL_BLACK;
m_aShadowCol = bHC? m_aBgCol : rSettings.GetShadowColor();
- m_aTextCol = bHC? SwViewOption::GetFontColor() : COL_GRAY;
+ m_aTextCol = bHC? rFontColor : COL_GRAY;
m_aPrintAreaCol = m_aTextCol;
}
diff --git a/sw/source/ui/envelp/envlop1.cxx b/sw/source/ui/envelp/envlop1.cxx
index b8c990cb30a8..2a690d5113c7 100644
--- a/sw/source/ui/envelp/envlop1.cxx
+++ b/sw/source/ui/envelp/envlop1.cxx
@@ -71,12 +71,12 @@ void SwEnvPreview::Paint(vcl::RenderContext& rRenderContext, const tools::Rectan
double(aSize.Height()) / double(nPageH));
Color aBack = rSettings.GetWindowColor();
- Color aFront = SwViewOption::GetFontColor();
- Color aMedium((aBack.GetRed() + aFront.GetRed()) / 2,
- (aBack.GetGreen() + aFront.GetGreen()) / 2,
- (aBack.GetBlue() + aFront.GetBlue()) / 2);
+ const Color& rFront = SwViewOption::GetCurrentViewOptions().GetFontColor();
+ Color aMedium((aBack.GetRed() + rFront.GetRed()) / 2,
+ (aBack.GetGreen() + rFront.GetGreen()) / 2,
+ (aBack.GetBlue() + rFront.GetBlue()) / 2);
- rRenderContext.SetLineColor(aFront);
+ rRenderContext.SetLineColor(rFront);
// Envelope
const tools::Long nW = static_cast<tools::Long>(f * nPageW);
diff --git a/sw/source/ui/envelp/labfmt.cxx b/sw/source/ui/envelp/labfmt.cxx
index 3f723ca2285d..b90397ab28b5 100644
--- a/sw/source/ui/envelp/labfmt.cxx
+++ b/sw/source/ui/envelp/labfmt.cxx
@@ -74,7 +74,7 @@ void DrawArrow(vcl::RenderContext& rRenderContext, const Point &rP1, const Point
aArr[2].setY( rP2.Y() );
}
- const Color& rFieldTextColor = SwViewOption::GetFontColor();
+ const Color& rFieldTextColor = SwViewOption::GetCurrentViewOptions().GetFontColor();
rRenderContext.SetFillColor(rFieldTextColor);
rRenderContext.DrawPolygon( tools::Polygon(3, aArr));
}
@@ -150,7 +150,7 @@ void SwLabPreview::Paint(vcl::RenderContext& rRenderContext, const tools::Rectan
const StyleSettings& rStyleSettings = rRenderContext.GetSettings().GetStyleSettings();
const Color& rWinColor = rStyleSettings.GetWindowColor();
- const Color& rFieldTextColor = SwViewOption::GetFontColor();
+ const Color& rFieldTextColor = SwViewOption::GetCurrentViewOptions().GetFontColor();
vcl::Font aFont = rRenderContext.GetFont();
aFont.SetFillColor(rWinColor);
diff --git a/sw/source/ui/misc/outline.cxx b/sw/source/ui/misc/outline.cxx
index f98603c6c7c3..1d4e3888f250 100644
--- a/sw/source/ui/misc/outline.cxx
+++ b/sw/source/ui/misc/outline.cxx
@@ -872,9 +872,13 @@ void NumberingPreview::Paint(vcl::RenderContext& rRenderContext, const tools::Re
pVDev->SetMapMode(rRenderContext.GetMapMode());
pVDev->SetOutputSize(aSize);
+ const SwViewOption& pOpt = SwViewOption::GetCurrentViewOptions();
+ const Color& rDocColor = pOpt.GetDocColor();
+ const Color& rDocBoundariesColor = pOpt.GetDocBoundariesColor();
+ const Color& rFontColor = pOpt.GetFontColor();
// #101524# OJ
- pVDev->SetFillColor(SwViewOption::GetDocColor());
- pVDev->SetLineColor(SwViewOption::GetDocBoundariesColor());
+ pVDev->SetFillColor(rDocColor);
+ pVDev->SetLineColor(rDocBoundariesColor);
pVDev->DrawRect(tools::Rectangle(Point(0,0), aSize));
if (m_pActNum)
@@ -897,9 +901,9 @@ void NumberingPreview::Paint(vcl::RenderContext& rRenderContext, const tools::Re
GetDefaultFontFlags::OnlyOne, &rRenderContext);
if (svtools::ColorConfig().GetColorValue(svtools::FONTCOLOR, false).nColor == COL_AUTO)
- m_aStdFont.SetColor( SwViewOption::GetDocColor().IsDark() ? COL_WHITE : COL_BLACK );
+ m_aStdFont.SetColor( rDocColor.IsDark() ? COL_WHITE : COL_BLACK );
else
- m_aStdFont.SetColor( SwViewOption::GetFontColor() );
+ m_aStdFont.SetColor( rFontColor );
const tools::Long nFontHeight = nYStep * ( m_bPosition ? 15 : 6 ) / 10;
m_aStdFont.SetFontSize(Size( 0, nFontHeight ));
diff --git a/sw/source/uibase/app/apphdl.cxx b/sw/source/uibase/app/apphdl.cxx
index 5d6a0a66514a..a78ba9416e19 100644
--- a/sw/source/uibase/app/apphdl.cxx
+++ b/sw/source/uibase/app/apphdl.cxx
@@ -969,19 +969,20 @@ void SwModule::ConfigurationChanged( utl::ConfigurationBroadcaster* pBrdCst, Con
}
else if ( pBrdCst == m_pColorConfig.get() )
{
- if( pBrdCst == m_pColorConfig.get() )
- SwViewOption::ApplyColorConfigValues(*m_pColorConfig);
-
//invalidate all edit windows
SfxViewShell* pViewShell = SfxViewShell::GetFirst();
while(pViewShell)
{
if(pViewShell->GetWindow())
{
- if(dynamic_cast< const SwView *>( pViewShell ) != nullptr ||
+ auto pSwView = dynamic_cast<SwView *>( pViewShell );
+ if(pSwView != nullptr ||
dynamic_cast< const SwPagePreview *>( pViewShell ) != nullptr ||
dynamic_cast< const SwSrcView *>( pViewShell ) != nullptr)
{
+ SwViewOption aNewOptions = *pSwView->GetWrtShell().GetViewOptions();
+ aNewOptions.SetColorConfig(*m_pColorConfig);
+ pSwView->GetWrtShell().ApplyViewOptions(aNewOptions);
pViewShell->GetWindow()->Invalidate();
}
}
@@ -1044,7 +1045,7 @@ svtools::ColorConfig& SwModule::GetColorConfig()
if(!m_pColorConfig)
{
m_pColorConfig.reset(new svtools::ColorConfig);
- SwViewOption::ApplyColorConfigValues(*m_pColorConfig);
+ SwViewOption::SetInitialColorConfig(*m_pColorConfig);
m_pColorConfig->AddListener(this);
}
return *m_pColorConfig;
diff --git a/sw/source/uibase/config/viewopt.cxx b/sw/source/uibase/config/viewopt.cxx
index 8b272a09d1fc..04dfa0dd12f2 100644
--- a/sw/source/uibase/config/viewopt.cxx
+++ b/sw/source/uibase/config/viewopt.cxx
@@ -29,6 +29,9 @@
#include <viewopt.hxx>
#include <wdocsh.hxx>
#include <swrect.hxx>
+#include <viewsh.hxx>
+#include <view.hxx>
+#include <wrtsh.hxx>
#include <crstate.hxx>
#include <authratr.hxx>
#include <svtools/colorcfg.hxx>
@@ -40,29 +43,103 @@
#include <comphelper/lok.hxx>
#include <comphelper/configurationlistener.hxx>
-Color SwViewOption::s_aDocBoundColor(COL_LIGHTGRAY);
-Color SwViewOption::s_aObjectBoundColor(COL_LIGHTGRAY);
-Color SwViewOption::s_aDocColor(COL_LIGHTGRAY);
-Color SwViewOption::s_aAppBackgroundColor(COL_LIGHTGRAY);
-Color SwViewOption::s_aTableBoundColor(COL_LIGHTGRAY);
-Color SwViewOption::s_aIndexShadingsColor(COL_LIGHTGRAY);
-Color SwViewOption::s_aLinksColor(COL_BLUE);
-Color SwViewOption::s_aVisitedLinksColor(COL_RED);
-Color SwViewOption::s_aDirectCursorColor(COL_BLUE);
-Color SwViewOption::s_aTextGridColor(COL_LIGHTGRAY);
-Color SwViewOption::s_aSpellColor(COL_LIGHTRED);
-Color SwViewOption::s_aGrammarColor(COL_LIGHTBLUE);
-Color SwViewOption::s_aSmarttagColor(COL_LIGHTMAGENTA);
-Color SwViewOption::s_aFontColor(COL_BLACK);
-Color SwViewOption::s_aFieldShadingsColor(COL_LIGHTGRAY);
-Color SwViewOption::s_aSectionBoundColor(COL_LIGHTGRAY);
-Color SwViewOption::s_aPageBreakColor(COL_BLUE);
-Color SwViewOption::s_aScriptIndicatorColor(COL_GREEN);
-Color SwViewOption::s_aShadowColor(COL_GRAY);
-Color SwViewOption::s_aHeaderFooterMarkColor(COL_BLUE);
-
-ViewOptFlags SwViewOption::s_nAppearanceFlags = ViewOptFlags::DocBoundaries|ViewOptFlags::ObjectBoundaries;
sal_uInt16 SwViewOption::s_nPixelTwips = 0; // one pixel on the screen
+SwViewColors SwViewOption::s_aInitialColorConfig {};
+
+SwViewColors::SwViewColors() :
+ m_aDocColor(COL_LIGHTGRAY),
+ m_aDocBoundColor(COL_LIGHTGRAY),
+ m_aObjectBoundColor(COL_LIGHTGRAY),
+ m_aAppBackgroundColor(COL_LIGHTGRAY),
+ m_aTableBoundColor(COL_LIGHTGRAY),
+ m_aFontColor(COL_BLACK),
+ m_aIndexShadingsColor(COL_LIGHTGRAY),
+ m_aLinksColor(COL_BLUE),
+ m_aVisitedLinksColor(COL_RED),
+ m_aDirectCursorColor(COL_BLUE),
+ m_aTextGridColor(COL_LIGHTGRAY),
+ m_aSpellColor(COL_LIGHTRED),
+ m_aGrammarColor(COL_LIGHTBLUE),
+ m_aSmarttagColor(COL_LIGHTMAGENTA),
+ m_aFieldShadingsColor(COL_LIGHTGRAY),
+ m_aSectionBoundColor(COL_LIGHTGRAY),
+ m_aPageBreakColor(COL_BLUE),
+ m_aScriptIndicatorColor(COL_GREEN),
+ m_aShadowColor(COL_GRAY),
+ m_aHeaderFooterMarkColor(COL_BLUE)
+{}
+
+SwViewColors::SwViewColors(const svtools::ColorConfig& rConfig)
+{
+ m_aDocColor = rConfig.GetColorValue(svtools::DOCCOLOR).nColor;
+
+ svtools::ColorConfigValue aValue = rConfig.GetColorValue(svtools::DOCBOUNDARIES);
+ m_aDocBoundColor = aValue.nColor;
+ m_nAppearanceFlags = ViewOptFlags::NONE;
+ if(aValue.bIsVisible)
+ m_nAppearanceFlags |= ViewOptFlags::DocBoundaries;
+
+ m_aAppBackgroundColor = rConfig.GetColorValue(svtools::APPBACKGROUND).nColor;
+
+ aValue = rConfig.GetColorValue(svtools::OBJECTBOUNDARIES);
+ m_aObjectBoundColor = aValue.nColor;
+ if(aValue.bIsVisible)
+ m_nAppearanceFlags |= ViewOptFlags::ObjectBoundaries;
+
+ aValue = rConfig.GetColorValue(svtools::TABLEBOUNDARIES);
+ m_aTableBoundColor = aValue.nColor;
+ if(aValue.bIsVisible)
+ m_nAppearanceFlags |= ViewOptFlags::TableBoundaries;
+
+ aValue = rConfig.GetColorValue(svtools::WRITERIDXSHADINGS);
+ m_aIndexShadingsColor = aValue.nColor;
+ if(aValue.bIsVisible)
+ m_nAppearanceFlags |= ViewOptFlags::IndexShadings;
+
+ aValue = rConfig.GetColorValue(svtools::LINKS);
+ m_aLinksColor = aValue.nColor;
+ if(aValue.bIsVisible)
+ m_nAppearanceFlags |= ViewOptFlags::Links;
+
+ aValue = rConfig.GetColorValue(svtools::LINKSVISITED);
+ m_aVisitedLinksColor = aValue.nColor;
+ if(aValue.bIsVisible)
+ m_nAppearanceFlags |= ViewOptFlags::VisitedLinks;
+
+ aValue = rConfig.GetColorValue(svtools::SHADOWCOLOR);
+ m_aShadowColor = aValue.nColor;
+ if(aValue.bIsVisible)
+ m_nAppearanceFlags |= ViewOptFlags::Shadow;
+
+ m_aDirectCursorColor = rConfig.GetColorValue(svtools::WRITERDIRECTCURSOR).nColor;
+
+ m_aTextGridColor = rConfig.GetColorValue(svtools::WRITERTEXTGRID).nColor;
+
+ m_aSpellColor = rConfig.GetColorValue(svtools::SPELL).nColor;
+ m_aGrammarColor = rConfig.GetColorValue(svtools::GRAMMAR).nColor;
+
+ m_aSmarttagColor = rConfig.GetColorValue(svtools::SMARTTAGS).nColor;
+
+ m_aFontColor = rConfig.GetColorValue(svtools::FONTCOLOR).nColor;
+
+ aValue = rConfig.GetColorValue(svtools::WRITERFIELDSHADINGS);
+ m_aFieldShadingsColor = aValue.nColor;
+ if(aValue.bIsVisible)
+ m_nAppearanceFlags |= ViewOptFlags::FieldShadings;
+
+ aValue = rConfig.GetColorValue(svtools::WRITERSECTIONBOUNDARIES);
+ m_aSectionBoundColor = aValue.nColor;
+ if(aValue.bIsVisible)
+ m_nAppearanceFlags |= ViewOptFlags::SectionBoundaries;
+
+ aValue = rConfig.GetColorValue(svtools::WRITERPAGEBREAKS);
+ m_aPageBreakColor = aValue.nColor;
+
+ aValue = rConfig.GetColorValue(svtools::WRITERHEADERFOOTERMARK);
+ m_aHeaderFooterMarkColor = aValue.nColor;
+
+ m_aScriptIndicatorColor = rConfig.GetColorValue(svtools::WRITERSCRIPTINDICATOR).nColor;
+}
bool SwViewOption::IsEqualFlags( const SwViewOption &rOpt ) const
{
@@ -140,7 +217,7 @@ sal_uInt16 SwViewOption::GetPostItsWidth( const OutputDevice *pOut )
return sal_uInt16(pOut->GetTextWidth(" "));
}
-void SwViewOption::PaintPostIts( OutputDevice *pOut, const SwRect &rRect, bool bIsScript )
+void SwViewOption::PaintPostIts( OutputDevice *pOut, const SwRect &rRect, bool bIsScript ) const
{
if( !(pOut && bIsScript) )
return;
@@ -154,7 +231,7 @@ void SwViewOption::PaintPostIts( OutputDevice *pOut, const SwRect &rRect, bool b
const Point aTopLeft( rRect.Left() + nPix, rRect.Top() + nPix );
const Point aBotRight( rRect.Right() - nPix, rRect.Bottom() - nPix );
const SwRect aRect( aTopLeft, aBotRight );
- DrawRect( pOut, aRect, s_aScriptIndicatorColor );
+ DrawRect( pOut, aRect, m_aColorConfig.m_aScriptIndicatorColor );
pOut->SetLineColor( aOldLineColor );
}
@@ -213,8 +290,9 @@ SwViewOption::SwViewOption() :
m_bTest1 = m_bTest2 = m_bTest3 = m_bTest4 =
m_bTest5 = m_bTest6 = m_bTest7 = m_bTest8 = m_bTest10 = false;
#endif
+ m_aColorConfig = s_aInitialColorConfig;
if (comphelper::LibreOfficeKit::isActive())
- s_aAppBackgroundColor = COL_TRANSPARENT;
+ m_aColorConfig.m_aAppBackgroundColor = COL_TRANSPARENT;
}
SwViewOption::SwViewOption(const SwViewOption& rVOpt)
@@ -247,6 +325,7 @@ SwViewOption::SwViewOption(const SwViewOption& rVOpt)
m_bShowPlaceHolderFields = rVOpt.m_bShowPlaceHolderFields;
m_bIdle = rVOpt.m_bIdle;
m_nDefaultAnchor = rVOpt.m_nDefaultAnchor;
+ m_aColorConfig = rVOpt.m_aColorConfig;
#ifdef DBG_UTIL
m_bTest1 = rVOpt.m_bTest1;
@@ -289,6 +368,7 @@ SwViewOption& SwViewOption::operator=( const SwViewOption &rVOpt )
m_bShowPlaceHolderFields = rVOpt.m_bShowPlaceHolderFields;
m_bIdle = rVOpt.m_bIdle;
m_nDefaultAnchor = rVOpt.m_nDefaultAnchor;
+ m_aColorConfig = rVOpt.m_aColorConfig;
#ifdef DBG_UTIL
m_bTest1 = rVOpt.m_bTest1;
@@ -366,179 +446,107 @@ RndStdIds SwViewOption::GetDefaultAnchorType() const
}//switch
}
-Color& SwViewOption::GetDocColor()
+const Color& SwViewOption::GetDocColor() const
{
- return s_aDocColor;
+ return m_aColorConfig.m_aDocColor;
}
-Color& SwViewOption::GetDocBoundariesColor()
+const Color& SwViewOption::GetDocBoundariesColor() const
{
- return s_aDocBoundColor;
+ return m_aColorConfig.m_aDocBoundColor;
}
-Color& SwViewOption::GetObjectBoundariesColor()
+const Color& SwViewOption::GetObjectBoundariesColor() const
{
- return s_aObjectBoundColor;
+ return m_aColorConfig.m_aObjectBoundColor;
}
-Color& SwViewOption::GetAppBackgroundColor()
+const Color& SwViewOption::GetAppBackgroundColor() const
{
- return s_aAppBackgroundColor;
+ return m_aColorConfig.m_aAppBackgroundColor;
}
-Color& SwViewOption::GetTableBoundariesColor()
+const Color& SwViewOption::GetTableBoundariesColor() const
{
- return s_aTableBoundColor;
+ return m_aColorConfig.m_aTableBoundColor;
}
-Color& SwViewOption::GetIndexShadingsColor()
+const Color& SwViewOption::GetIndexShadingsColor() const
{
- return s_aIndexShadingsColor;
+ return m_aColorConfig.m_aIndexShadingsColor;
}
-Color& SwViewOption::GetLinksColor()
+const Color& SwViewOption::GetLinksColor() const
{
- return s_aLinksColor;
+ return m_aColorConfig.m_aLinksColor;
}
-Color& SwViewOption::GetVisitedLinksColor()
+const Color& SwViewOption::GetVisitedLinksColor() const
{
- return s_aVisitedLinksColor;
+ return m_aColorConfig.m_aVisitedLinksColor;
}
-Color& SwViewOption::GetDirectCursorColor()
+const Color& SwViewOption::GetDirectCursorColor() const
{
- return s_aDirectCursorColor;
+ return m_aColorConfig.m_aDirectCursorColor;
}
-Color& SwViewOption::GetTextGridColor()
+const Color& SwViewOption::GetTextGridColor() const
{
- return s_aTextGridColor;
+ return m_aColorConfig.m_aTextGridColor;
}
-Color& SwViewOption::GetSpellColor()
+const Color& SwViewOption::GetSpellColor() const
{
- return s_aSpellColor;
+ return m_aColorConfig.m_aSpellColor;
}
-Color& SwViewOption::GetGrammarColor()
+const Color& SwViewOption::GetGrammarColor() const
{
- return s_aGrammarColor;
+ return m_aColorConfig.m_aGrammarColor;
}
-Color& SwViewOption::GetSmarttagColor()
+const Color& SwViewOption::GetSmarttagColor() const
{
- return s_aSmarttagColor;
+ return m_aColorConfig.m_aSmarttagColor;
}
-Color& SwViewOption::GetShadowColor()
+const Color& SwViewOption::GetShadowColor() const
{
- return s_aShadowColor;
+ return m_aColorConfig.m_aShadowColor;
}
-Color& SwViewOption::GetFontColor()
+const Color& SwViewOption::GetFontColor() const
{
- return s_aFontColor;
+ return m_aColorConfig.m_aFontColor;
}
-Color& SwViewOption::GetFieldShadingsColor()
+const Color& SwViewOption::GetFieldShadingsColor() const
{
- return s_aFieldShadingsColor;
+ return m_aColorConfig.m_aFieldShadingsColor;
}
-Color& SwViewOption::GetSectionBoundColor()
+const Color& SwViewOption::GetSectionBoundColor() const
{
- return s_aSectionBoundColor;
+ return m_aColorConfig.m_aSectionBoundColor;
}
-Color& SwViewOption::GetPageBreakColor()
+const Color& SwViewOption::GetPageBreakColor() const
{
- return s_aPageBreakColor;
+ return m_aColorConfig.m_aPageBreakColor;
}
-Color& SwViewOption::GetHeaderFooterMarkColor()
+const Color& SwViewOption::GetHeaderFooterMarkColor() const
{
- return s_aHeaderFooterMarkColor;
-}
-
-void SwViewOption::ApplyColorConfigValues(const svtools::ColorConfig& rConfig )
-{
- s_aDocColor = rConfig.GetColorValue(svtools::DOCCOLOR).nColor;
-
- svtools::ColorConfigValue aValue = rConfig.GetColorValue(svtools::DOCBOUNDARIES);
- s_aDocBoundColor = aValue.nColor;
- s_nAppearanceFlags = ViewOptFlags::NONE;
- if(aValue.bIsVisible)
- s_nAppearanceFlags |= ViewOptFlags::DocBoundaries;
-
- s_aAppBackgroundColor = rConfig.GetColorValue(svtools::APPBACKGROUND).nColor;
-
- aValue = rConfig.GetColorValue(svtools::OBJECTBOUNDARIES);
- s_aObjectBoundColor = aValue.nColor;
- if(aValue.bIsVisible)
- s_nAppearanceFlags |= ViewOptFlags::ObjectBoundaries;
-
- aValue = rConfig.GetColorValue(svtools::TABLEBOUNDARIES);
- s_aTableBoundColor = aValue.nColor;
- if(aValue.bIsVisible)
- s_nAppearanceFlags |= ViewOptFlags::TableBoundaries;
-
- aValue = rConfig.GetColorValue(svtools::WRITERIDXSHADINGS);
- s_aIndexShadingsColor = aValue.nColor;
- if(aValue.bIsVisible)
- s_nAppearanceFlags |= ViewOptFlags::IndexShadings;
-
- aValue = rConfig.GetColorValue(svtools::LINKS);
- s_aLinksColor = aValue.nColor;
- if(aValue.bIsVisible)
- s_nAppearanceFlags |= ViewOptFlags::Links;
-
- aValue = rConfig.GetColorValue(svtools::LINKSVISITED);
- s_aVisitedLinksColor = aValue.nColor;
- if(aValue.bIsVisible)
- s_nAppearanceFlags |= ViewOptFlags::VisitedLinks;
-
- aValue = rConfig.GetColorValue(svtools::SHADOWCOLOR);
- s_aShadowColor = aValue.nColor;
- if(aValue.bIsVisible)
- s_nAppearanceFlags |= ViewOptFlags::Shadow;
-
- s_aDirectCursorColor = rConfig.GetColorValue(svtools::WRITERDIRECTCURSOR).nColor;
-
- s_aTextGridColor = rConfig.GetColorValue(svtools::WRITERTEXTGRID).nColor;
-
- s_aSpellColor = rConfig.GetColorValue(svtools::SPELL).nColor;
- s_aGrammarColor = rConfig.GetColorValue(svtools::GRAMMAR).nColor;
-
- s_aSmarttagColor = rConfig.GetColorValue(svtools::SMARTTAGS).nColor;
-
- s_aFontColor = rConfig.GetColorValue(svtools::FONTCOLOR).nColor;
-
- aValue = rConfig.GetColorValue(svtools::WRITERFIELDSHADINGS);
- s_aFieldShadingsColor = aValue.nColor;
- if(aValue.bIsVisible)
- s_nAppearanceFlags |= ViewOptFlags::FieldShadings;
-
- aValue = rConfig.GetColorValue(svtools::WRITERSECTIONBOUNDARIES);
- s_aSectionBoundColor = aValue.nColor;
- if(aValue.bIsVisible)
- s_nAppearanceFlags |= ViewOptFlags::SectionBoundaries;
-
- aValue = rConfig.GetColorValue(svtools::WRITERPAGEBREAKS);
- s_aPageBreakColor = aValue.nColor;
-
- aValue = rConfig.GetColorValue(svtools::WRITERHEADERFOOTERMARK);
- s_aHeaderFooterMarkColor = aValue.nColor;
-
- s_aScriptIndicatorColor = rConfig.GetColorValue(svtools::WRITERSCRIPTINDICATOR).nColor;
+ return m_aColorConfig.m_aHeaderFooterMarkColor;
}
void SwViewOption::SetAppearanceFlag(ViewOptFlags nFlag, bool bSet, bool bSaveInConfig )
{
if(bSet)
- s_nAppearanceFlags |= nFlag;
+ m_aColorConfig.m_nAppearanceFlags |= nFlag;
else
- s_nAppearanceFlags &= ~nFlag;
+ m_aColorConfig.m_nAppearanceFlags &= ~nFlag;
if(!bSaveInConfig)
return;
@@ -575,9 +583,9 @@ void SwViewOption::SetAppearanceFlag(ViewOptFlags nFlag, bool bSet, bool bSaveIn
}
}
-bool SwViewOption::IsAppearanceFlag(ViewOptFlags nFlag)
+bool SwViewOption::IsAppearanceFlag(ViewOptFlags nFlag) const
{
- return bool(s_nAppearanceFlags & nFlag);
+ return bool(m_aColorConfig.m_nAppearanceFlags & nFlag);
}
namespace{
@@ -594,4 +602,18 @@ bool SwViewOption::IsIgnoreProtectedArea()
return gIgnoreProtectedArea.get();
}
+const SwViewOption& SwViewOption::GetCurrentViewOptions()
+{
+ SfxViewShell* pCurrentShell = SfxViewShell::Current();
+ SwView* pView = dynamic_cast<SwView*>(pCurrentShell);
+ if(pView)
+ {
+ return *pView->GetWrtShell().GetViewOptions();
+ }
+
+ // Some unit tests don't have a SfxViewShell, so we need to return something
+ static SwViewOption aDefaultViewOptions;
+ return aDefaultViewOptions;
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/uibase/docvw/AnnotationWin2.cxx b/sw/source/uibase/docvw/AnnotationWin2.cxx
index eff0c82571d8..677d62210046 100644
--- a/sw/source/uibase/docvw/AnnotationWin2.cxx
+++ b/sw/source/uibase/docvw/AnnotationWin2.cxx
@@ -352,14 +352,14 @@ void SwAnnotationWin::InitControls()
EEControlBits nCntrl = mpOutliner->GetControlWord();
// TODO: crash when AUTOCOMPLETE enabled
nCntrl |= EEControlBits::MARKFIELDS | EEControlBits::PASTESPECIAL | EEControlBits::AUTOCORRECT | EEControlBits::USECHARATTRIBS; // | EEControlBits::AUTOCOMPLETE;
- if (SwViewOption::IsFieldShadings())
- nCntrl |= EEControlBits::MARKFIELDS;
- else
- nCntrl &= ~EEControlBits::MARKFIELDS;
if (SwWrtShell* pWrtShell = mrView.GetWrtShellPtr())
{
const SwViewOption* pVOpt = pWrtShell->GetViewOptions();
+ if (pVOpt->IsFieldShadings())
+ nCntrl |= EEControlBits::MARKFIELDS;
+ else
+ nCntrl &= ~EEControlBits::MARKFIELDS;
if (pVOpt->IsOnlineSpell())
nCntrl |= EEControlBits::ONLINESPELLING;
else
diff --git a/sw/source/uibase/docvw/DashedLine.cxx b/sw/source/uibase/docvw/DashedLine.cxx
index 2ec691b4c643..0ede6da3ae1f 100644
--- a/sw/source/uibase/docvw/DashedLine.cxx
+++ b/sw/source/uibase/docvw/DashedLine.cxx
@@ -19,7 +19,7 @@
#include <vcl/settings.hxx>
#include <memory>
-SwDashedLine::SwDashedLine( vcl::Window* pParent, Color& ( *pColorFn )() )
+SwDashedLine::SwDashedLine( vcl::Window* pParent, const Color& ( SwViewOption::* pColorFn )() const )
: Control( pParent, WB_DIALOGCONTROL | WB_HORZ )
, m_pColorFn( pColorFn )
{
@@ -51,7 +51,7 @@ void SwDashedLine::Paint(vcl::RenderContext& rRenderContext, const tools::Rectan
const StyleSettings& rSettings = Application::GetSettings().GetStyleSettings();
std::vector<double> aStrokePattern;
- basegfx::BColor aColor = m_pColorFn().getBColor();
+ basegfx::BColor aColor = (SwViewOption::GetCurrentViewOptions().*m_pColorFn)().getBColor();
if (rSettings.GetHighContrastMode())
{
// Only a solid line in high contrast mode
@@ -82,7 +82,7 @@ void SwDashedLine::Paint(vcl::RenderContext& rRenderContext, const tools::Rectan
aSeq[aSeq.size() - 1] =
new drawinglayer::primitive2d::PolyPolygonStrokePrimitive2D(
basegfx::B2DPolyPolygon(aPolygon),
- drawinglayer::attribute::LineAttribute(m_pColorFn().getBColor()),
+ drawinglayer::attribute::LineAttribute((SwViewOption::GetCurrentViewOptions().*m_pColorFn)().getBColor()),
drawinglayer::attribute::StrokeAttribute(std::move(aStrokePattern)));
pProcessor->process(aSeq);
diff --git a/sw/source/uibase/docvw/HeaderFooterWin.cxx b/sw/source/uibase/docvw/HeaderFooterWin.cxx
index 186deaa12ab2..654e6be416b6 100644
--- a/sw/source/uibase/docvw/HeaderFooterWin.cxx
+++ b/sw/source/uibase/docvw/HeaderFooterWin.cxx
@@ -132,7 +132,7 @@ void SwFrameButtonPainter::PaintButton(drawinglayer::primitive2d::Primitive2DCon
B2DPolygon aPolygon = lcl_GetPolygon(rRect, bOnTop);
// Colors
- basegfx::BColor aLineColor = SwViewOption::GetHeaderFooterMarkColor().getBColor();
+ basegfx::BColor aLineColor = SwViewOption::GetCurrentViewOptions().GetHeaderFooterMarkColor().getBColor();
basegfx::BColor aFillColor = lcl_GetFillColor(aLineColor);
basegfx::BColor aLighterColor = lcl_GetLighterGradientColor(aFillColor);
@@ -362,7 +362,7 @@ void SwHeaderFooterWin::PaintButton()
SwFrameButtonPainter::PaintButton(aSeq, aRect, m_bIsHeader);
// Create the text primitive
- basegfx::BColor aLineColor = SwViewOption::GetHeaderFooterMarkColor().getBColor();
+ basegfx::BColor aLineColor = SwViewOption::GetCurrentViewOptions().GetHeaderFooterMarkColor().getBColor();
B2DVector aFontSize;
FontAttribute aFontAttr = drawinglayer::primitive2d::getFontAttributeFromVclFont(aFontSize, m_xVirDev->GetFont(), false, false);
diff --git a/sw/source/uibase/docvw/PageBreakWin.cxx b/sw/source/uibase/docvw/PageBreakWin.cxx
index 1af030258d01..398dfd2987b9 100644
--- a/sw/source/uibase/docvw/PageBreakWin.cxx
+++ b/sw/source/uibase/docvw/PageBreakWin.cxx
@@ -174,7 +174,7 @@ void SwPageBreakWin::PaintButton()
const ::tools::Rectangle aRect(::tools::Rectangle(Point(0, 0), m_xVirDev->PixelToLogic(GetSizePixel())));
// Properly paint the control
- BColor aColor = SwViewOption::GetPageBreakColor().getBColor();
+ BColor aColor = SwViewOption::GetCurrentViewOptions().GetPageBreakColor().getBColor();
BColor aHslLine = rgb2hsl(aColor);
double nLuminance = aHslLine.getZ();
diff --git a/sw/source/uibase/docvw/UnfloatTableButton.cxx b/sw/source/uibase/docvw/UnfloatTableButton.cxx
index 79443c3adea1..e1cdf8c7aad9 100644
--- a/sw/source/uibase/docvw/UnfloatTableButton.cxx
+++ b/sw/source/uibase/docvw/UnfloatTableButton.cxx
@@ -207,7 +207,8 @@ void UnfloatTableButton::PaintButton()
SwFrameButtonPainter::PaintButton(aSeq, aRect, true);
// Create the text primitive
- basegfx::BColor aLineColor = SwViewOption::GetHeaderFooterMarkColor().getBColor();
+ basegfx::BColor aLineColor
+ = SwViewOption::GetCurrentViewOptions().GetHeaderFooterMarkColor().getBColor();
basegfx::B2DVector aFontSize;
drawinglayer::attribute::FontAttribute aFontAttr
= drawinglayer::primitive2d::getFontAttributeFromVclFont(aFontSize, m_xVirDev->GetFont(),
diff --git a/sw/source/uibase/docvw/contentcontrolaliasbutton.cxx b/sw/source/uibase/docvw/contentcontrolaliasbutton.cxx
index abb792dcd943..0d11b5c60641 100644
--- a/sw/source/uibase/docvw/contentcontrolaliasbutton.cxx
+++ b/sw/source/uibase/docvw/contentcontrolaliasbutton.cxx
@@ -102,7 +102,8 @@ void SwContentControlAliasButton::PaintButton()
SwFrameButtonPainter::PaintButton(aSeq, aRect, /*bOnTop=*/false);
// Create the text primitive
- basegfx::BColor aLineColor = SwViewOption::GetHeaderFooterMarkColor().getBColor();
+ const SwViewOption* pVOpt = GetEditWin()->GetView().GetWrtShell().GetViewOptions();
+ basegfx::BColor aLineColor = pVOpt->GetHeaderFooterMarkColor().getBColor();
basegfx::B2DVector aFontSize;
drawinglayer::attribute::FontAttribute aFontAttr
= drawinglayer::primitive2d::getFontAttributeFromVclFont(aFontSize, m_xVirDev->GetFont(),
diff --git a/sw/source/uibase/docvw/edtwin.cxx b/sw/source/uibase/docvw/edtwin.cxx
index b7a63bda7a38..50ad58e1d7fd 100644
--- a/sw/source/uibase/docvw/edtwin.cxx
+++ b/sw/source/uibase/docvw/edtwin.cxx
@@ -4550,7 +4550,7 @@ void SwEditWin::MouseMove(const MouseEvent& _rMEvt)
{
if( !m_pShadCursor )
m_pShadCursor.reset( new SwShadowCursor( *this,
- SwViewOption::GetDirectCursorColor() ) );
+ rSh.GetViewOptions()->GetDirectCursorColor() ) );
if( text::HoriOrientation::RIGHT != eOrient && text::HoriOrientation::CENTER != eOrient )
eOrient = text::HoriOrientation::LEFT;
m_pShadCursor->SetPos( aRect.Pos(), aRect.Height(), static_cast< sal_uInt16 >(eOrient) );
diff --git a/sw/source/uibase/frmdlg/colex.cxx b/sw/source/uibase/frmdlg/colex.cxx
index 8649a33e049d..b77512b9e8e4 100644
--- a/sw/source/uibase/frmdlg/colex.cxx
+++ b/sw/source/uibase/frmdlg/colex.cxx
@@ -340,7 +340,7 @@ void SwColumnOnlyExample::Paint(vcl::RenderContext& rRenderContext, const tools:
const StyleSettings& rStyleSettings = rRenderContext.GetSettings().GetStyleSettings();
const Color& rFieldColor = rStyleSettings.GetFieldColor();
const Color& rDlgColor = rStyleSettings.GetDialogColor();
- const Color& rFieldTextColor = SwViewOption::GetFontColor();
+ const Color& rFieldTextColor = SwViewOption::GetCurrentViewOptions().GetFontColor();
Color aGrayColor(COL_LIGHTGRAY);
if (rFieldColor == aGrayColor)
aGrayColor.Invert();
diff --git a/sw/source/uibase/inc/DashedLine.hxx b/sw/source/uibase/inc/DashedLine.hxx
index a2d2aa1b012f..f4b808ec29ad 100644
--- a/sw/source/uibase/inc/DashedLine.hxx
+++ b/sw/source/uibase/inc/DashedLine.hxx
@@ -10,15 +10,16 @@
#define INCLUDED_SW_SOURCE_UIBASE_INC_DASHEDLINE_HXX
#include <vcl/ctrl.hxx>
+#include <viewopt.hxx>
/** Class for displaying a dashed line in the Writer GUI.
*/
class SwDashedLine : public Control
{
- Color& (*m_pColorFn)();
+ const Color& (SwViewOption::*m_pColorFn)() const;
public:
- SwDashedLine(vcl::Window* pParent, Color& (*pColorFn)());
+ SwDashedLine(vcl::Window* pParent, const Color& (SwViewOption::*pColorFn)() const);
virtual ~SwDashedLine() override;
virtual void Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect) override;
diff --git a/sw/source/uibase/uiview/view0.cxx b/sw/source/uibase/uiview/view0.cxx
index a9044776e029..ba555570044e 100644
--- a/sw/source/uibase/uiview/view0.cxx
+++ b/sw/source/uibase/uiview/view0.cxx
@@ -142,13 +142,13 @@ static bool lcl_IsViewMarks( const SwViewOption& rVOpt )
{
return rVOpt.IsHardBlank() &&
rVOpt.IsSoftHyph() &&
- SwViewOption::IsFieldShadings();
+ rVOpt.IsFieldShadings();
}
static void lcl_SetViewMarks(SwViewOption& rVOpt, bool bOn )
{
rVOpt.SetHardBlank(bOn);
rVOpt.SetSoftHyph(bOn);
- SwViewOption::SetAppearanceFlag(
+ rVOpt.SetAppearanceFlag(
ViewOptFlags::FieldShadings, bOn, true);
}
@@ -253,13 +253,13 @@ void SwView::StateViewOptions(SfxItemSet &rSet)
}
break;
case FN_VIEW_BOUNDS:
- aBool.SetValue( SwViewOption::IsDocBoundaries()); break;
+ aBool.SetValue( pOpt->IsDocBoundaries()); break;
case FN_VIEW_SECTION_BOUNDARIES:
- aBool.SetValue(SwViewOption::IsSectionBoundaries()); break;
+ aBool.SetValue(pOpt->IsSectionBoundaries()); break;
case FN_VIEW_GRAPHIC:
aBool.SetValue( pOpt->IsGraphic() ); break;
case FN_VIEW_FIELDS:
- aBool.SetValue( SwViewOption::IsFieldShadings() ); break;
+ aBool.SetValue( pOpt->IsFieldShadings() ); break;
case FN_VIEW_FIELDNAME:
aBool.SetValue( pOpt->IsFieldName() ); break;
case FN_VIEW_MARKS:
@@ -267,7 +267,7 @@ void SwView::StateViewOptions(SfxItemSet &rSet)
case FN_VIEW_META_CHARS:
aBool.SetValue( pOpt->IsViewMetaChars() ); break;
case FN_VIEW_TABLEGRID:
- aBool.SetValue( SwViewOption::IsTableBoundaries() ); break;
+ aBool.SetValue( pOpt->IsTableBoundaries() ); break;
case SID_TOGGLE_NOTES:
{
if (!GetPostItMgr()->HasNotes())
@@ -404,20 +404,20 @@ void SwView::ExecViewOptions(SfxRequest &rReq)
case FN_VIEW_FIELDS:
if( STATE_TOGGLE == eState )
- bFlag = !SwViewOption::IsFieldShadings() ;
- SwViewOption::SetAppearanceFlag(ViewOptFlags::FieldShadings, bFlag, true );
+ bFlag = !pOpt->IsFieldShadings() ;
+ pOpt->SetAppearanceFlag(ViewOptFlags::FieldShadings, bFlag, true );
break;
case FN_VIEW_BOUNDS:
if( STATE_TOGGLE == eState )
- bFlag = !SwViewOption::IsDocBoundaries();
- SwViewOption::SetAppearanceFlag(ViewOptFlags::DocBoundaries, bFlag, true );
+ bFlag = !pOpt->IsDocBoundaries();
+ pOpt->SetAppearanceFlag(ViewOptFlags::DocBoundaries, bFlag, true );
break;
case FN_VIEW_SECTION_BOUNDARIES:
if( STATE_TOGGLE == eState )
- bFlag = !SwViewOption::IsSectionBoundaries();
- SwViewOption::SetAppearanceFlag(ViewOptFlags::SectionBoundaries, bFlag, true );
+ bFlag = !pOpt->IsSectionBoundaries();
+ pOpt->SetAppearanceFlag(ViewOptFlags::SectionBoundaries, bFlag, true );
break;
case SID_GRID_VISIBLE:
@@ -531,8 +531,8 @@ void SwView::ExecViewOptions(SfxRequest &rReq)
case FN_VIEW_TABLEGRID:
if( STATE_TOGGLE == eState )
- bFlag = !SwViewOption::IsTableBoundaries();
- SwViewOption::SetAppearanceFlag(ViewOptFlags::TableBoundaries, bFlag, true );
+ bFlag = !pOpt->IsTableBoundaries();
+ pOpt->SetAppearanceFlag(ViewOptFlags::TableBoundaries, bFlag, true );
break;
case FN_VIEW_FIELDNAME:
diff --git a/sw/source/uibase/uiview/viewdraw.cxx b/sw/source/uibase/uiview/viewdraw.cxx
index 35c3c3174f4e..9e718ee379ea 100644
--- a/sw/source/uibase/uiview/viewdraw.cxx
+++ b/sw/source/uibase/uiview/viewdraw.cxx
@@ -524,7 +524,7 @@ bool SwView::BeginTextEdit(SdrObject* pObj, SdrPageView* pPV, vcl::Window* pWin,
const SwViewOption *pOpt = pSh->GetViewOptions();
- if (SwViewOption::IsFieldShadings())
+ if (pOpt->IsFieldShadings())
nCntrl |= EEControlBits::MARKFIELDS;
else
nCntrl &= ~EEControlBits::MARKFIELDS;
diff --git a/sw/source/uibase/uno/unomod.cxx b/sw/source/uibase/uno/unomod.cxx
index 1506d197b850..a4f1def14629 100644
--- a/sw/source/uibase/uno/unomod.cxx
+++ b/sw/source/uibase/uno/unomod.cxx
@@ -575,10 +575,10 @@ void SwXViewSettings::_setSingleValue( const comphelper::PropertyInfo & rInfo, c
case HANDLE_VIEWSET_DRAWINGS : mpViewOption->SetDraw(*o3tl::doAccess<bool>(rValue)); break;
case HANDLE_VIEWSET_FIELD_COMMANDS : mpViewOption->SetFieldName(*o3tl::doAccess<bool>(rValue)); break;
case HANDLE_VIEWSET_ANNOTATIONS : mpViewOption->SetPostIts(*o3tl::doAccess<bool>(rValue)); break;
- case HANDLE_VIEWSET_INDEX_MARK_BACKGROUND : SwViewOption::SetAppearanceFlag(ViewOptFlags::FieldShadings, *o3tl::doAccess<bool>(rValue), true); break;
+ case HANDLE_VIEWSET_INDEX_MARK_BACKGROUND : mpViewOption->SetAppearanceFlag(ViewOptFlags::FieldShadings, *o3tl::doAccess<bool>(rValue), true); break;
case HANDLE_VIEWSET_NONPRINTING_CHARACTERS: mpViewOption->SetViewMetaChars( *o3tl::doAccess<bool>(rValue) ); break;
- case HANDLE_VIEWSET_FOOTNOTE_BACKGROUND : SwViewOption::SetAppearanceFlag(ViewOptFlags::FieldShadings, *o3tl::doAccess<bool>(rValue), true); break;
- case HANDLE_VIEWSET_TEXT_FIELD_BACKGROUND : SwViewOption::SetAppearanceFlag(ViewOptFlags::FieldShadings, *o3tl::doAccess<bool>(rValue), true); break;
+ case HANDLE_VIEWSET_FOOTNOTE_BACKGROUND : mpViewOption->SetAppearanceFlag(ViewOptFlags::FieldShadings, *o3tl::doAccess<bool>(rValue), true); break;
+ case HANDLE_VIEWSET_TEXT_FIELD_BACKGROUND : mpViewOption->SetAppearanceFlag(ViewOptFlags::FieldShadings, *o3tl::doAccess<bool>(rValue), true); break;
case HANDLE_VIEWSET_PARA_BREAKS : mpViewOption->SetParagraph(*o3tl::doAccess<bool>(rValue)); break;
case HANDLE_VIEWSET_SOFT_HYPHENS : mpViewOption->SetSoftHyph(*o3tl::doAccess<bool>(rValue)); break;
case HANDLE_VIEWSET_SPACES : mpViewOption->SetBlank(*o3tl::doAccess<bool>(rValue)); break;
@@ -589,8 +589,8 @@ void SwXViewSettings::_setSingleValue( const comphelper::PropertyInfo & rInfo, c
case HANDLE_VIEWSET_HIDDEN_TEXT : mpViewOption->SetShowHiddenField(*o3tl::doAccess<bool>(rValue)); break;
case HANDLE_VIEWSET_HIDDEN_CHARACTERS : mpViewOption->SetShowHiddenChar(*o3tl::doAccess<bool>(rValue)); break;
case HANDLE_VIEWSET_HIDDEN_PARAGRAPHS : mpViewOption->SetShowHiddenPara(*o3tl::doAccess<bool>(rValue)); break;
- case HANDLE_VIEWSET_TABLE_BOUNDARIES : SwViewOption::SetAppearanceFlag(ViewOptFlags::TableBoundaries, *o3tl::doAccess<bool>(rValue), true); break;
- case HANDLE_VIEWSET_TEXT_BOUNDARIES : SwViewOption::SetDocBoundaries(*o3tl::doAccess<bool>(rValue)); break;
+ case HANDLE_VIEWSET_TABLE_BOUNDARIES : mpViewOption->SetAppearanceFlag(ViewOptFlags::TableBoundaries, *o3tl::doAccess<bool>(rValue), true); break;
+ case HANDLE_VIEWSET_TEXT_BOUNDARIES : mpViewOption->SetDocBoundaries(*o3tl::doAccess<bool>(rValue)); break;
case HANDLE_VIEWSET_SMOOTH_SCROLLING : mpViewOption->SetSmoothScroll(*o3tl::doAccess<bool>(rValue)); break;
case HANDLE_VIEWSET_SHOW_CONTENT_TIPS : mpViewOption->SetShowContentTips(*o3tl::doAccess<bool>(rValue)); break;
case HANDLE_VIEWSET_IS_RASTER_VISIBLE : mpViewOption->SetGridVisible(*o3tl::doAccess<bool>(rValue)); break;
@@ -820,10 +820,10 @@ void SwXViewSettings::_getSingleValue( const comphelper::PropertyInfo & rInfo, u
case HANDLE_VIEWSET_DRAWINGS : bBoolVal = mpConstViewOption->IsDraw(); break;
case HANDLE_VIEWSET_FIELD_COMMANDS : bBoolVal = mpConstViewOption->IsFieldName(); break;
case HANDLE_VIEWSET_ANNOTATIONS : bBoolVal = mpConstViewOption->IsPostIts(); break;
- case HANDLE_VIEWSET_INDEX_MARK_BACKGROUND : bBoolVal = SwViewOption::IsFieldShadings(); break;
+ case HANDLE_VIEWSET_INDEX_MARK_BACKGROUND : bBoolVal = mpConstViewOption->IsFieldShadings(); break;
case HANDLE_VIEWSET_NONPRINTING_CHARACTERS: bBoolVal = mpConstViewOption->IsViewMetaChars(); break;
- case HANDLE_VIEWSET_FOOTNOTE_BACKGROUND : bBoolVal = SwViewOption::IsFieldShadings(); break;
- case HANDLE_VIEWSET_TEXT_FIELD_BACKGROUND : bBoolVal = SwViewOption::IsFieldShadings(); break;
+ case HANDLE_VIEWSET_FOOTNOTE_BACKGROUND : bBoolVal = mpConstViewOption->IsFieldShadings(); break;
+ case HANDLE_VIEWSET_TEXT_FIELD_BACKGROUND : bBoolVal = mpConstViewOption->IsFieldShadings(); break;
case HANDLE_VIEWSET_PARA_BREAKS : bBoolVal = mpConstViewOption->IsParagraph(true); break;
case HANDLE_VIEWSET_SOFT_HYPHENS : bBoolVal = mpConstViewOption->IsSoftHyph(); break;
case HANDLE_VIEWSET_SPACES : bBoolVal = mpConstViewOption->IsBlank(true); break;
@@ -835,8 +835,8 @@ void SwXViewSettings::_getSingleValue( const comphelper::PropertyInfo & rInfo, u
case HANDLE_VIEWSET_HIDDEN_CHARACTERS : bBoolVal = mpConstViewOption->IsShowHiddenChar(true); break;
case HANDLE_VIEWSET_HIDE_WHITESPACE : bBoolVal = mpConstViewOption->IsHideWhitespaceMode(); break;
case HANDLE_VIEWSET_HIDDEN_PARAGRAPHS : bBoolVal = mpConstViewOption->IsShowHiddenPara(); break;
- case HANDLE_VIEWSET_TABLE_BOUNDARIES : bBoolVal = SwViewOption::IsTableBoundaries(); break;
- case HANDLE_VIEWSET_TEXT_BOUNDARIES : bBoolVal = SwViewOption::IsDocBoundaries(); break;
+ case HANDLE_VIEWSET_TABLE_BOUNDARIES : bBoolVal = mpConstViewOption->IsTableBoundaries(); break;
+ case HANDLE_VIEWSET_TEXT_BOUNDARIES : bBoolVal = mpConstViewOption->IsDocBoundaries(); break;
case HANDLE_VIEWSET_SMOOTH_SCROLLING : bBoolVal = mpConstViewOption->IsSmoothScroll(); break;
case HANDLE_VIEWSET_SHOW_CONTENT_TIPS : bBoolVal = mpConstViewOption->IsShowContentTips(); break;
case HANDLE_VIEWSET_INLINECHANGES_TIPS : bBoolVal = mpConstViewOption->IsShowInlineTooltips(); break;
diff --git a/sw/source/uibase/uno/unotxdoc.cxx b/sw/source/uibase/uno/unotxdoc.cxx
index ece205867661..57ed9d0879c6 100644
--- a/sw/source/uibase/uno/unotxdoc.cxx
+++ b/sw/source/uibase/uno/unotxdoc.cxx
@@ -3598,7 +3598,7 @@ void SwXTextDocument::initializeForTiledRendering(const css::uno::Sequence<css::
aViewOption.SetHardBlank(false);
// Disable field shadings: the result would depend on the cursor position.
- SwViewOption::SetAppearanceFlag(ViewOptFlags::FieldShadings, false);
+ aViewOption.SetAppearanceFlag(ViewOptFlags::FieldShadings, false);
OUString sOrigAuthor = SW_MOD()->GetRedlineAuthor(SW_MOD()->GetRedlineAuthor());
OUString sAuthor;
@@ -3608,7 +3608,7 @@ void SwXTextDocument::initializeForTiledRendering(const css::uno::Sequence<css::
if (rValue.Name == ".uno:HideWhitespace" && rValue.Value.has<bool>())
aViewOption.SetHideWhitespaceMode(rValue.Value.get<bool>());
else if (rValue.Name == ".uno:ShowBorderShadow" && rValue.Value.has<bool>())
- SwViewOption::SetAppearanceFlag(ViewOptFlags::Shadow , rValue.Value.get<bool>());
+ aViewOption.SetAppearanceFlag(ViewOptFlags::Shadow , rValue.Value.get<bool>());
else if (rValue.Name == ".uno:Author" && rValue.Value.has<OUString>())
{
sAuthor = rValue.Value.get<OUString>();