diff options
author | Caolán McNamara <caolanm@redhat.com> | 2016-07-10 16:52:04 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2016-07-10 19:12:39 +0100 |
commit | a97d67cd0bf0819d4559fa79d5fcbcd86222fe6a (patch) | |
tree | 6ed15b2173aff75151b094761d851d58cfe13ed5 /unotools | |
parent | 4bc99ab1ac4bed1df66d1df8b1ca3168e7e3d8f4 (diff) |
ditch the application per-language IsAutoMnemonicEnabled setting
Change-Id: I9734ada09edb6544a332893a7c5d31730b0d081d
Diffstat (limited to 'unotools')
-rw-r--r-- | unotools/Library_utl.mk | 1 | ||||
-rw-r--r-- | unotools/source/config/itemholder1.cxx | 5 | ||||
-rw-r--r-- | unotools/source/config/localisationoptions.cxx | 245 |
3 files changed, 0 insertions, 251 deletions
diff --git a/unotools/Library_utl.mk b/unotools/Library_utl.mk index bfecbd132cfb..fb0f19f93be7 100644 --- a/unotools/Library_utl.mk +++ b/unotools/Library_utl.mk @@ -68,7 +68,6 @@ $(eval $(call gb_Library_add_exception_objects,utl,\ unotools/source/config/historyoptions \ unotools/source/config/itemholder1 \ unotools/source/config/lingucfg \ - unotools/source/config/localisationoptions \ unotools/source/config/misccfg \ unotools/source/config/moduleoptions \ unotools/source/config/options \ diff --git a/unotools/source/config/itemholder1.cxx b/unotools/source/config/itemholder1.cxx index 6f69b976ce16..43a239b7e1fd 100644 --- a/unotools/source/config/itemholder1.cxx +++ b/unotools/source/config/itemholder1.cxx @@ -35,7 +35,6 @@ #include <unotools/fontoptions.hxx> #include <unotools/historyoptions.hxx> #include <unotools/lingucfg.hxx> -#include <unotools/localisationoptions.hxx> #include <unotools/moduleoptions.hxx> #include <unotools/pathoptions.hxx> #include <unotools/printwarningoptions.hxx> @@ -175,10 +174,6 @@ void ItemHolder1::impl_newItem(TItemInfo& rItem) rItem.pItem = new SvtLinguConfig(); break; - case E_LOCALISATIONOPTIONS : - rItem.pItem = new SvtLocalisationOptions(); - break; - case E_MODULEOPTIONS : rItem.pItem = new SvtModuleOptions(); break; diff --git a/unotools/source/config/localisationoptions.cxx b/unotools/source/config/localisationoptions.cxx deleted file mode 100644 index d93f8b3718ac..000000000000 --- a/unotools/source/config/localisationoptions.cxx +++ /dev/null @@ -1,245 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * 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/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#include <unotools/localisationoptions.hxx> -#include <unotools/configmgr.hxx> -#include <unotools/configitem.hxx> -#include <tools/debug.hxx> -#include <com/sun/star/uno/Any.hxx> -#include <com/sun/star/uno/Sequence.hxx> - -#include "itemholder1.hxx" - -using namespace ::utl; -using namespace ::osl; -using namespace ::com::sun::star::uno; - -#define ROOTNODE_LOCALISATION OUString("Office.Common/View/Localisation") -#define DEFAULT_AUTOMNEMONIC false - -#define PROPERTYNAME_AUTOMNEMONIC "AutoMnemonic" - -#define PROPERTYHANDLE_AUTOMNEMONIC 0 - -#define PROPERTYCOUNT 1 - -class SvtLocalisationOptions_Impl : public ConfigItem -{ - public: - - SvtLocalisationOptions_Impl(); - virtual ~SvtLocalisationOptions_Impl(); - - /*-**************************************************************************************************** - @short called for notify of configmanager - @descr These 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. - - @seealso baseclass ConfigItem - - @param "seqPropertyNames" is the list of properties which should be updated. - *//*-*****************************************************************************************************/ - - virtual void Notify( const Sequence< OUString >& seqPropertyNames ) override; - - /*-**************************************************************************************************** - @short access method to get internal values - @descr These method give us a chance to regulate access to our internal values. - It's not used in the moment - but it's possible for the feature! - *//*-*****************************************************************************************************/ - - bool IsAutoMnemonic ( ) const { return m_bAutoMnemonic;} - - private: - - virtual void ImplCommit() override; - - /*-**************************************************************************************************** - @short return list of key names of our configuration management which represent oue module tree - @descr These methods return 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 Sequence< OUString > GetPropertyNames(); - - private: - - bool m_bAutoMnemonic; -}; - -// constructor - -SvtLocalisationOptions_Impl::SvtLocalisationOptions_Impl() - // Init baseclasses first - : ConfigItem ( ROOTNODE_LOCALISATION ) - // Init member then. - , m_bAutoMnemonic ( DEFAULT_AUTOMNEMONIC ) -{ - // Use our static list of configuration keys to get his values. - Sequence< OUString > seqNames = GetPropertyNames ( ); - Sequence< Any > seqValues = GetProperties ( seqNames ); - - // Safe impossible cases. - // We need values from ALL configuration keys. - // Follow assignment use order of values in relation to our list of key names! - DBG_ASSERT( !(seqNames.getLength()!=seqValues.getLength()), "SvtLocalisationOptions_Impl::SvtLocalisationOptions_Impl()\nI miss some values of configuration keys!\n" ); - - // Copy values from list in right order to our internal member. - sal_Int32 nPropertyCount = seqValues.getLength(); - for( sal_Int32 nProperty=0; nProperty<nPropertyCount; ++nProperty ) - { - if (!seqValues[nProperty].hasValue()) - continue; - switch( nProperty ) - { - case PROPERTYHANDLE_AUTOMNEMONIC : { - DBG_ASSERT(!(seqValues[nProperty].getValueTypeClass()!=TypeClass_BOOLEAN), "SvtLocalisationOptions_Impl::SvtLocalisationOptions_Impl()\nWho has changed the value type of \"Office.Common\\View\\Localisation\\AutoMnemonic\"?" ); - seqValues[nProperty] >>= m_bAutoMnemonic; - } - break; - } - } - - // Enable notification mechanism of our baseclass. - // We need it to get information about changes outside these class on our used configuration keys! - EnableNotification( seqNames ); -} - -// destructor - -SvtLocalisationOptions_Impl::~SvtLocalisationOptions_Impl() -{ - assert(!IsModified()); // should have been committed -} - -// public method - -void SvtLocalisationOptions_Impl::Notify( const Sequence< OUString >& seqPropertyNames ) -{ - // Use given list of updated properties to get his values from configuration directly! - Sequence< Any > seqValues = GetProperties( seqPropertyNames ); - // Safe impossible cases. - // We need values from ALL notified configuration keys. - DBG_ASSERT( !(seqPropertyNames.getLength()!=seqValues.getLength()), "SvtLocalisationOptions_Impl::Notify()\nI miss some values of configuration keys!\n" ); - // Step over list of property names and get right value from coreesponding value list to set it on internal members! - sal_Int32 nCount = seqPropertyNames.getLength(); - for( sal_Int32 nProperty=0; nProperty<nCount; ++nProperty ) - { - if( seqPropertyNames[nProperty] == PROPERTYNAME_AUTOMNEMONIC ) - { - DBG_ASSERT(!(seqValues[nProperty].getValueTypeClass()!=TypeClass_BOOLEAN), "SvtLocalisationOptions_Impl::SvtLocalisationOptions_Impl()\nWho has changed the value type of \"Office.Common\\View\\Localisation\\AutoMnemonic\"?" ); - seqValues[nProperty] >>= m_bAutoMnemonic; - } -#if OSL_DEBUG_LEVEL > 0 - else assert(false && "SvtLocalisationOptions_Impl::Notify()\nUnknown property detected ... I can't handle these!\n"); -#endif - } - - NotifyListeners(0); -} - -// public method - -void SvtLocalisationOptions_Impl::ImplCommit() -{ - // Get names of supported properties, create a list for values and copy current values to it. - Sequence< OUString > seqNames = GetPropertyNames (); - sal_Int32 nCount = seqNames.getLength(); - Sequence< Any > seqValues ( nCount ); - for( sal_Int32 nProperty=0; nProperty<nCount; ++nProperty ) - { - switch( nProperty ) - { - case PROPERTYHANDLE_AUTOMNEMONIC : { - seqValues[nProperty] <<= m_bAutoMnemonic; - } - break; - } - } - // Set properties in configuration. - PutProperties( seqNames, seqValues ); -} - -// public method - - -Sequence< OUString > SvtLocalisationOptions_Impl::GetPropertyNames() -{ - // Build static list of configuration key names. - const OUString aProperties[] = - { - OUString(PROPERTYNAME_AUTOMNEMONIC) , - }; - // Initialize return sequence with these list ... - Sequence< OUString > seqPropertyNames(aProperties, PROPERTYCOUNT); - // ... and return it. - return seqPropertyNames; -} - -namespace { - -std::weak_ptr<SvtLocalisationOptions_Impl> g_pLocalisationOptions; - -} - -SvtLocalisationOptions::SvtLocalisationOptions() -{ - // Global access, must be guarded (multithreading!). - MutexGuard aGuard( GetOwnStaticMutex() ); - - m_pImpl = g_pLocalisationOptions.lock(); - if( !m_pImpl ) - { - m_pImpl = std::make_shared<SvtLocalisationOptions_Impl>(); - g_pLocalisationOptions = m_pImpl; - ItemHolder1::holdConfigItem(E_LOCALISATIONOPTIONS); - } -} - -SvtLocalisationOptions::~SvtLocalisationOptions() -{ - // Global access, must be guarded (multithreading!) - MutexGuard aGuard( GetOwnStaticMutex() ); - - m_pImpl.reset(); -} - -// public method - -bool SvtLocalisationOptions::IsAutoMnemonic() const -{ - MutexGuard aGuard( GetOwnStaticMutex() ); - return m_pImpl->IsAutoMnemonic(); -} - -namespace -{ - class theLocalisationOptionsMutex : public rtl::Static<osl::Mutex, theLocalisationOptionsMutex>{}; -} - -// private method - -Mutex& SvtLocalisationOptions::GetOwnStaticMutex() -{ - return theLocalisationOptionsMutex::get(); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |