[Libreoffice-commits] core.git: sw/inc sw/source
Katarina Behrens (via logerrit)
logerrit at kemper.freedesktop.org
Mon Feb 3 11:04:06 UTC 2020
sw/inc/IDocumentSettingAccess.hxx | 1 +
sw/source/core/doc/DocumentSettingManager.cxx | 10 +++++++---
sw/source/core/inc/DocumentSettingManager.hxx | 1 +
sw/source/uibase/uno/SwXDocumentSettings.cxx | 18 ++++++++++++++++++
4 files changed, 27 insertions(+), 3 deletions(-)
New commits:
commit a5cd4d39f09c3658c2b7cfff4ab6a74449d4f0c0
Author: Katarina Behrens <Katarina.Behrens at cib.de>
AuthorDate: Fri Jan 24 17:05:53 2020 +0100
Commit: Michael Stahl <michael.stahl at cib.de>
CommitDate: Mon Feb 3 12:03:29 2020 +0100
Add ProtectBookmarksAndFields per-document option
Change-Id: I8dac403ddea59026b5f52c132c8accc1bd0ada92
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87360
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl at cib.de>
diff --git a/sw/inc/IDocumentSettingAccess.hxx b/sw/inc/IDocumentSettingAccess.hxx
index 56ff3ab04234..39ca9a52c87b 100644
--- a/sw/inc/IDocumentSettingAccess.hxx
+++ b/sw/inc/IDocumentSettingAccess.hxx
@@ -103,6 +103,7 @@ enum class DocumentSettingId
EMBED_SYSTEM_FONTS,
APPLY_PARAGRAPH_MARK_FORMAT_TO_NUMBERING,
CONTINUOUS_ENDNOTES,
+ PROTECT_BOOKMARKS_AND_FIELDS,
};
/** Provides access to settings of a document
diff --git a/sw/source/core/doc/DocumentSettingManager.cxx b/sw/source/core/doc/DocumentSettingManager.cxx
index dc77c84f05cf..2b1330201e5b 100644
--- a/sw/source/core/doc/DocumentSettingManager.cxx
+++ b/sw/source/core/doc/DocumentSettingManager.cxx
@@ -93,7 +93,8 @@ sw::DocumentSettingManager::DocumentSettingManager(SwDoc &rDoc)
mbSubtractFlys(false),
mApplyParagraphMarkFormatToNumbering(false),
mbLastBrowseMode( false ),
- mbDisableOffPagePositioning ( false )
+ mbDisableOffPagePositioning ( false ),
+ mbProtectBookmarksAndFields( false )
// COMPATIBILITY FLAGS END
{
@@ -217,8 +218,8 @@ bool sw::DocumentSettingManager::get(/*[in]*/ DocumentSettingId id) const
case DocumentSettingId::APPLY_PARAGRAPH_MARK_FORMAT_TO_NUMBERING: return mApplyParagraphMarkFormatToNumbering;
case DocumentSettingId::DISABLE_OFF_PAGE_POSITIONING: return mbDisableOffPagePositioning;
case DocumentSettingId::EMPTY_DB_FIELD_HIDES_PARA: return mbEmptyDbFieldHidesPara;
- case DocumentSettingId::CONTINUOUS_ENDNOTES:
- return mbContinuousEndnotes;
+ case DocumentSettingId::CONTINUOUS_ENDNOTES: return mbContinuousEndnotes;
+ case DocumentSettingId::PROTECT_BOOKMARKS_AND_FIELDS: return mbProtectBookmarksAndFields;
default:
OSL_FAIL("Invalid setting id");
}
@@ -454,6 +455,9 @@ void sw::DocumentSettingManager::set(/*[in]*/ DocumentSettingId id, /*[in]*/ boo
case DocumentSettingId::CONTINUOUS_ENDNOTES:
mbContinuousEndnotes = value;
break;
+ case DocumentSettingId::PROTECT_BOOKMARKS_AND_FIELDS:
+ mbProtectBookmarksAndFields = value;
+ break;
default:
OSL_FAIL("Invalid setting id");
}
diff --git a/sw/source/core/inc/DocumentSettingManager.hxx b/sw/source/core/inc/DocumentSettingManager.hxx
index be639b1f3421..9ed267e70669 100644
--- a/sw/source/core/inc/DocumentSettingManager.hxx
+++ b/sw/source/core/inc/DocumentSettingManager.hxx
@@ -162,6 +162,7 @@ class DocumentSettingManager :
bool mbDisableOffPagePositioning; // tdf#112443
bool mbEmptyDbFieldHidesPara;
bool mbContinuousEndnotes = false;
+ bool mbProtectBookmarksAndFields;
public:
diff --git a/sw/source/uibase/uno/SwXDocumentSettings.cxx b/sw/source/uibase/uno/SwXDocumentSettings.cxx
index 5327dae31000..238c7d8dd7c7 100644
--- a/sw/source/uibase/uno/SwXDocumentSettings.cxx
+++ b/sw/source/uibase/uno/SwXDocumentSettings.cxx
@@ -140,6 +140,7 @@ enum SwDocumentSettingsPropertyHandles
HANDLE_DISABLE_OFF_PAGE_POSITIONING,
HANDLE_EMPTY_DB_FIELD_HIDES_PARA,
HANDLE_CONTINUOUS_ENDNOTES,
+ HANDLE_PROTECT_BOOKMARKS_AND_FIELDS,
};
}
@@ -227,6 +228,7 @@ static MasterPropertySetInfo * lcl_createSettingsInfo()
{ OUString("DisableOffPagePositioning"), HANDLE_DISABLE_OFF_PAGE_POSITIONING, cppu::UnoType<bool>::get(), 0},
{ OUString("EmptyDbFieldHidesPara"), HANDLE_EMPTY_DB_FIELD_HIDES_PARA, cppu::UnoType<bool>::get(), 0 },
{ OUString("ContinuousEndnotes"), HANDLE_CONTINUOUS_ENDNOTES, cppu::UnoType<bool>::get(), 0 },
+ { OUString("ProtectBookmarksAndFields"), HANDLE_PROTECT_BOOKMARKS_AND_FIELDS, cppu::UnoType<bool>::get(), 0 },
/*
* As OS said, we don't have a view when we need to set this, so I have to
* find another solution before adding them to this property set - MTG
@@ -935,6 +937,16 @@ void SwXDocumentSettings::_setSingleValue( const comphelper::PropertyInfo & rInf
}
}
break;
+ case HANDLE_PROTECT_BOOKMARKS_AND_FIELDS:
+ {
+ bool bTmp;
+ if (rValue >>= bTmp)
+ {
+ mpDoc->getIDocumentSettingAccess().set(DocumentSettingId::PROTECT_BOOKMARKS_AND_FIELDS,
+ bTmp);
+ }
+ }
+ break;
default:
throw UnknownPropertyException(OUString::number(rInfo.mnHandle));
}
@@ -1397,6 +1409,12 @@ void SwXDocumentSettings::_getSingleValue( const comphelper::PropertyInfo & rInf
<<= mpDoc->getIDocumentSettingAccess().get(DocumentSettingId::CONTINUOUS_ENDNOTES);
}
break;
+ case HANDLE_PROTECT_BOOKMARKS_AND_FIELDS:
+ {
+ rValue <<= mpDoc->getIDocumentSettingAccess().get(
+ DocumentSettingId::PROTECT_BOOKMARKS_AND_FIELDS);
+ }
+ break;
default:
throw UnknownPropertyException(OUString::number(rInfo.mnHandle));
}
More information about the Libreoffice-commits
mailing list