1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #include <sfx2/htmlmode.hxx>
21 #include <svtools/htmlcfg.hxx>
23 #include <editeng/editids.hrc>
24 #include <editeng/svxacorr.hxx>
25 #include <officecfg/Office/Common.hxx>
26 #include <unotools/localedatawrapper.hxx>
27 #include <vcl/outdev.hxx>
28 #include <swmodule.hxx>
29 #include <viewopt.hxx>
35 #include <crstate.hxx>
36 #include <authratr.hxx>
37 #include <svtools/colorcfg.hxx>
38 #include <unotools/syslocale.hxx>
40 #include <editeng/acorrcfg.hxx>
41 #include <comphelper/lok.hxx>
42 #include <comphelper/configurationlistener.hxx>
44 SwViewColors
SwViewOption::s_aInitialColorConfig
{};
46 SwViewColors::SwViewColors() :
47 m_aDocColor(COL_LIGHTGRAY
),
48 m_aDocBoundColor(COL_LIGHTGRAY
),
49 m_aAppBackgroundColor(COL_LIGHTGRAY
),
50 m_aTableBoundColor(COL_LIGHTGRAY
),
51 m_aFontColor(COL_BLACK
),
52 m_aIndexShadingsColor(COL_LIGHTGRAY
),
53 m_aLinksColor(COL_BLUE
),
54 m_aVisitedLinksColor(COL_RED
),
55 m_aTextGridColor(COL_LIGHTGRAY
),
56 m_aSpellColor(COL_LIGHTRED
),
57 m_aGrammarColor(COL_LIGHTBLUE
),
58 m_aSmarttagColor(COL_LIGHTMAGENTA
),
59 m_aFieldShadingsColor(COL_LIGHTGRAY
),
60 m_aSectionBoundColor(COL_LIGHTGRAY
),
61 m_aPageBreakColor(COL_BLUE
),
62 m_aNonPrintingCharacterColor(Color(0x268bd2)),
63 m_aScriptIndicatorColor(COL_GREEN
),
64 m_aShadowColor(COL_GRAY
),
65 m_aHeaderFooterMarkColor(COL_BLUE
),
66 m_nAppearanceFlags(ViewOptFlags::NONE
)
69 SwViewColors::SwViewColors(const svtools::ColorConfig
& rConfig
)
71 m_aDocColor
= rConfig
.GetColorValue(svtools::DOCCOLOR
).nColor
;
73 m_aDocBoundColor
= rConfig
.GetColorValue(svtools::DOCBOUNDARIES
).nColor
;
74 m_nAppearanceFlags
= ViewOptFlags::NONE
;
75 m_aAppBackgroundColor
= rConfig
.GetColorValue(svtools::APPBACKGROUND
).nColor
;
76 m_aTableBoundColor
= rConfig
.GetColorValue(svtools::TABLEBOUNDARIES
).nColor
;
78 svtools::ColorConfigValue aValue
;
80 aValue
= rConfig
.GetColorValue(svtools::WRITERIDXSHADINGS
);
81 m_aIndexShadingsColor
= aValue
.nColor
;
83 m_nAppearanceFlags
|= ViewOptFlags::IndexShadings
;
85 aValue
= rConfig
.GetColorValue(svtools::LINKS
);
86 m_aLinksColor
= aValue
.nColor
;
88 m_nAppearanceFlags
|= ViewOptFlags::Links
;
90 aValue
= rConfig
.GetColorValue(svtools::LINKSVISITED
);
91 m_aVisitedLinksColor
= aValue
.nColor
;
93 m_nAppearanceFlags
|= ViewOptFlags::VisitedLinks
;
95 aValue
= rConfig
.GetColorValue(svtools::SHADOWCOLOR
);
96 m_aShadowColor
= aValue
.nColor
;
98 m_nAppearanceFlags
|= ViewOptFlags::Shadow
;
100 m_aTextGridColor
= rConfig
.GetColorValue(svtools::WRITERTEXTGRID
).nColor
;
102 m_aSpellColor
= rConfig
.GetColorValue(svtools::SPELL
).nColor
;
103 m_aGrammarColor
= rConfig
.GetColorValue(svtools::GRAMMAR
).nColor
;
105 m_aSmarttagColor
= rConfig
.GetColorValue(svtools::SMARTTAGS
).nColor
;
107 m_aFontColor
= rConfig
.GetColorValue(svtools::FONTCOLOR
).nColor
;
109 aValue
= rConfig
.GetColorValue(svtools::WRITERFIELDSHADINGS
);
110 m_aFieldShadingsColor
= aValue
.nColor
;
111 // as in initializeForTiledRendering we don't want to enable
112 // field shadings for the online case
113 if (aValue
.bIsVisible
&& !comphelper::LibreOfficeKit::isActive())
114 m_nAppearanceFlags
|= ViewOptFlags::FieldShadings
;
116 m_aSectionBoundColor
= rConfig
.GetColorValue(svtools::WRITERSECTIONBOUNDARIES
).nColor
;
118 aValue
= rConfig
.GetColorValue(svtools::WRITERPAGEBREAKS
);
119 m_aPageBreakColor
= aValue
.nColor
;
121 aValue
= rConfig
.GetColorValue(svtools::WRITERNONPRINTCHARS
);
122 m_aNonPrintingCharacterColor
= aValue
.nColor
;
124 aValue
= rConfig
.GetColorValue(svtools::WRITERHEADERFOOTERMARK
);
125 m_aHeaderFooterMarkColor
= aValue
.nColor
;
127 m_aScriptIndicatorColor
= rConfig
.GetColorValue(svtools::WRITERSCRIPTINDICATOR
).nColor
;
130 bool SwViewOption::IsEqualFlags( const SwViewOption
&rOpt
) const
132 return m_nCoreOptions
== rOpt
.m_nCoreOptions
133 && m_nCore2Options
== rOpt
.m_nCore2Options
134 && m_aSnapSize
== rOpt
.m_aSnapSize
135 && mnViewLayoutColumns
== rOpt
.mnViewLayoutColumns
136 && m_nDivisionX
== rOpt
.GetDivisionX()
137 && m_nDivisionY
== rOpt
.GetDivisionY()
138 && m_nPagePreviewRow
== rOpt
.GetPagePrevRow()
139 && m_nPagePreviewCol
== rOpt
.GetPagePrevCol()
140 && m_aRetouchColor
== rOpt
.GetRetoucheColor()
141 && mbFormView
== rOpt
.IsFormView()
142 && mbBrowseMode
== rOpt
.getBrowseMode()
143 && mbViewLayoutBookMode
== rOpt
.mbViewLayoutBookMode
144 && mbHideWhitespaceMode
== rOpt
.mbHideWhitespaceMode
145 && m_bShowPlaceHolderFields
== rOpt
.m_bShowPlaceHolderFields
146 && m_bIdle
== rOpt
.m_bIdle
147 && m_nDefaultAnchor
== rOpt
.m_nDefaultAnchor
149 // correspond to the statements in ui/config/cfgvw.src
150 && m_bTest1
== rOpt
.IsTest1()
151 && m_bTest2
== rOpt
.IsTest2()
152 && m_bTest3
== rOpt
.IsTest3()
153 && m_bTest4
== rOpt
.IsTest4()
154 && m_bTest5
== rOpt
.IsTest5()
155 && m_bTest6
== rOpt
.IsTest6()
156 && m_bTest7
== rOpt
.IsTest7()
157 && m_bTest8
== rOpt
.IsTest8()
158 && m_bTest10
== rOpt
.IsTest10()
163 bool SwViewOption::IsShowOutlineContentVisibilityButton() const
165 return m_nCoreOptions
.bShowOutlineContentVisibilityButton
;
168 bool SwViewOption::IsTreatSubOutlineLevelsAsContent() const
170 return m_nCoreOptions
.bTreatSubOutlineLevelsAsContent
;
173 void SwViewOption::DrawRect( OutputDevice
*pOut
,
174 const SwRect
&rRect
, ::Color nCol
)
176 if ( pOut
->GetOutDevType() != OUTDEV_PRINTER
)
178 const Color
aCol( nCol
);
179 const Color
aOldColor( pOut
->GetFillColor() );
180 pOut
->SetFillColor( aCol
);
181 pOut
->DrawRect( rRect
.SVRect() );
182 pOut
->SetFillColor( aOldColor
);
185 DrawRectPrinter( pOut
, rRect
);
188 void SwViewOption::DrawRectPrinter( OutputDevice
*pOut
,
189 const SwRect
&rRect
)
191 Color
aOldColor(pOut
->GetLineColor());
192 Color
aOldFillColor( pOut
->GetFillColor() );
193 pOut
->SetLineColor( COL_BLACK
);
194 pOut
->SetFillColor( COL_TRANSPARENT
);
195 pOut
->DrawRect( rRect
.SVRect() );
196 pOut
->SetFillColor( aOldFillColor
);
197 pOut
->SetLineColor( aOldColor
);
200 SwTwips
SwViewOption::GetPostItsWidth(const OutputDevice
* pOut
)
202 assert(pOut
&& "no Outdev");
203 return pOut
->GetTextWidth(u
" "_ustr
);
206 void SwViewOption::PaintPostIts( OutputDevice
*pOut
, const SwRect
&rRect
, bool bIsScript
) const
208 if( !(pOut
&& bIsScript
) )
211 Color
aOldLineColor( pOut
->GetLineColor() );
212 pOut
->SetLineColor( COL_GRAY
);
213 // to make it look nice, we subtract two pixels everywhere
214 SwTwips nPix
= o3tl::narrowing
<sal_uInt16
>(pOut
->PixelToLogic( Size(1,1) ).Height()) * 2;
215 if( rRect
.Width() <= 2 * nPix
|| rRect
.Height() <= 2 * nPix
)
217 const Point
aTopLeft( rRect
.Left() + nPix
, rRect
.Top() + nPix
);
218 const Point
aBotRight( rRect
.Right() - nPix
, rRect
.Bottom() - nPix
);
219 const SwRect
aRect( aTopLeft
, aBotRight
);
220 DrawRect( pOut
, aRect
, m_aColorConfig
.m_aScriptIndicatorColor
);
221 pOut
->SetLineColor( aOldLineColor
);
224 SwViewOption::SwViewOption() :
225 m_sThemeName( u
"Default"_ustr
),
226 m_sSymbolFont( u
"symbol"_ustr
),
227 m_aRetouchColor( COL_TRANSPARENT
),
228 mnViewLayoutColumns( 0 ),
229 m_nPagePreviewRow( 1 ),
230 m_nPagePreviewCol( 2 ),
231 m_nShadowCursorFillMode( SwFillMode::Tab
),
233 m_bStarOneSetting(false),
234 m_bIsPagePreview(false),
235 m_bSelectionInReadonly(false),
239 mbViewLayoutBookMode(false),
240 mbHideWhitespaceMode(false),
241 m_bShowPlaceHolderFields( true ),
242 m_bEncloseWithCharactersOn( true ),
244 m_eZoom( SvxZoomType::PERCENT
),
245 m_nTableDestination(TBL_DEST_CELL
)
248 ViewOptCoreFlags2::BlackFont
|
249 ViewOptCoreFlags2::HiddenPara
;
252 ViewOptFlags2::Modified
|
253 ViewOptFlags2::GrfKeepZoom
|
254 ViewOptFlags2::ResolvedPostits
|
255 ViewOptFlags2::AnyRuler
;
257 if (!comphelper::IsFuzzing() && MeasurementSystem::Metric
!= SvtSysLocale().GetLocaleData().getMeasurementSystemEnum())
259 m_aSnapSize
.setWidth(720); // 1/2"
260 m_aSnapSize
.setHeight(720); // 1/2"
265 m_aSnapSize
.setWidth(567); // 1 cm
266 m_aSnapSize
.setHeight(567); // 1 cm
268 m_nDivisionX
= m_nDivisionY
= 1;
270 m_bSelectionInReadonly
= officecfg::Office::Common::Accessibility::IsSelectionInReadonly::get();
274 m_nDefaultAnchor
= 1; //FLY_TO_CHAR
276 // tdf#135266 - tox dialog: remember last used entry level depending on the index type
281 // correspond to the statements in ui/config/cfgvw.src
282 m_bTest1
= m_bTest2
= m_bTest3
= m_bTest4
=
283 m_bTest5
= m_bTest6
= m_bTest7
= m_bTest8
= m_bTest10
= false;
285 m_aColorConfig
= s_aInitialColorConfig
;
286 if (comphelper::LibreOfficeKit::isActive())
287 m_aColorConfig
.m_aAppBackgroundColor
= COL_TRANSPARENT
;
290 SwViewOption::SwViewOption(const SwViewOption
& rVOpt
)
293 m_bSelectionInReadonly
= false;
294 // #114856# Form view
295 m_sThemeName
= rVOpt
.m_sThemeName
;
296 mbFormView
= rVOpt
.mbFormView
;
297 m_nZoom
= rVOpt
.m_nZoom
;
298 m_aSnapSize
= rVOpt
.m_aSnapSize
;
299 mnViewLayoutColumns
= rVOpt
.mnViewLayoutColumns
;
300 m_nDivisionX
= rVOpt
.m_nDivisionX
;
301 m_nDivisionY
= rVOpt
.m_nDivisionY
;
302 m_nPagePreviewRow
= rVOpt
.m_nPagePreviewRow
;
303 m_nPagePreviewCol
= rVOpt
.m_nPagePreviewCol
;
304 m_bIsPagePreview
= rVOpt
.m_bIsPagePreview
;
305 m_eZoom
= rVOpt
.m_eZoom
;
306 m_nTableDestination
= rVOpt
.m_nTableDestination
;
307 m_nUIOptions
= rVOpt
.m_nUIOptions
;
308 m_nCoreOptions
= rVOpt
.m_nCoreOptions
;
309 m_nCore2Options
= rVOpt
.m_nCore2Options
;
310 m_aRetouchColor
= rVOpt
.GetRetoucheColor();
311 m_sSymbolFont
= rVOpt
.m_sSymbolFont
;
312 m_nShadowCursorFillMode
= rVOpt
.m_nShadowCursorFillMode
;
313 m_bStarOneSetting
= rVOpt
.m_bStarOneSetting
;
314 mbBookView
= rVOpt
.mbBookView
;
315 mbBrowseMode
= rVOpt
.mbBrowseMode
;
316 mbViewLayoutBookMode
= rVOpt
.mbViewLayoutBookMode
;
317 mbHideWhitespaceMode
= rVOpt
.mbHideWhitespaceMode
;
318 m_bShowPlaceHolderFields
= rVOpt
.m_bShowPlaceHolderFields
;
319 m_bEncloseWithCharactersOn
= rVOpt
.m_bEncloseWithCharactersOn
;
320 m_bIdle
= rVOpt
.m_bIdle
;
321 m_nDefaultAnchor
= rVOpt
.m_nDefaultAnchor
;
322 m_nTocEntryLvl
= rVOpt
.m_nTocEntryLvl
;
323 m_nIdxEntryLvl
= rVOpt
.m_nIdxEntryLvl
;
324 m_aColorConfig
= rVOpt
.m_aColorConfig
;
327 m_bTest1
= rVOpt
.m_bTest1
;
328 m_bTest2
= rVOpt
.m_bTest2
;
329 m_bTest3
= rVOpt
.m_bTest3
;
330 m_bTest4
= rVOpt
.m_bTest4
;
331 m_bTest5
= rVOpt
.m_bTest5
;
332 m_bTest6
= rVOpt
.m_bTest6
;
333 m_bTest7
= rVOpt
.m_bTest7
;
334 m_bTest8
= rVOpt
.m_bTest8
;
335 m_bTest10
= rVOpt
.m_bTest10
;
339 SwViewOption
& SwViewOption::operator=( const SwViewOption
&rVOpt
)
341 // #114856# Form view
342 m_sThemeName
= rVOpt
.m_sThemeName
;
343 mbFormView
= rVOpt
.mbFormView
;
344 m_nZoom
= rVOpt
.m_nZoom
;
345 m_aSnapSize
= rVOpt
.m_aSnapSize
;
346 mnViewLayoutColumns
= rVOpt
.mnViewLayoutColumns
;
347 m_nDivisionX
= rVOpt
.m_nDivisionX
;
348 m_nDivisionY
= rVOpt
.m_nDivisionY
;
349 m_nPagePreviewRow
= rVOpt
.m_nPagePreviewRow
;
350 m_nPagePreviewCol
= rVOpt
.m_nPagePreviewCol
;
351 m_bIsPagePreview
= rVOpt
.m_bIsPagePreview
;
352 m_eZoom
= rVOpt
.m_eZoom
;
353 m_nTableDestination
= rVOpt
.m_nTableDestination
;
354 m_nUIOptions
= rVOpt
.m_nUIOptions
;
355 m_nCoreOptions
= rVOpt
.m_nCoreOptions
;
356 m_nCore2Options
= rVOpt
.m_nCore2Options
;
357 m_aRetouchColor
= rVOpt
.GetRetoucheColor();
358 m_sSymbolFont
= rVOpt
.m_sSymbolFont
;
359 m_nShadowCursorFillMode
= rVOpt
.m_nShadowCursorFillMode
;
360 m_bStarOneSetting
= rVOpt
.m_bStarOneSetting
;
361 mbBookView
= rVOpt
.mbBookView
;
362 mbBrowseMode
= rVOpt
.mbBrowseMode
;
363 mbViewLayoutBookMode
= rVOpt
.mbViewLayoutBookMode
;
364 mbHideWhitespaceMode
= rVOpt
.mbHideWhitespaceMode
;
365 m_bShowPlaceHolderFields
= rVOpt
.m_bShowPlaceHolderFields
;
366 m_bEncloseWithCharactersOn
= rVOpt
.m_bEncloseWithCharactersOn
;
367 m_bIdle
= rVOpt
.m_bIdle
;
368 m_nDefaultAnchor
= rVOpt
.m_nDefaultAnchor
;
369 m_aColorConfig
= rVOpt
.m_aColorConfig
;
372 m_bTest1
= rVOpt
.m_bTest1
;
373 m_bTest2
= rVOpt
.m_bTest2
;
374 m_bTest3
= rVOpt
.m_bTest3
;
375 m_bTest4
= rVOpt
.m_bTest4
;
376 m_bTest5
= rVOpt
.m_bTest5
;
377 m_bTest6
= rVOpt
.m_bTest6
;
378 m_bTest7
= rVOpt
.m_bTest7
;
379 m_bTest8
= rVOpt
.m_bTest8
;
380 m_bTest10
= rVOpt
.m_bTest10
;
385 SwViewOption::~SwViewOption()
389 bool SwViewOption::IsAutoCompleteWords()
391 const SvxSwAutoFormatFlags
& rFlags
= SvxAutoCorrCfg::Get().GetAutoCorrect()->GetSwFlags();
392 return rFlags
.bAutoCmpltCollectWords
;
395 AuthorCharAttr::AuthorCharAttr() :
396 m_nItemId (SID_ATTR_CHAR_UNDERLINE
),
397 m_nAttr (LINESTYLE_SINGLE
),
398 m_nColor (COL_TRANSPARENT
)
402 sal_uInt16
GetHtmlMode(const SwDocShell
* pShell
)
405 if(!pShell
|| dynamic_cast<const SwWebDocShell
*>( pShell
) )
407 nRet
= HTMLMODE_ON
| HTMLMODE_SOME_STYLES
;
408 switch ( SvxHtmlOptions::GetExportMode() )
411 nRet
|= HTMLMODE_FULL_STYLES
;
414 // no special features for this browser
416 case HTML_CFG_WRITER
:
417 nRet
|= HTMLMODE_FULL_STYLES
;
424 RndStdIds
SwViewOption::GetDefaultAnchorType() const
426 switch ( m_nDefaultAnchor
)
429 return RndStdIds::FLY_AT_PARA
; //0
431 return RndStdIds::FLY_AT_CHAR
; //4
433 return RndStdIds::FLY_AS_CHAR
; //1
435 return RndStdIds::FLY_AT_CHAR
; //4
439 const Color
& SwViewOption::GetDocColor() const
441 return m_aColorConfig
.m_aDocColor
;
444 const Color
& SwViewOption::GetDocBoundariesColor() const
446 return m_aColorConfig
.m_aDocBoundColor
;
449 const Color
& SwViewOption::GetAppBackgroundColor() const
451 return m_aColorConfig
.m_aAppBackgroundColor
;
454 const Color
& SwViewOption::GetTableBoundariesColor() const
456 return m_aColorConfig
.m_aTableBoundColor
;
459 const Color
& SwViewOption::GetIndexShadingsColor() const
461 return m_aColorConfig
.m_aIndexShadingsColor
;
464 const Color
& SwViewOption::GetLinksColor() const
466 return m_aColorConfig
.m_aLinksColor
;
469 const Color
& SwViewOption::GetVisitedLinksColor() const
471 return m_aColorConfig
.m_aVisitedLinksColor
;
474 const Color
& SwViewOption::GetTextGridColor() const
476 return m_aColorConfig
.m_aTextGridColor
;
479 const Color
& SwViewOption::GetSpellColor() const
481 return m_aColorConfig
.m_aSpellColor
;
484 const Color
& SwViewOption::GetGrammarColor() const
486 return m_aColorConfig
.m_aGrammarColor
;
489 const Color
& SwViewOption::GetSmarttagColor() const
491 return m_aColorConfig
.m_aSmarttagColor
;
494 const Color
& SwViewOption::GetShadowColor() const
496 return m_aColorConfig
.m_aShadowColor
;
499 const Color
& SwViewOption::GetFontColor() const
501 return m_aColorConfig
.m_aFontColor
;
504 const Color
& SwViewOption::GetFieldShadingsColor() const
506 return m_aColorConfig
.m_aFieldShadingsColor
;
509 const Color
& SwViewOption::GetSectionBoundColor() const
511 return m_aColorConfig
.m_aSectionBoundColor
;
514 const Color
& SwViewOption::GetPageBreakColor() const
516 return m_aColorConfig
.m_aPageBreakColor
;
519 const Color
& SwViewOption::GetNonPrintingCharacterColor() const
521 return m_aColorConfig
.m_aNonPrintingCharacterColor
;
524 const Color
& SwViewOption::GetHeaderFooterMarkColor() const
526 return m_aColorConfig
.m_aHeaderFooterMarkColor
;
529 void SwViewOption::SetAppearanceFlag(ViewOptFlags nFlag
, bool bSet
, bool bSaveInConfig
)
532 m_aColorConfig
.m_nAppearanceFlags
|= nFlag
;
534 m_aColorConfig
.m_nAppearanceFlags
&= ~nFlag
;
538 //create an editable svtools::ColorConfig and store the change
539 svtools::EditableColorConfig aEditableConfig
;
540 struct FlagToConfig_Impl
543 svtools::ColorConfigEntry eEntry
;
545 static const FlagToConfig_Impl aFlags
[] =
547 { ViewOptFlags::IndexShadings
, svtools::WRITERIDXSHADINGS
},
548 { ViewOptFlags::Links
, svtools::LINKS
},
549 { ViewOptFlags::VisitedLinks
, svtools::LINKSVISITED
},
550 { ViewOptFlags::FieldShadings
, svtools::WRITERFIELDSHADINGS
},
551 { ViewOptFlags::Shadow
, svtools::SHADOWCOLOR
},
553 for (auto& item
: aFlags
)
555 if (nFlag
& item
.nFlag
)
557 svtools::ColorConfigValue aValue
= aEditableConfig
.GetColorValue(item
.eEntry
);
558 aValue
.bIsVisible
= bSet
;
559 aEditableConfig
.SetColorValue(item
.eEntry
, aValue
);
564 bool SwViewOption::IsAppearanceFlag(ViewOptFlags nFlag
) const
566 return bool(m_aColorConfig
.m_nAppearanceFlags
& nFlag
);
570 rtl::Reference
<comphelper::ConfigurationListener
> const & getWCOptionListener()
572 static rtl::Reference
<comphelper::ConfigurationListener
> xListener(new comphelper::ConfigurationListener(u
"/org.openoffice.Office.Writer/Cursor/Option"_ustr
));
577 bool SwViewOption::IsIgnoreProtectedArea()
579 if (comphelper::IsFuzzing())
581 static comphelper::ConfigurationListenerProperty
<bool> gIgnoreProtectedArea(getWCOptionListener(), u
"IgnoreProtectedArea"_ustr
);
582 return gIgnoreProtectedArea
.get();
585 void SwViewOption::SyncLayoutRelatedViewOptions(const SwViewOption
& rOpt
)
587 SetFieldName(rOpt
.IsFieldName());
588 SetShowHiddenField(rOpt
.IsShowHiddenField());
589 SetShowHiddenPara(rOpt
.IsShowHiddenPara());
590 SetShowHiddenChar(rOpt
.IsShowHiddenChar());
591 SetViewLayoutBookMode(rOpt
.IsViewLayoutBookMode());
592 SetHideWhitespaceMode(rOpt
.IsHideWhitespaceMode());
593 SetViewLayoutColumns(rOpt
.GetViewLayoutColumns());
594 SetPostIts(rOpt
.IsPostIts());
597 const SwViewOption
& SwViewOption::GetCurrentViewOptions()
599 SfxViewShell
* pCurrentShell
= SfxViewShell::Current();
600 SwView
* pView
= dynamic_cast<SwView
*>(pCurrentShell
);
603 return *pView
->GetWrtShell().GetViewOptions();
606 // Some unit tests don't have a SfxViewShell, so we need to return something
607 static SwViewOption aDefaultViewOptions
;
608 return aDefaultViewOptions
;
611 void SwViewOption::dumpAsXml(xmlTextWriterPtr pWriter
) const
613 (void)xmlTextWriterStartElement(pWriter
, BAD_CAST("SwViewOption"));
614 m_nCoreOptions
.dumpAsXml(pWriter
);
615 (void)xmlTextWriterEndElement(pWriter
);
618 void ViewOptFlags1::dumpAsXml(xmlTextWriterPtr pWriter
) const
620 (void)xmlTextWriterStartElement(pWriter
, BAD_CAST("ViewOptFlags1"));
621 (void)xmlTextWriterWriteFormatAttribute(pWriter
, BAD_CAST("view-metachars"), "%s",
622 BAD_CAST(OString::boolean(bViewMetachars
).getStr()));
623 (void)xmlTextWriterEndElement(pWriter
);
626 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */