diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-07-28 21:33:29 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2020-07-29 10:22:44 +0200 |
commit | a6859a1fee2f0f3a35cfc381d5ae547eb13fd620 (patch) | |
tree | 8de17dc888fa518aaa275cefc97cc3d9b04c0a18 /unotools/source | |
parent | 26c08a91e86027c3f37dbd462209e63a5b26b259 (diff) |
replace and drop SvtCompatibilityViewOptions
Change-Id: Iab187468cf25b4a4afc7c79578677156ff224df9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99651
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'unotools/source')
-rw-r--r-- | unotools/source/config/compatibilityviewoptions.cxx | 170 | ||||
-rw-r--r-- | unotools/source/config/itemholder1.cxx | 5 |
2 files changed, 0 insertions, 175 deletions
diff --git a/unotools/source/config/compatibilityviewoptions.cxx b/unotools/source/config/compatibilityviewoptions.cxx deleted file mode 100644 index b7a64f43f4d1..000000000000 --- a/unotools/source/config/compatibilityviewoptions.cxx +++ /dev/null @@ -1,170 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -#include <unotools/compatibilityviewoptions.hxx> -#include <unotools/configitem.hxx> -#include "itemholder1.hxx" - -#define ROOTNODE_COMPATIBILITY_VIEW "Office.Compatibility/View" - -#define PROPERTYNAME_MSCOMPATIBLEFORMSMENU "MSCompatibleFormsMenu" - -#define PROPERTYHANDLE_MSCOMPATIBLEFORMSMENU 0 - -class SvtCompatibilityViewOptions_Impl : public utl::ConfigItem -{ -private: - bool m_bShowMSCompatibleFormsMenu; - -public: - SvtCompatibilityViewOptions_Impl(); - virtual ~SvtCompatibilityViewOptions_Impl() override; - - /** - @short Called for notify of configmanager. - - This method is called from the ConfigManager before application ends or from the - PropertyChangeListener if the sub tree broadcasts changes. You must update your - internal values. - - @see baseclass ConfigItem - - @param "seqPropertyNames" is the list of properties which should be updated. - */ - virtual void Notify(const css::uno::Sequence<OUString>& seqPropertyNames) override; - - bool HasMSOCompatibleFormsMenu() const { return m_bShowMSCompatibleFormsMenu; } - void SetMSOCompatibleFormsMenu(bool bSet) - { - bool bModified = (m_bShowMSCompatibleFormsMenu != bSet); - if (bModified) - { - m_bShowMSCompatibleFormsMenu = bSet; - SetModified(); - Commit(); - } - } - -private: - virtual void ImplCommit() override; - - /** - @short Return list of fix key names of our configuration management which represent our module tree. - - This method returns a static const list of key names. We need it to get needed values from our - configuration management. - - @return A list of needed configuration keys is returned. - */ - static css::uno::Sequence<OUString> const& impl_GetPropertyNames(); -}; - -SvtCompatibilityViewOptions_Impl::SvtCompatibilityViewOptions_Impl() - : ConfigItem(ROOTNODE_COMPATIBILITY_VIEW) - , m_bShowMSCompatibleFormsMenu(false) -{ - // Use our static list of configuration keys to get his values. - css::uno::Sequence<OUString> seqNames = impl_GetPropertyNames(); - css::uno::Sequence<css::uno::Any> seqValues = GetProperties(seqNames); - assert(seqNames.getLength() == seqValues.getLength()); - - if (seqValues[PROPERTYHANDLE_MSCOMPATIBLEFORMSMENU].hasValue()) - { - assert(seqValues[PROPERTYHANDLE_MSCOMPATIBLEFORMSMENU].getValueTypeClass() - == css::uno::TypeClass_BOOLEAN); - seqValues[PROPERTYHANDLE_MSCOMPATIBLEFORMSMENU] >>= m_bShowMSCompatibleFormsMenu; - } - - EnableNotification(seqNames); -} - -SvtCompatibilityViewOptions_Impl::~SvtCompatibilityViewOptions_Impl() -{ - assert(!IsModified()); // should have been committed -} - -void SvtCompatibilityViewOptions_Impl::Notify(const css::uno::Sequence<OUString>& seqPropertyNames) -{ - // Use given list of updated properties to get his values from configuration directly! - css::uno::Sequence<css::uno::Any> seqValues = GetProperties(seqPropertyNames); - assert(seqPropertyNames.getLength() == seqValues.getLength()); - - for (sal_Int32 nProperty = 0; nProperty < seqPropertyNames.getLength(); ++nProperty) - { - if (seqPropertyNames[nProperty] == PROPERTYNAME_MSCOMPATIBLEFORMSMENU) - { - assert(seqValues[nProperty].getValueTypeClass() == css::uno::TypeClass_BOOLEAN); - seqValues[nProperty] >>= m_bShowMSCompatibleFormsMenu; - } - } -} - -void SvtCompatibilityViewOptions_Impl::ImplCommit() -{ - // Get names of supported properties, create a list for values and copy current values to it. - css::uno::Sequence<OUString> seqNames = impl_GetPropertyNames(); - css::uno::Sequence<css::uno::Any> seqValues(seqNames.getLength()); - - seqValues[PROPERTYHANDLE_MSCOMPATIBLEFORMSMENU] <<= m_bShowMSCompatibleFormsMenu; - - // Set properties in configuration. - PutProperties(seqNames, seqValues); -} - -css::uno::Sequence<OUString> const& SvtCompatibilityViewOptions_Impl::impl_GetPropertyNames() -{ - static const css::uno::Sequence<OUString> seqPropertyNames{ OUString( - PROPERTYNAME_MSCOMPATIBLEFORMSMENU) }; - return seqPropertyNames; -} - -namespace -{ -std::weak_ptr<SvtCompatibilityViewOptions_Impl> theOptions; -} - -SvtCompatibilityViewOptions::SvtCompatibilityViewOptions() -{ - // Global access, must be guarded (multithreading!). - osl::MutexGuard aGuard(GetOwnStaticMutex()); - - m_pImpl = theOptions.lock(); - if (!m_pImpl) - { - m_pImpl = std::make_shared<SvtCompatibilityViewOptions_Impl>(); - theOptions = m_pImpl; - ItemHolder1::holdConfigItem(EItem::CompatibilityView); - } -} - -SvtCompatibilityViewOptions::~SvtCompatibilityViewOptions() -{ - // Global access, must be guarded (multithreading!) - osl::MutexGuard aGuard(GetOwnStaticMutex()); - m_pImpl.reset(); -} - -bool SvtCompatibilityViewOptions::HasMSOCompatibleFormsMenu() const -{ - return m_pImpl->HasMSOCompatibleFormsMenu(); -} - -void SvtCompatibilityViewOptions::SetMSOCompatibleFormsMenu(bool bSet) -{ - m_pImpl->SetMSOCompatibleFormsMenu(bSet); -} - -osl::Mutex& SvtCompatibilityViewOptions::GetOwnStaticMutex() -{ - static osl::Mutex ourMutex; - - return ourMutex; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/unotools/source/config/itemholder1.cxx b/unotools/source/config/itemholder1.cxx index 81c0137cd8dc..e9b82997602c 100644 --- a/unotools/source/config/itemholder1.cxx +++ b/unotools/source/config/itemholder1.cxx @@ -27,7 +27,6 @@ #include <unotools/useroptions.hxx> #include <unotools/cmdoptions.hxx> #include <unotools/compatibility.hxx> -#include <unotools/compatibilityviewoptions.hxx> #include <unotools/defaultoptions.hxx> #include <unotools/dynamicmenuoptions.hxx> #include <unotools/extendedsecurityoptions.hxx> @@ -130,10 +129,6 @@ void ItemHolder1::impl_newItem(TItemInfo& rItem) rItem.pItem.reset( new SvtCompatibilityOptions() ); break; - case EItem::CompatibilityView : - rItem.pItem.reset( new SvtCompatibilityViewOptions() ); - break; - case EItem::DefaultOptions : rItem.pItem.reset( new SvtDefaultOptions() ); break; |