summaryrefslogtreecommitdiffstats
path: root/sw/source/uibase
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/uibase')
-rw-r--r--sw/source/uibase/app/appopt.cxx1
-rw-r--r--sw/source/uibase/config/cfgitems.cxx4
-rw-r--r--sw/source/uibase/config/usrpref.cxx47
-rw-r--r--sw/source/uibase/inc/cfgitems.hxx1
-rw-r--r--sw/source/uibase/inc/optpage.hxx1
-rw-r--r--sw/source/uibase/uiview/pview.cxx1
-rw-r--r--sw/source/uibase/uiview/view0.cxx2
-rw-r--r--sw/source/uibase/uno/unomod.cxx4
-rw-r--r--sw/source/uibase/uno/unotxdoc.cxx1
9 files changed, 43 insertions, 19 deletions
diff --git a/sw/source/uibase/app/appopt.cxx b/sw/source/uibase/app/appopt.cxx
index f071b85997fe..941d15e4302c 100644
--- a/sw/source/uibase/app/appopt.cxx
+++ b/sw/source/uibase/app/appopt.cxx
@@ -253,6 +253,7 @@ void SwModule::ApplyItemSet( sal_uInt16 nId, const SfxItemSet& rSet )
{
if( (!aViewOpt.IsTab( true ) && pDocDispItem->bTab) ||
(!aViewOpt.IsBlank( true ) && pDocDispItem->bSpace) ||
+ (!aViewOpt.IsShowBookmarks(true) && pDocDispItem->bBookmarks) ||
(!aViewOpt.IsParagraph( true ) && pDocDispItem->bParagraphEnd) ||
(!aViewOpt.IsLineBreak( true ) && pDocDispItem->bManualBreak) )
{
diff --git a/sw/source/uibase/config/cfgitems.cxx b/sw/source/uibase/config/cfgitems.cxx
index 3c6114c9a9a6..efbbdf4154b4 100644
--- a/sw/source/uibase/config/cfgitems.cxx
+++ b/sw/source/uibase/config/cfgitems.cxx
@@ -39,6 +39,7 @@ SwDocDisplayItem::SwDocDisplayItem() :
bNonbreakingSpace =
bSoftHyphen =
bCharHiddenText =
+ bBookmarks =
bManualBreak = true;
};
@@ -52,6 +53,7 @@ SwDocDisplayItem::SwDocDisplayItem(const SwViewOption& rVOpt ) :
bNonbreakingSpace = rVOpt.IsHardBlank();
bSoftHyphen = rVOpt.IsSoftHyph();
bCharHiddenText = rVOpt.IsShowHiddenChar(true);
+ bBookmarks = rVOpt.IsShowBookmarks(true);
bManualBreak = rVOpt.IsLineBreak(true);
}
@@ -72,6 +74,7 @@ bool SwDocDisplayItem::operator==( const SfxPoolItem& rAttr ) const
bNonbreakingSpace == rItem.bNonbreakingSpace &&
bSoftHyphen == rItem.bSoftHyphen &&
bCharHiddenText == rItem.bCharHiddenText &&
+ bBookmarks == rItem.bBookmarks &&
bManualBreak == rItem.bManualBreak );
}
@@ -83,6 +86,7 @@ void SwDocDisplayItem::FillViewOptions( SwViewOption& rVOpt) const
rVOpt.SetHardBlank (bNonbreakingSpace );
rVOpt.SetSoftHyph (bSoftHyphen );
rVOpt.SetShowHiddenChar(bCharHiddenText );
+ rVOpt.SetShowBookmarks(bBookmarks );
rVOpt.SetLineBreak (bManualBreak );
}
diff --git a/sw/source/uibase/config/usrpref.cxx b/sw/source/uibase/config/usrpref.cxx
index 0246b6f039d6..cfc6142314c6 100644
--- a/sw/source/uibase/config/usrpref.cxx
+++ b/sw/source/uibase/config/usrpref.cxx
@@ -82,9 +82,11 @@ SwMasterUsrPref::~SwMasterUsrPref()
{
}
+static const auto g_UpdateLinkIndex = 17;
+
Sequence<OUString> SwContentViewConfig::GetPropertyNames() const
{
- static const char* aPropNames[] =
+ static constexpr const char*const aPropNames[] =
{
"Display/GraphicObject", // 0
"Display/Table", // 1
@@ -102,13 +104,18 @@ Sequence<OUString> SwContentViewConfig::GetPropertyNames() const
"NonprintingCharacter/HiddenText", // 13
"NonprintingCharacter/HiddenParagraph", // 14
"NonprintingCharacter/HiddenCharacter", // 15
- "Update/Link", // 16
- "Update/Field", // 17
- "Update/Chart", // 18
- "Display/ShowInlineTooltips", // 19
- "Display/UseHeaderFooterMenu" // 20
+ "NonprintingCharacter/Bookmarks", // 16
+ "Update/Link", // 17
+ "Update/Field", // 18
+ "Update/Chart", // 19
+ "Display/ShowInlineTooltips", // 20
+ "Display/UseHeaderFooterMenu" // 21
};
- const int nCount = bWeb ? 12 : 21;
+#if defined(__GNUC__) && !defined(__clang__)
+ // clang 8.0.0 says strcmp isn't constexpr
+ static_assert(std::strcmp("Update/Link", aPropNames[g_UpdateLinkIndex]) == 0);
+#endif
+ const int nCount = bWeb ? 12 : SAL_N_ELEMENTS(aPropNames);
Sequence<OUString> aNames(nCount);
OUString* pNames = aNames.getArray();
for(int i = 0; i < nCount; i++)
@@ -164,13 +171,14 @@ void SwContentViewConfig::ImplCommit()
case 13: bVal = rParent.IsShowHiddenField(); break;// "NonprintingCharacter/Fields: HiddenText",
case 14: bVal = rParent.IsShowHiddenPara(); break;// "NonprintingCharacter/Fields: HiddenParagraph",
case 15: bVal = rParent.IsShowHiddenChar(true); break;// "NonprintingCharacter/HiddenCharacter",
- case 16: pValues[nProp] <<= rParent.GetUpdateLinkMode(); break;// "Update/Link",
- case 17: bVal = rParent.IsUpdateFields(); break;// "Update/Field",
- case 18: bVal = rParent.IsUpdateCharts(); break;// "Update/Chart"
- case 19: bVal = rParent.IsShowInlineTooltips(); break;// "Display/ShowInlineTooltips"
- case 20: bVal = rParent.IsUseHeaderFooterMenu(); break;// "Display/UseHeaderFooterMenu"
+ case 16: bVal = rParent.IsShowBookmarks(true); break;// "NonprintingCharacter/Bookmarks",
+ case 17: pValues[nProp] <<= rParent.GetUpdateLinkMode(); break;// "Update/Link",
+ case 18: bVal = rParent.IsUpdateFields(); break;// "Update/Field",
+ case 19: bVal = rParent.IsUpdateCharts(); break;// "Update/Chart"
+ case 20: bVal = rParent.IsShowInlineTooltips(); break;// "Display/ShowInlineTooltips"
+ case 21: bVal = rParent.IsUseHeaderFooterMenu(); break;// "Display/UseHeaderFooterMenu"
}
- if(nProp != 16)
+ if (nProp != g_UpdateLinkIndex)
pValues[nProp] <<= bVal;
}
PutProperties(aNames, aValues);
@@ -188,7 +196,7 @@ void SwContentViewConfig::Load()
{
if(pValues[nProp].hasValue())
{
- bool bSet = nProp != 16 && *o3tl::doAccess<bool>(pValues[nProp]);
+ bool bSet = nProp != g_UpdateLinkIndex && *o3tl::doAccess<bool>(pValues[nProp]);
switch(nProp)
{
case 0: rParent.SetGraphic(bSet); break;// "Display/GraphicObject",
@@ -207,17 +215,18 @@ void SwContentViewConfig::Load()
case 13: rParent.SetShowHiddenField(bSet); break;// "NonprintingCharacter/Fields: HiddenText",
case 14: rParent.SetShowHiddenPara(bSet); break;// "NonprintingCharacter/Fields: HiddenParagraph",
case 15: rParent.SetShowHiddenChar(bSet); break;// "NonprintingCharacter/HiddenCharacter",
- case 16:
+ case 16: rParent.SetShowBookmarks(bSet); break;// "NonprintingCharacter/Bookmarks",
+ case 17:
{
sal_Int32 nSet = 0;
pValues[nProp] >>= nSet;
rParent.SetUpdateLinkMode(nSet, true);
}
break;// "Update/Link",
- case 17: rParent.SetUpdateFields(bSet); break;// "Update/Field",
- case 18: rParent.SetUpdateCharts(bSet); break;// "Update/Chart"
- case 19: rParent.SetShowInlineTooltips(bSet); break;// "Display/ShowInlineTooltips"
- case 20: rParent.SetUseHeaderFooterMenu(bSet); break;// "Display/UseHeaderFooterMenu"
+ case 18: rParent.SetUpdateFields(bSet); break;// "Update/Field",
+ case 19: rParent.SetUpdateCharts(bSet); break;// "Update/Chart"
+ case 20: rParent.SetShowInlineTooltips(bSet); break;// "Display/ShowInlineTooltips"
+ case 21: rParent.SetUseHeaderFooterMenu(bSet); break;// "Display/UseHeaderFooterMenu"
}
}
}
diff --git a/sw/source/uibase/inc/cfgitems.hxx b/sw/source/uibase/inc/cfgitems.hxx
index db525151a079..297ac1846faa 100644
--- a/sw/source/uibase/inc/cfgitems.hxx
+++ b/sw/source/uibase/inc/cfgitems.hxx
@@ -49,6 +49,7 @@ class SW_DLLPUBLIC SwDocDisplayItem : public SfxPoolItem
bool bNonbreakingSpace :1;
bool bSoftHyphen :1;
bool bCharHiddenText :1;
+ bool bBookmarks :1;
bool bManualBreak :1;
public:
diff --git a/sw/source/uibase/inc/optpage.hxx b/sw/source/uibase/inc/optpage.hxx
index 13c5d6194aef..955e44c249a5 100644
--- a/sw/source/uibase/inc/optpage.hxx
+++ b/sw/source/uibase/inc/optpage.hxx
@@ -228,6 +228,7 @@ class SwShdwCursorOptionsTabPage : public SfxTabPage
std::unique_ptr<weld::CheckButton> m_xTabCB;
std::unique_ptr<weld::CheckButton> m_xBreakCB;
std::unique_ptr<weld::CheckButton> m_xCharHiddenCB;
+ std::unique_ptr<weld::CheckButton> m_xBookmarkCB;
std::unique_ptr<weld::Frame> m_xDirectCursorFrame;
std::unique_ptr<weld::CheckButton> m_xOnOffCB;
diff --git a/sw/source/uibase/uiview/pview.cxx b/sw/source/uibase/uiview/pview.cxx
index c8a3c398b46b..2a1b16434845 100644
--- a/sw/source/uibase/uiview/pview.cxx
+++ b/sw/source/uibase/uiview/pview.cxx
@@ -1111,6 +1111,7 @@ void SwPagePreview::Init()
aOpt.SetSoftHyph( false );
aOpt.SetFieldName( false );
aOpt.SetPostIts( false );
+ aOpt.SetShowBookmarks( false );
aOpt.SetShowHiddenChar( false );
aOpt.SetShowHiddenField( false );
aOpt.SetShowHiddenPara( false );
diff --git a/sw/source/uibase/uiview/view0.cxx b/sw/source/uibase/uiview/view0.cxx
index 56f363cc0285..79783e138496 100644
--- a/sw/source/uibase/uiview/view0.cxx
+++ b/sw/source/uibase/uiview/view0.cxx
@@ -162,6 +162,7 @@ static void lcl_SetViewMetaChars( SwViewOption& rVOpt, bool bOn)
rVOpt.IsTab() ||
rVOpt.IsLineBreak() ||
rVOpt.IsShowHiddenChar() ||
+ rVOpt.IsShowBookmarks() ||
rVOpt.IsBlank()))
{
rVOpt.SetParagraph(bOn);
@@ -169,6 +170,7 @@ static void lcl_SetViewMetaChars( SwViewOption& rVOpt, bool bOn)
rVOpt.SetLineBreak(bOn);
rVOpt.SetBlank(bOn);
rVOpt.SetShowHiddenChar(bOn);
+ rVOpt.SetShowBookmarks(bOn);
}
}
diff --git a/sw/source/uibase/uno/unomod.cxx b/sw/source/uibase/uno/unomod.cxx
index 5df0c5af9d89..93b63a0e7d68 100644
--- a/sw/source/uibase/uno/unomod.cxx
+++ b/sw/source/uibase/uno/unomod.cxx
@@ -95,6 +95,7 @@ enum SwViewSettingsPropertyHandles
HANDLE_VIEWSET_INLINECHANGES_TIPS,
HANDLE_VIEWSET_HIDE_WHITESPACE,
HANDLE_VIEWSET_USE_HEADERFOOTERMENU,
+ HANDLE_VIEWSET_BOOKMARKS,
};
enum SwPrintSettingsPropertyHandles
@@ -136,6 +137,7 @@ static ChainablePropertySetInfo * lcl_createViewSettingsInfo()
{ OUString( "RasterSubdivisionX"), HANDLE_VIEWSET_RASTER_SUBDIVISION_X, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE},
{ OUString( "RasterSubdivisionY"), HANDLE_VIEWSET_RASTER_SUBDIVISION_Y, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE},
{ OUString( "ShowAnnotations" ), HANDLE_VIEWSET_ANNOTATIONS , cppu::UnoType<bool>::get(), PROPERTY_NONE},
+ { OUString( "ShowBookmarks" ), HANDLE_VIEWSET_BOOKMARKS, cppu::UnoType<bool>::get(), PROPERTY_NONE },
{ OUString( "ShowBreaks"), HANDLE_VIEWSET_BREAKS , cppu::UnoType<bool>::get(), PROPERTY_NONE},
{ OUString( "ShowDrawings"), HANDLE_VIEWSET_DRAWINGS , cppu::UnoType<bool>::get(), PROPERTY_NONE},
{ OUString( "ShowFieldCommands"), HANDLE_VIEWSET_FIELD_COMMANDS , cppu::UnoType<bool>::get(), PROPERTY_NONE},
@@ -579,6 +581,7 @@ void SwXViewSettings::_setSingleValue( const comphelper::PropertyInfo & rInfo, c
case HANDLE_VIEWSET_PROTECTED_SPACES : mpViewOption->SetHardBlank(*o3tl::doAccess<bool>(rValue)); break;
case HANDLE_VIEWSET_TABSTOPS : mpViewOption->SetTab(*o3tl::doAccess<bool>(rValue)); break;
case HANDLE_VIEWSET_BREAKS : mpViewOption->SetLineBreak(*o3tl::doAccess<bool>(rValue)); break;
+ case HANDLE_VIEWSET_BOOKMARKS : mpViewOption->SetShowBookmarks(*o3tl::doAccess<bool>(rValue)); break;
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;
@@ -820,6 +823,7 @@ void SwXViewSettings::_getSingleValue( const comphelper::PropertyInfo & rInfo, u
case HANDLE_VIEWSET_PROTECTED_SPACES : bBoolVal = mpConstViewOption->IsHardBlank(); break;
case HANDLE_VIEWSET_TABSTOPS : bBoolVal = mpConstViewOption->IsTab(true); break;
case HANDLE_VIEWSET_BREAKS : bBoolVal = mpConstViewOption->IsLineBreak(true); break;
+ case HANDLE_VIEWSET_BOOKMARKS : bBoolVal = mpConstViewOption->IsShowBookmarks(true); break;
case HANDLE_VIEWSET_HIDDEN_TEXT : bBoolVal = mpConstViewOption->IsShowHiddenField(); break;
case HANDLE_VIEWSET_HIDDEN_CHARACTERS : bBoolVal = mpConstViewOption->IsShowHiddenChar(true); break;
case HANDLE_VIEWSET_HIDE_WHITESPACE : bBoolVal = mpConstViewOption->IsHideWhitespaceMode(); break;
diff --git a/sw/source/uibase/uno/unotxdoc.cxx b/sw/source/uibase/uno/unotxdoc.cxx
index e5ce030ddaac..5e221efa47ea 100644
--- a/sw/source/uibase/uno/unotxdoc.cxx
+++ b/sw/source/uibase/uno/unotxdoc.cxx
@@ -4418,6 +4418,7 @@ SwViewOptionAdjust_Impl::AdjustViewOptions(SwPrintData const*const pPrtOptions,
aRenderViewOptions.SetBlank( false ); // spaces
aRenderViewOptions.SetHardBlank( false ); // non-breaking spaces
aRenderViewOptions.SetTab( false ); // tabs
+ aRenderViewOptions.SetShowBookmarks( false ); // bookmarks
aRenderViewOptions.SetLineBreak( false ); // breaks (type 1)
aRenderViewOptions.SetPageBreak( false ); // breaks (type 2)
aRenderViewOptions.SetColumnBreak( false ); // breaks (type 3)