summaryrefslogtreecommitdiff
path: root/svtools/source/config/miscopt.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svtools/source/config/miscopt.cxx')
-rw-r--r--svtools/source/config/miscopt.cxx1022
1 files changed, 0 insertions, 1022 deletions
diff --git a/svtools/source/config/miscopt.cxx b/svtools/source/config/miscopt.cxx
deleted file mode 100644
index 22b821d08a..0000000000
--- a/svtools/source/config/miscopt.cxx
+++ /dev/null
@@ -1,1022 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_svtools.hxx"
-//_________________________________________________________________________________________________________________
-// includes
-//_________________________________________________________________________________________________________________
-
-#include <svtools/miscopt.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 <tools/link.hxx>
-#include <tools/wldcrd.hxx>
-#include <tools/urlobj.hxx>
-
-#include <rtl/logfile.hxx>
-#include <rtl/instance.hxx>
-#include "itemholder2.hxx"
-
-#include <svtools/imgdef.hxx>
-#include <vcl/svapp.hxx>
-
-#include <list>
-
-//_________________________________________________________________________________________________________________
-// namespaces
-//_________________________________________________________________________________________________________________
-
-using namespace ::utl ;
-using namespace ::rtl ;
-using namespace ::osl ;
-using namespace ::com::sun::star::uno ;
-using namespace ::com::sun::star;
-
-//_________________________________________________________________________________________________________________
-// const
-//_________________________________________________________________________________________________________________
-
-#define ASCII_STR(s) OUString( RTL_CONSTASCII_USTRINGPARAM(s) )
-#define ROOTNODE_MISC ASCII_STR("Office.Common/Misc")
-#define DEFAULT_PLUGINSENABLED sal_True;
-
-#define PROPERTYNAME_PLUGINSENABLED ASCII_STR("PluginsEnabled")
-#define PROPERTYHANDLE_PLUGINSENABLED 0
-#define PROPERTYNAME_SYMBOLSET ASCII_STR("SymbolSet")
-#define PROPERTYHANDLE_SYMBOLSET 1
-#define PROPERTYNAME_TOOLBOXSTYLE ASCII_STR("ToolboxStyle")
-#define PROPERTYHANDLE_TOOLBOXSTYLE 2
-#define PROPERTYNAME_USESYSTEMFILEDIALOG ASCII_STR("UseSystemFileDialog")
-#define PROPERTYHANDLE_USESYSTEMFILEDIALOG 3
-#define PROPERTYNAME_SYMBOLSTYLE ASCII_STR("SymbolStyle")
-#define PROPERTYHANDLE_SYMBOLSTYLE 4
-#define PROPERTYNAME_USESYSTEMPRINTDIALOG ASCII_STR("UseSystemPrintDialog")
-#define PROPERTYHANDLE_USESYSTEMPRINTDIALOG 5
-#define PROPERTYNAME_TRYODMADIALOG ASCII_STR("TryODMADialog")
-#define PROPERTYHANDLE_TRYODMADIALOG 6
-#define PROPERTYNAME_SHOWLINKWARNINGDIALOG ASCII_STR("ShowLinkWarningDialog")
-#define PROPERTYHANDLE_SHOWLINKWARNINGDIALOG 7
-#define PROPERTYNAME_DISABLEUICUSTOMIZATION ASCII_STR("DisableUICustomization")
-#define PROPERTYHANDLE_DISABLEUICUSTOMIZATION 8
-#define PROPERTYNAME_ALWAYSALLOWSAVE ASCII_STR("AlwaysAllowSave")
-#define PROPERTYHANDLE_ALWAYSALLOWSAVE 9
-#define PROPERTYNAME_EXPERIMENTALMODE ASCII_STR("ExperimentalMode")
-#define PROPERTYHANDLE_EXPERIMENTALMODE 10
-
-#define PROPERTYCOUNT 11
-
-#define VCL_TOOLBOX_STYLE_FLAT ((sal_uInt16)0x0004) // from <vcl/toolbox.hxx>
-
-//_________________________________________________________________________________________________________________
-// private declarations!
-//_________________________________________________________________________________________________________________
-
-class SvtMiscOptions_Impl : public ConfigItem
-{
- //-------------------------------------------------------------------------------------------------------------
- // private member
- //-------------------------------------------------------------------------------------------------------------
-
- private:
- ::std::list<Link> aList;
- sal_Bool m_bUseSystemFileDialog;
- sal_Bool m_bIsUseSystemFileDialogRO;
- sal_Bool m_bTryODMADialog;
- sal_Bool m_bIsTryODMADialogRO;
- sal_Bool m_bPluginsEnabled;
- sal_Bool m_bIsPluginsEnabledRO;
- sal_Int16 m_nSymbolsSize;
- sal_Bool m_bIsSymbolsSizeRO;
- sal_Bool m_bIsSymbolsStyleRO;
- sal_Int16 m_nToolboxStyle;
- sal_Bool m_bIsToolboxStyleRO;
- sal_Bool m_bUseSystemPrintDialog;
- sal_Bool m_bIsUseSystemPrintDialogRO;
- sal_Bool m_bShowLinkWarningDialog;
- sal_Bool m_bIsShowLinkWarningDialogRO;
- sal_Bool m_bDisableUICustomization;
- sal_Bool m_bAlwaysAllowSave;
- sal_Bool m_bExperimentalMode;
-
- //-------------------------------------------------------------------------------------------------------------
- // public methods
- //-------------------------------------------------------------------------------------------------------------
-
- public:
-
- //---------------------------------------------------------------------------------------------------------
- // constructor / destructor
- //---------------------------------------------------------------------------------------------------------
-
- SvtMiscOptions_Impl();
- ~SvtMiscOptions_Impl();
-
- //---------------------------------------------------------------------------------------------------------
- // overloaded methods of baseclass
- //---------------------------------------------------------------------------------------------------------
-
- /*-****************************************************************************************************//**
- @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.
- @return -
-
- @onerror -
- *//*-*****************************************************************************************************/
-
- virtual void Notify( const Sequence< OUString >& seqPropertyNames );
-
- /** loads required data from the configuration. It's called in the constructor to
- read all entries and form ::Notify to re-read changed settings
-
- */
- void Load( const Sequence< OUString >& rPropertyNames );
-
- /*-****************************************************************************************************//**
- @short write changes to configuration
- @descr These method writes the changed values into the sub tree
- and should always called in our destructor to guarantee consistency of config data.
-
- @seealso baseclass ConfigItem
-
- @param -
- @return -
-
- @onerror -
- *//*-*****************************************************************************************************/
-
- virtual void Commit();
-
- //---------------------------------------------------------------------------------------------------------
- // public interface
- //---------------------------------------------------------------------------------------------------------
-
- inline sal_Bool UseSystemFileDialog() const
- { return m_bUseSystemFileDialog; }
-
- inline void SetUseSystemFileDialog( sal_Bool bSet )
- { m_bUseSystemFileDialog = bSet; SetModified(); }
-
- inline sal_Bool IsUseSystemFileDialogReadOnly() const
- { return m_bIsUseSystemFileDialogRO; }
-
- inline sal_Bool TryODMADialog() const
- { return m_bTryODMADialog; }
-
- inline void SetTryODMADialog( sal_Bool bSet )
- { m_bTryODMADialog = bSet; SetModified(); }
-
- inline sal_Bool IsTryUseODMADialogReadOnly() const
- { return m_bIsTryODMADialogRO; }
-
- inline sal_Bool DisableUICustomization() const
- { return m_bDisableUICustomization; }
-
- inline void SetSaveAlwaysAllowed( sal_Bool bSet )
- { m_bAlwaysAllowSave = bSet; SetModified(); }
-
- inline sal_Bool IsSaveAlwaysAllowed() const
- { return m_bAlwaysAllowSave; }
-
- inline void SetExperimentalMode( sal_Bool bSet )
- { m_bExperimentalMode = bSet; SetModified(); }
-
- inline sal_Bool IsExperimentalMode() const
- { return m_bExperimentalMode; }
-
- inline sal_Bool IsPluginsEnabled() const
- { return m_bPluginsEnabled; }
-
- void SetPluginsEnabled( sal_Bool bEnable );
-
- inline sal_Bool IsPluginsEnabledReadOnly() const
- { return m_bIsPluginsEnabledRO; }
-
- inline sal_Int16 GetSymbolsSize()
- { return m_nSymbolsSize; }
-
- void SetSymbolsSize( sal_Int16 nSet );
-
- inline sal_Bool IsGetSymbolsSizeReadOnly()
- { return m_bIsSymbolsSizeRO; }
-
- sal_Int16 GetSymbolsStyle() const;
- ::rtl::OUString GetSymbolsStyleName() const;
- sal_Int16 GetCurrentSymbolsStyle() const;
-
- inline void SetSymbolsStyle( sal_Int16 nSet )
- { ImplSetSymbolsStyle( true, nSet, ::rtl::OUString() ); }
-
- inline void SetSymbolsStyleName( ::rtl::OUString &rName )
- { ImplSetSymbolsStyle( false, 0, rName ); }
-
- inline sal_Bool IsGetSymbolsStyleReadOnly()
- { return m_bIsSymbolsStyleRO; }
-
- // translate to VCL settings ( "0" = 3D, "1" = FLAT )
- inline sal_Int16 GetToolboxStyle()
- { return m_nToolboxStyle ? VCL_TOOLBOX_STYLE_FLAT : 0; }
-
- // translate from VCL settings
- void SetToolboxStyle( sal_Int16 nStyle, bool _bSetModified );
-
- inline sal_Bool IsGetToolboxStyleReadOnly()
- { return m_bIsToolboxStyleRO; }
-
- inline sal_Bool UseSystemPrintDialog() const
- { return m_bUseSystemPrintDialog; }
-
- inline void SetUseSystemPrintDialog( sal_Bool bSet )
- { m_bUseSystemPrintDialog = bSet; SetModified(); }
-
- inline sal_Bool IsUseSystemPrintDialogReadOnly() const
- { return m_bIsUseSystemPrintDialogRO; }
-
- inline sal_Bool ShowLinkWarningDialog() const
- { return m_bShowLinkWarningDialog; }
-
- void SetShowLinkWarningDialog( sal_Bool bSet )
- { m_bShowLinkWarningDialog = bSet; SetModified(); }
-
- sal_Bool IsShowLinkWarningDialogReadOnly() const
- { return m_bIsShowLinkWarningDialogRO; }
-
- void AddListenerLink( const Link& rLink );
- void RemoveListenerLink( const Link& rLink );
- void CallListeners();
-
- //-------------------------------------------------------------------------------------------------------------
- // private methods
- //-------------------------------------------------------------------------------------------------------------
-
- private:
-
- /*-****************************************************************************************************//**
- @short return list of key names of ouer 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.
-
- @seealso -
-
- @param -
- @return A list of needed configuration keys is returned.
-
- @onerror -
- *//*-*****************************************************************************************************/
-
- static Sequence< OUString > GetPropertyNames();
-
- protected:
- void ImplSetSymbolsStyle( bool bValue, sal_Int16 nSet, const ::rtl::OUString &rName );
-};
-
-//*****************************************************************************************************************
-// constructor
-//*****************************************************************************************************************
-SvtMiscOptions_Impl::SvtMiscOptions_Impl()
- // Init baseclasses first
- : ConfigItem( ROOTNODE_MISC )
-
- , m_bUseSystemFileDialog( sal_False )
- , m_bIsUseSystemFileDialogRO( sal_False )
- , m_bTryODMADialog( sal_False )
- , m_bIsTryODMADialogRO( sal_False )
- , m_bPluginsEnabled( sal_False )
- , m_bIsPluginsEnabledRO( sal_False )
- , m_nSymbolsSize( 0 )
- , m_bIsSymbolsSizeRO( sal_False )
- , m_bIsSymbolsStyleRO( sal_False )
- , m_nToolboxStyle( 1 )
- , m_bIsToolboxStyleRO( sal_False )
- , m_bUseSystemPrintDialog( sal_False )
- , m_bIsUseSystemPrintDialogRO( sal_False )
- , m_bShowLinkWarningDialog( sal_True )
- , m_bIsShowLinkWarningDialogRO( sal_False )
- , m_bAlwaysAllowSave( sal_False )
- , m_bExperimentalMode( sal_False )
-
-{
- // Use our static list of configuration keys to get his values.
- Sequence< OUString > seqNames = GetPropertyNames ( );
- Load( seqNames );
- Sequence< Any > seqValues = GetProperties ( seqNames );
- Sequence< sal_Bool > seqRO = GetReadOnlyStates ( 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()), "SvtMiscOptions_Impl::SvtMiscOptions_Impl()\nI miss some values of configuration keys!\n" );
-
- // Copy values from list in right order to ouer internal member.
- sal_Int32 nPropertyCount = seqValues.getLength();
- for( sal_Int32 nProperty=0; nProperty<nPropertyCount; ++nProperty )
- {
- if (seqValues[nProperty].hasValue()==sal_False)
- continue;
- switch( nProperty )
- {
- case PROPERTYHANDLE_PLUGINSENABLED :
- {
- if( !(seqValues[nProperty] >>= m_bPluginsEnabled) )
- {
- OSL_FAIL("Wrong type of \"Misc\\PluginsEnabled\"!" );
- }
- m_bIsPluginsEnabledRO = seqRO[nProperty];
- break;
- }
-
- case PROPERTYHANDLE_SYMBOLSET :
- {
- if( !(seqValues[nProperty] >>= m_nSymbolsSize) )
- {
- OSL_FAIL("Wrong type of \"Misc\\SymbolSet\"!" );
- }
- m_bIsSymbolsSizeRO = seqRO[nProperty];
- break;
- }
-
- case PROPERTYHANDLE_TOOLBOXSTYLE :
- {
- if( !(seqValues[nProperty] >>= m_nToolboxStyle) )
- {
- OSL_FAIL("Wrong type of \"Misc\\ToolboxStyle\"!" );
- }
- m_bIsToolboxStyleRO = seqRO[nProperty];
- break;
- }
-
- case PROPERTYHANDLE_USESYSTEMFILEDIALOG :
- {
- if( !(seqValues[nProperty] >>= m_bUseSystemFileDialog) )
- {
- OSL_FAIL("Wrong type of \"Misc\\UseSystemFileDialog\"!" );
- }
- m_bIsUseSystemFileDialogRO = seqRO[nProperty];
- break;
- }
-
- case PROPERTYHANDLE_USESYSTEMPRINTDIALOG :
- {
- if( !(seqValues[nProperty] >>= m_bUseSystemPrintDialog) )
- {
- OSL_FAIL("Wrong type of \"Misc\\UseSystemPrintDialog\"!" );
- }
- m_bIsUseSystemPrintDialogRO = seqRO[nProperty];
- break;
- }
-
- case PROPERTYHANDLE_TRYODMADIALOG :
- {
- if( !(seqValues[nProperty] >>= m_bTryODMADialog) )
- {
- OSL_FAIL("Wrong type of \"Misc\\TryODMADialog\"!" );
- }
- m_bIsTryODMADialogRO = seqRO[nProperty];
- break;
- }
-
- case PROPERTYHANDLE_SHOWLINKWARNINGDIALOG :
- {
- if( !(seqValues[nProperty] >>= m_bShowLinkWarningDialog) )
- {
- OSL_FAIL("Wrong type of \"Misc\\ShowLinkWarningDialog\"!" );
- }
- m_bIsShowLinkWarningDialogRO = seqRO[nProperty];
- break;
- }
-
- case PROPERTYHANDLE_SYMBOLSTYLE :
- {
- ::rtl::OUString aSymbolsStyle;
- if( seqValues[nProperty] >>= aSymbolsStyle )
- SetSymbolsStyleName( aSymbolsStyle );
- else
- {
- OSL_FAIL("Wrong type of \"Misc\\SymbolStyle\"!" );
- }
- m_bIsSymbolsStyleRO = seqRO[nProperty];
- break;
- }
-
- case PROPERTYHANDLE_DISABLEUICUSTOMIZATION :
- {
- if( !(seqValues[nProperty] >>= m_bDisableUICustomization) )
- OSL_FAIL("Wrong type of \"Misc\\DisableUICustomization\"!" );
- break;
- }
- case PROPERTYHANDLE_ALWAYSALLOWSAVE :
- {
- if( !(seqValues[nProperty] >>= m_bAlwaysAllowSave) )
- OSL_FAIL("Wrong type of \"Misc\\AlwaysAllowSave\"!" );
- break;
- }
- case PROPERTYHANDLE_EXPERIMENTALMODE :
- {
- if( !(seqValues[nProperty] >>= m_bExperimentalMode) )
- OSL_FAIL("Wrong type of \"Misc\\ExperimentalMode\"!" );
- break;
- }
- }
- }
-
- // Enable notification mechanism of ouer baseclass.
- // We need it to get information about changes outside these class on ouer used configuration keys!
- EnableNotification( seqNames );
-}
-
-//*****************************************************************************************************************
-// destructor
-//*****************************************************************************************************************
-SvtMiscOptions_Impl::~SvtMiscOptions_Impl()
-{
- // We must save our current values .. if user forget it!
- if( IsModified() == sal_True )
- {
- Commit();
- }
-}
-
-static int lcl_MapPropertyName( const ::rtl::OUString rCompare,
- const uno::Sequence< ::rtl::OUString>& aInternalPropertyNames)
-{
- for(int nProp = 0; nProp < aInternalPropertyNames.getLength(); ++nProp)
- {
- if( aInternalPropertyNames[nProp] == rCompare )
- return nProp;
- }
- return -1;
-}
-
-void SvtMiscOptions_Impl::Load( const Sequence< OUString >& rPropertyNames )
-{
- const uno::Sequence< ::rtl::OUString> aInternalPropertyNames( GetPropertyNames());
- Sequence< Any > seqValues = GetProperties( rPropertyNames );
-
- // 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( !(rPropertyNames.getLength()!=seqValues.getLength()), "SvtSecurityOptions_Impl::SvtSecurityOptions_Impl()\nI miss some values of configuration keys!\n" );
-
- // Copy values from list in right order to ouer internal member.
- sal_Int32 nPropertyCount = seqValues.getLength();
- for( sal_Int32 nProperty=0; nProperty<nPropertyCount; ++nProperty )
- {
- if (seqValues[nProperty].hasValue()==sal_False)
- continue;
- switch( lcl_MapPropertyName(rPropertyNames[nProperty], aInternalPropertyNames) )
- {
- case PROPERTYHANDLE_PLUGINSENABLED : {
- if( !(seqValues[nProperty] >>= m_bPluginsEnabled) )
- {
- OSL_FAIL("Wrong type of \"Misc\\PluginsEnabled\"!" );
- }
- }
- break;
- case PROPERTYHANDLE_SYMBOLSET : {
- if( !(seqValues[nProperty] >>= m_nSymbolsSize) )
- {
- OSL_FAIL("Wrong type of \"Misc\\SymbolSet\"!" );
- }
- }
- break;
- case PROPERTYHANDLE_TOOLBOXSTYLE : {
- if( !(seqValues[nProperty] >>= m_nToolboxStyle) )
- {
- OSL_FAIL("Wrong type of \"Misc\\ToolboxStyle\"!" );
- }
- }
- break;
- case PROPERTYHANDLE_USESYSTEMFILEDIALOG : {
- if( !(seqValues[nProperty] >>= m_bUseSystemFileDialog) )
- {
- OSL_FAIL("Wrong type of \"Misc\\UseSystemFileDialog\"!" );
- }
- }
- break;
- case PROPERTYHANDLE_USESYSTEMPRINTDIALOG : {
- if( !(seqValues[nProperty] >>= m_bUseSystemPrintDialog) )
- {
- OSL_FAIL("Wrong type of \"Misc\\UseSystemPrintDialog\"!" );
- }
- }
- break;
- case PROPERTYHANDLE_TRYODMADIALOG : {
- if( !(seqValues[nProperty] >>= m_bTryODMADialog) )
- {
- OSL_FAIL("Wrong type of \"Misc\\TryODMADialog\"!" );
- }
- }
- break;
- case PROPERTYHANDLE_SHOWLINKWARNINGDIALOG : {
- if( !(seqValues[nProperty] >>= m_bShowLinkWarningDialog) )
- {
- OSL_FAIL("Wrong type of \"Misc\\ShowLinkWarningDialog\"!" );
- }
- }
- break;
- case PROPERTYHANDLE_SYMBOLSTYLE : {
- ::rtl::OUString aSymbolsStyle;
- if( seqValues[nProperty] >>= aSymbolsStyle )
- SetSymbolsStyleName( aSymbolsStyle );
- else
- {
- OSL_FAIL("Wrong type of \"Misc\\SymbolStyle\"!" );
- }
- }
- break;
- case PROPERTYHANDLE_DISABLEUICUSTOMIZATION : {
- if( !(seqValues[nProperty] >>= m_bDisableUICustomization) )
- OSL_FAIL("Wrong type of \"Misc\\DisableUICustomization\"!" );
- }
- break;
- case PROPERTYHANDLE_ALWAYSALLOWSAVE:
- {
- if( !(seqValues[nProperty] >>= m_bAlwaysAllowSave) )
- OSL_FAIL("Wrong type of \"Misc\\AlwaysAllowSave\"!" );
- }
- break;
- }
- }
-}
-
-void SvtMiscOptions_Impl::AddListenerLink( const Link& rLink )
-{
- aList.push_back( rLink );
-}
-
-void SvtMiscOptions_Impl::RemoveListenerLink( const Link& rLink )
-{
- for ( ::std::list<Link>::iterator iter = aList.begin(); iter != aList.end(); ++iter )
- {
- if ( *iter == rLink )
- {
- aList.erase(iter);
- break;
- }
- }
-}
-
-void SvtMiscOptions_Impl::CallListeners()
-{
- for ( ::std::list<Link>::const_iterator iter = aList.begin(); iter != aList.end(); ++iter )
- iter->Call( this );
-}
-
-void SvtMiscOptions_Impl::SetToolboxStyle( sal_Int16 nStyle, bool _bSetModified )
-{
- m_nToolboxStyle = nStyle ? 1 : 0;
- if ( _bSetModified )
- SetModified();
- CallListeners();
-}
-
-void SvtMiscOptions_Impl::SetSymbolsSize( sal_Int16 nSet )
-{
- m_nSymbolsSize = nSet;
- SetModified();
- CallListeners();
-}
-
-sal_Int16 SvtMiscOptions_Impl::GetSymbolsStyle() const
-{
- return (sal_Int16)Application::GetSettings().GetStyleSettings().GetSymbolsStyle();
-}
-
-::rtl::OUString SvtMiscOptions_Impl::GetSymbolsStyleName() const
-{
- return Application::GetSettings().GetStyleSettings().GetSymbolsStyleName();
-}
-
-sal_Int16 SvtMiscOptions_Impl::GetCurrentSymbolsStyle() const
-{
- return (sal_Int16)Application::GetSettings().GetStyleSettings().GetCurrentSymbolsStyle();
-}
-
-void SvtMiscOptions_Impl::ImplSetSymbolsStyle( bool bValue, sal_Int16 nSet, const ::rtl::OUString &rName )
-{
- if ( ( bValue && ( nSet != GetSymbolsStyle() ) ) ||
- ( !bValue && ( rName != GetSymbolsStyleName() ) ) )
- {
- AllSettings aAllSettings = Application::GetSettings();
- StyleSettings aStyleSettings = aAllSettings.GetStyleSettings();
-
- if ( bValue )
- aStyleSettings.SetSymbolsStyle( nSet );
- else
- aStyleSettings.SetSymbolsStyleName( rName );
-
- aAllSettings.SetStyleSettings(aStyleSettings);
- Application::MergeSystemSettings( aAllSettings );
- Application::SetSettings(aAllSettings);
-
- SetModified();
- CallListeners();
- }
-}
-
-void SvtMiscOptions_Impl::SetPluginsEnabled( sal_Bool bEnable )
-{
- m_bPluginsEnabled = bEnable;
- SetModified();
- CallListeners();
-}
-
-//*****************************************************************************************************************
-// public method
-//*****************************************************************************************************************
-void SvtMiscOptions_Impl::Notify( const Sequence< OUString >& rPropertyNames )
-{
- Load( rPropertyNames );
- CallListeners();
-}
-
-//*****************************************************************************************************************
-// public method
-//*****************************************************************************************************************
-void SvtMiscOptions_Impl::Commit()
-{
- // 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_PLUGINSENABLED :
- {
- if ( !m_bIsPluginsEnabledRO )
- seqValues[nProperty] <<= m_bPluginsEnabled;
- break;
- }
-
- case PROPERTYHANDLE_SYMBOLSET :
- {
- if ( !m_bIsSymbolsSizeRO )
- seqValues[nProperty] <<= m_nSymbolsSize;
- break;
- }
-
- case PROPERTYHANDLE_TOOLBOXSTYLE :
- {
- if ( !m_bIsToolboxStyleRO )
- seqValues[nProperty] <<= m_nToolboxStyle;
- break;
- }
-
- case PROPERTYHANDLE_USESYSTEMFILEDIALOG :
- {
- if ( !m_bIsUseSystemFileDialogRO )
- seqValues[nProperty] <<= m_bUseSystemFileDialog;
- break;
- }
-
- case PROPERTYHANDLE_TRYODMADIALOG :
- {
- if ( !m_bIsTryODMADialogRO )
- seqValues[nProperty] <<= m_bTryODMADialog;
- break;
- }
-
- case PROPERTYHANDLE_SYMBOLSTYLE :
- {
- if ( !m_bIsSymbolsStyleRO )
- seqValues[nProperty] <<= GetSymbolsStyleName();
- break;
- }
-
- case PROPERTYHANDLE_USESYSTEMPRINTDIALOG :
- {
- if ( !m_bIsUseSystemPrintDialogRO )
- seqValues[nProperty] <<= m_bUseSystemPrintDialog;
- break;
- }
-
- case PROPERTYHANDLE_SHOWLINKWARNINGDIALOG :
- {
- if ( !m_bIsShowLinkWarningDialogRO )
- seqValues[nProperty] <<= m_bShowLinkWarningDialog;
- break;
- }
-
- case PROPERTYHANDLE_DISABLEUICUSTOMIZATION :
- {
- seqValues[nProperty] <<= m_bDisableUICustomization;
- break;
- }
- case PROPERTYHANDLE_ALWAYSALLOWSAVE :
- {
- seqValues[nProperty] <<= m_bAlwaysAllowSave;
- break;
- }
- case PROPERTYHANDLE_EXPERIMENTALMODE :
- {
- seqValues[nProperty] <<= m_bExperimentalMode;
- break;
- }
- }
- }
- // Set properties in configuration.
- PutProperties( seqNames, seqValues );
-}
-
-//*****************************************************************************************************************
-// private method
-//*****************************************************************************************************************
-Sequence< OUString > SvtMiscOptions_Impl::GetPropertyNames()
-{
- // Build list of configuration key names.
- const OUString pProperties[] =
- {
- PROPERTYNAME_PLUGINSENABLED,
- PROPERTYNAME_SYMBOLSET,
- PROPERTYNAME_TOOLBOXSTYLE,
- PROPERTYNAME_USESYSTEMFILEDIALOG,
- PROPERTYNAME_SYMBOLSTYLE,
- PROPERTYNAME_USESYSTEMPRINTDIALOG,
- PROPERTYNAME_TRYODMADIALOG,
- PROPERTYNAME_SHOWLINKWARNINGDIALOG,
- PROPERTYNAME_DISABLEUICUSTOMIZATION,
- PROPERTYNAME_ALWAYSALLOWSAVE,
- PROPERTYNAME_EXPERIMENTALMODE
- };
-
- // Initialize return sequence with these list ...
- const Sequence< OUString > seqPropertyNames( pProperties, SAL_N_ELEMENTS( pProperties ) );
- // ... and return it.
- return seqPropertyNames;
-}
-
-//*****************************************************************************************************************
-// initialize static member
-// DON'T DO IT IN YOUR HEADER!
-// see definition for further informations
-//*****************************************************************************************************************
-SvtMiscOptions_Impl* SvtMiscOptions::m_pDataContainer = NULL ;
-sal_Int32 SvtMiscOptions::m_nRefCount = 0 ;
-
-//*****************************************************************************************************************
-// constructor
-//*****************************************************************************************************************
-SvtMiscOptions::SvtMiscOptions()
-{
- // Global access, must be guarded (multithreading!).
- MutexGuard aGuard( GetInitMutex() );
- // Increase ouer refcount ...
- ++m_nRefCount;
- // ... and initialize ouer data container only if it not already exist!
- if( m_pDataContainer == NULL )
- {
- RTL_LOGFILE_CONTEXT(aLog, "svtools ( ??? ) ::SvtMiscOptions_Impl::ctor()");
- m_pDataContainer = new SvtMiscOptions_Impl;
- ItemHolder2::holdConfigItem(E_MISCOPTIONS);
- }
-}
-
-//*****************************************************************************************************************
-// destructor
-//*****************************************************************************************************************
-SvtMiscOptions::~SvtMiscOptions()
-{
- // Global access, must be guarded (multithreading!)
- MutexGuard aGuard( GetInitMutex() );
- // Decrease ouer refcount.
- --m_nRefCount;
- // If last instance was deleted ...
- // we must destroy ouer static data container!
- if( m_nRefCount <= 0 )
- {
- delete m_pDataContainer;
- m_pDataContainer = NULL;
- }
-}
-
-sal_Bool SvtMiscOptions::UseSystemFileDialog() const
-{
- return m_pDataContainer->UseSystemFileDialog();
-}
-
-void SvtMiscOptions::SetUseSystemFileDialog( sal_Bool bEnable )
-{
- m_pDataContainer->SetUseSystemFileDialog( bEnable );
-}
-
-sal_Bool SvtMiscOptions::IsUseSystemFileDialogReadOnly() const
-{
- return m_pDataContainer->IsUseSystemFileDialogReadOnly();
-}
-
-sal_Bool SvtMiscOptions::TryODMADialog() const
-{
- return m_pDataContainer->TryODMADialog();
-}
-
-void SvtMiscOptions::SetTryODMADialog( sal_Bool bEnable )
-{
- m_pDataContainer->SetTryODMADialog( bEnable );
-}
-
-sal_Bool SvtMiscOptions::IsTryUseODMADialogReadOnly() const
-{
- return m_pDataContainer->IsTryUseODMADialogReadOnly();
-}
-
-sal_Bool SvtMiscOptions::IsPluginsEnabled() const
-{
- return m_pDataContainer->IsPluginsEnabled();
-}
-
-void SvtMiscOptions::SetPluginsEnabled( sal_Bool bEnable )
-{
- m_pDataContainer->SetPluginsEnabled( bEnable );
-}
-
-sal_Bool SvtMiscOptions::IsPluginsEnabledReadOnly() const
-{
- return m_pDataContainer->IsPluginsEnabledReadOnly();
-}
-
-sal_Int16 SvtMiscOptions::GetSymbolsSize() const
-{
- return m_pDataContainer->GetSymbolsSize();
-}
-
-void SvtMiscOptions::SetSymbolsSize( sal_Int16 nSet )
-{
- m_pDataContainer->SetSymbolsSize( nSet );
-}
-
-sal_Int16 SvtMiscOptions::GetCurrentSymbolsSize() const
-{
- sal_Int16 eOptSymbolsSize = m_pDataContainer->GetSymbolsSize();
-
- if ( eOptSymbolsSize == SFX_SYMBOLS_SIZE_AUTO )
- {
- // Use system settings, we have to retrieve the toolbar icon size from the
- // Application class
- sal_uLong nStyleIconSize = Application::GetSettings().GetStyleSettings().GetToolbarIconSize();
- if ( nStyleIconSize == STYLE_TOOLBAR_ICONSIZE_LARGE )
- eOptSymbolsSize = SFX_SYMBOLS_SIZE_LARGE;
- else
- eOptSymbolsSize = SFX_SYMBOLS_SIZE_SMALL;
- }
-
- return eOptSymbolsSize;
-}
-
-bool SvtMiscOptions::AreCurrentSymbolsLarge() const
-{
- return ( GetCurrentSymbolsSize() == SFX_SYMBOLS_SIZE_LARGE );
-}
-
-sal_Bool SvtMiscOptions::IsGetSymbolsSizeReadOnly() const
-{
- return m_pDataContainer->IsGetSymbolsSizeReadOnly();
-}
-
-sal_Int16 SvtMiscOptions::GetSymbolsStyle() const
-{
- return m_pDataContainer->GetSymbolsStyle();
-}
-
-sal_Int16 SvtMiscOptions::GetCurrentSymbolsStyle() const
-{
- return m_pDataContainer->GetCurrentSymbolsStyle();
-}
-
-OUString SvtMiscOptions::GetCurrentSymbolsStyleName() const
-{
- return Application::GetSettings().GetStyleSettings().GetCurrentSymbolsStyleName();
-}
-
-void SvtMiscOptions::SetSymbolsStyle( sal_Int16 nSet )
-{
- m_pDataContainer->SetSymbolsStyle( nSet );
-}
-
-sal_Bool SvtMiscOptions::IsGetSymbolsStyleReadOnly() const
-{
- return m_pDataContainer->IsGetSymbolsStyleReadOnly();
-}
-
-sal_Bool SvtMiscOptions::DisableUICustomization() const
-{
- return m_pDataContainer->DisableUICustomization();
-}
-
-sal_Int16 SvtMiscOptions::GetToolboxStyle() const
-{
- return m_pDataContainer->GetToolboxStyle();
-}
-
-void SvtMiscOptions::SetToolboxStyle( sal_Int16 nStyle )
-{
- m_pDataContainer->SetToolboxStyle( nStyle, true );
-}
-
-sal_Bool SvtMiscOptions::IsGetToolboxStyleReadOnly() const
-{
- return m_pDataContainer->IsGetToolboxStyleReadOnly();
-}
-
-sal_Bool SvtMiscOptions::UseSystemPrintDialog() const
-{
- return m_pDataContainer->UseSystemPrintDialog();
-}
-
-void SvtMiscOptions::SetUseSystemPrintDialog( sal_Bool bEnable )
-{
- m_pDataContainer->SetUseSystemPrintDialog( bEnable );
-}
-
-sal_Bool SvtMiscOptions::ShowLinkWarningDialog() const
-{
- return m_pDataContainer->ShowLinkWarningDialog();
-}
-
-void SvtMiscOptions::SetShowLinkWarningDialog( sal_Bool bSet )
-{
- m_pDataContainer->SetShowLinkWarningDialog( bSet );
-}
-
-sal_Bool SvtMiscOptions::IsShowLinkWarningDialogReadOnly() const
-{
- return m_pDataContainer->IsShowLinkWarningDialogReadOnly();
-}
-
-void SvtMiscOptions::SetSaveAlwaysAllowed( sal_Bool bSet )
-{
- m_pDataContainer->SetSaveAlwaysAllowed( bSet );
-}
-
-sal_Bool SvtMiscOptions::IsSaveAlwaysAllowed() const
-{
- return m_pDataContainer->IsSaveAlwaysAllowed();
-}
-
-void SvtMiscOptions::SetExperimentalMode( sal_Bool bSet )
-{
- m_pDataContainer->SetExperimentalMode( bSet );
-}
-
-sal_Bool SvtMiscOptions::IsExperimentalMode() const
-{
- return m_pDataContainer->IsExperimentalMode();
-}
-
-namespace
-{
- class theSvtMiscOptionsMutex :
- public rtl::Static< osl::Mutex, theSvtMiscOptionsMutex > {};
-}
-
-Mutex & SvtMiscOptions::GetInitMutex()
-{
- return theSvtMiscOptionsMutex::get();
-}
-
-void SvtMiscOptions::AddListenerLink( const Link& rLink )
-{
- m_pDataContainer->AddListenerLink( rLink );
-}
-
-void SvtMiscOptions::RemoveListenerLink( const Link& rLink )
-{
- m_pDataContainer->RemoveListenerLink( rLink );
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */