LCOV - code coverage report
Current view: top level - libreoffice/svtools/source/config - accessibilityoptions.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 51 236 21.6 %
Date: 2012-12-27 Functions: 13 47 27.7 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : 
      20             : 
      21             : #include <svtools/accessibilityoptions.hxx>
      22             : 
      23             : #include <unotools/configmgr.hxx>
      24             : #include <com/sun/star/uno/Any.hxx>
      25             : #include <com/sun/star/uno/Sequence.hxx>
      26             : 
      27             : #include <com/sun/star/beans/XPropertySet.hpp>
      28             : #include <com/sun/star/container/XNameAccess.hpp>
      29             : #include <comphelper/configurationhelper.hxx>
      30             : #include <comphelper/processfactory.hxx>
      31             : 
      32             : #include <svl/smplhint.hxx>
      33             : 
      34             : #include <vcl/settings.hxx>
      35             : #include <vcl/svapp.hxx>
      36             : #include <rtl/instance.hxx>
      37             : 
      38             : #include <itemholder2.hxx>
      39             : 
      40             : using namespace utl;
      41             : using namespace com::sun::star::uno;
      42             : 
      43             : #define HELP_TIP_TIMEOUT 0xffff     // max. timeout setting to pretend a non-timeout
      44             : 
      45             : namespace
      46             : {
      47             :     const char s_sAccessibility[] = "org.openoffice.Office.Common/Accessibility";
      48             :     const char s_sAutoDetectSystemHC[] = "AutoDetectSystemHC";
      49             :     const char s_sIsForPagePreviews[] = "IsForPagePreviews";
      50             :     const char s_sIsHelpTipsDisappear[] = "IsHelpTipsDisappear";
      51             :     const char s_sHelpTipSeconds[] = "HelpTipSeconds";
      52             :     const char s_sIsAllowAnimatedGraphics[] = "IsAllowAnimatedGraphics";
      53             :     const char s_sIsAllowAnimatedText[] = "IsAllowAnimatedText";
      54             :     const char s_sIsAutomaticFontColor[] = "IsAutomaticFontColor";
      55             :     const char s_sIsSystemFont[] = "IsSystemFont";
      56             :     const char s_sIsSelectionInReadonly[] = "IsSelectionInReadonly";
      57             : }
      58             : 
      59             : // class SvtAccessibilityOptions_Impl ---------------------------------------------
      60             : 
      61             : class SvtAccessibilityOptions_Impl
      62             : {
      63             : private:
      64             :     css::uno::Reference< css::container::XNameAccess > m_xCfg;
      65             :     sal_Bool                                           bIsModified;
      66             : 
      67             : public:
      68             :     SvtAccessibilityOptions_Impl();
      69             :     ~SvtAccessibilityOptions_Impl();
      70             : 
      71             :     void        SetVCLSettings();
      72             :     sal_Bool    GetAutoDetectSystemHC();
      73             :     sal_Bool    GetIsForPagePreviews() const;
      74             :     sal_Bool    GetIsHelpTipsDisappear() const;
      75             :     sal_Bool    GetIsAllowAnimatedGraphics() const;
      76             :     sal_Bool    GetIsAllowAnimatedText() const;
      77             :     sal_Bool    GetIsAutomaticFontColor() const;
      78             :     sal_Bool    GetIsSystemFont() const;
      79             :     sal_Int16   GetHelpTipSeconds() const;
      80             :     sal_Bool    IsSelectionInReadonly() const;
      81             : 
      82             :     void        SetAutoDetectSystemHC(sal_Bool bSet);
      83             :     void        SetIsForPagePreviews(sal_Bool bSet);
      84             :     void        SetIsHelpTipsDisappear(sal_Bool bSet);
      85             :     void        SetIsAllowAnimatedGraphics(sal_Bool bSet);
      86             :     void        SetIsAllowAnimatedText(sal_Bool bSet);
      87             :     void        SetIsAutomaticFontColor(sal_Bool bSet);
      88             :     void        SetIsSystemFont(sal_Bool bSet);
      89             :     void        SetHelpTipSeconds(sal_Int16 nSet);
      90             :     void        SetSelectionInReadonly(sal_Bool bSet);
      91             : 
      92           0 :     sal_Bool    IsModified() const { return bIsModified; };
      93             : };
      94             : 
      95             : // initialization of static members --------------------------------------
      96             : 
      97             : SvtAccessibilityOptions_Impl* SvtAccessibilityOptions::sm_pSingleImplConfig =NULL;
      98             : sal_Int32                     SvtAccessibilityOptions::sm_nAccessibilityRefCount(0);
      99             : 
     100             : namespace
     101             : {
     102             :     struct SingletonMutex
     103             :         : public rtl::Static< ::osl::Mutex, SingletonMutex > {};
     104             : }
     105             : 
     106             : // -----------------------------------------------------------------------
     107             : // class SvtAccessibilityOptions_Impl ---------------------------------------------
     108             : 
     109          15 : SvtAccessibilityOptions_Impl::SvtAccessibilityOptions_Impl()
     110             : {
     111             :     try
     112             :     {
     113             :         m_xCfg = css::uno::Reference< css::container::XNameAccess >(
     114             :             ::comphelper::ConfigurationHelper::openConfig(
     115             :             comphelper::getProcessComponentContext(),
     116             :             s_sAccessibility,
     117             :             ::comphelper::ConfigurationHelper::E_STANDARD),
     118          15 :             css::uno::UNO_QUERY);
     119             : 
     120          15 :         bIsModified = sal_False;
     121             :     }
     122           0 :     catch(const css::uno::Exception& ex)
     123             :     {
     124           0 :         m_xCfg.clear();
     125             :         SAL_WARN("svtools", "Caught unexpected: " << ex.Message);
     126             :     }
     127          15 : }
     128             : 
     129           1 : SvtAccessibilityOptions_Impl::~SvtAccessibilityOptions_Impl()
     130             : {
     131           1 : }
     132             : 
     133             : // -----------------------------------------------------------------------
     134           0 : sal_Bool SvtAccessibilityOptions_Impl::GetAutoDetectSystemHC()
     135             : {
     136           0 :     css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
     137           0 :     sal_Bool                                        bRet = sal_True;
     138             : 
     139             :     try
     140             :     {
     141           0 :         if(xNode.is())
     142           0 :             xNode->getPropertyValue(s_sAutoDetectSystemHC) >>= bRet;
     143             :     }
     144           0 :     catch(const css::uno::Exception& ex)
     145             :     {
     146             :         SAL_WARN("svtools", "Caught unexpected: " << ex.Message);
     147             :     }
     148             : 
     149           0 :     return bRet;
     150             : }
     151             : 
     152           0 : sal_Bool SvtAccessibilityOptions_Impl::GetIsForPagePreviews() const
     153             : {
     154           0 :     css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
     155           0 :     sal_Bool                                        bRet = sal_True;
     156             : 
     157             :     try
     158             :     {
     159           0 :         if(xNode.is())
     160           0 :             xNode->getPropertyValue(s_sIsForPagePreviews) >>= bRet;
     161             :     }
     162           0 :     catch(const css::uno::Exception& ex)
     163             :     {
     164             :         SAL_WARN("svtools", "Caught unexpected: " << ex.Message);
     165             :     }
     166           0 :     return bRet;
     167             : }
     168             : 
     169           0 : sal_Bool SvtAccessibilityOptions_Impl::GetIsHelpTipsDisappear() const
     170             : {
     171           0 :     css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
     172           0 :     sal_Bool                                        bRet = sal_True;
     173             : 
     174             :     try
     175             :     {
     176           0 :         if(xNode.is())
     177           0 :             xNode->getPropertyValue(s_sIsHelpTipsDisappear) >>= bRet;
     178             :     }
     179           0 :     catch(const css::uno::Exception& ex)
     180             :     {
     181             :         SAL_WARN("svtools", "Caught unexpected: " << ex.Message);
     182             :     }
     183             : 
     184           0 :     return bRet;
     185             : }
     186             : 
     187         351 : sal_Bool SvtAccessibilityOptions_Impl::GetIsAllowAnimatedGraphics() const
     188             : {
     189         351 :     css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
     190         351 :     sal_Bool                                        bRet = sal_True;
     191             : 
     192             :     try
     193             :     {
     194         351 :         if(xNode.is())
     195         351 :             xNode->getPropertyValue(s_sIsAllowAnimatedGraphics) >>= bRet;
     196             :     }
     197           0 :     catch(const css::uno::Exception& ex)
     198             :     {
     199             :         SAL_WARN("svtools", "Caught unexpected: " << ex.Message);
     200             :     }
     201             : 
     202         351 :     return bRet;
     203             : }
     204             : 
     205         351 : sal_Bool SvtAccessibilityOptions_Impl::GetIsAllowAnimatedText() const
     206             : {
     207         351 :     css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
     208         351 :     sal_Bool                                        bRet = sal_True;
     209             : 
     210             :     try
     211             :     {
     212         351 :         if(xNode.is())
     213         351 :             xNode->getPropertyValue(s_sIsAllowAnimatedText) >>= bRet;
     214             :     }
     215           0 :     catch(const css::uno::Exception& ex)
     216             :     {
     217             :         SAL_WARN("svtools", "Caught unexpected: " << ex.Message);
     218             :     }
     219             : 
     220         351 :     return bRet;
     221             : }
     222             : 
     223         237 : sal_Bool SvtAccessibilityOptions_Impl::GetIsAutomaticFontColor() const
     224             : {
     225         237 :     css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
     226         237 :     sal_Bool                                        bRet = sal_False;
     227             : 
     228             :     try
     229             :     {
     230         237 :         if(xNode.is())
     231         237 :             xNode->getPropertyValue(s_sIsAutomaticFontColor) >>= bRet;
     232             :     }
     233           0 :     catch(const css::uno::Exception& ex)
     234             :     {
     235             :         SAL_WARN("svtools", "Caught unexpected: " << ex.Message);
     236             :     }
     237             : 
     238         237 :     return bRet;
     239             : }
     240             : 
     241           0 : sal_Bool SvtAccessibilityOptions_Impl::GetIsSystemFont() const
     242             : {
     243           0 :     css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
     244           0 :     sal_Bool                                        bRet = sal_True;
     245             : 
     246             :     try
     247             :     {
     248           0 :         if(xNode.is())
     249           0 :             xNode->getPropertyValue(s_sIsSystemFont) >>= bRet;
     250             :     }
     251           0 :     catch(const css::uno::Exception& ex)
     252             :     {
     253             :         SAL_WARN("svtools", "Caught unexpected: " << ex.Message);
     254             :     }
     255             : 
     256           0 :     return bRet;
     257             : }
     258             : 
     259           0 : sal_Int16 SvtAccessibilityOptions_Impl::GetHelpTipSeconds() const
     260             : {
     261           0 :     css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
     262           0 :     sal_Int16                                       nRet = 4;
     263             : 
     264             :     try
     265             :     {
     266           0 :         if(xNode.is())
     267           0 :             xNode->getPropertyValue(s_sHelpTipSeconds) >>= nRet;
     268             :     }
     269           0 :     catch(const css::uno::Exception& ex)
     270             :     {
     271             :         SAL_WARN("svtools", "Caught unexpected: " << ex.Message);
     272             :     }
     273             : 
     274           0 :     return nRet;
     275             : }
     276             : 
     277         484 : sal_Bool SvtAccessibilityOptions_Impl::IsSelectionInReadonly() const
     278             : {
     279         484 :     css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
     280         484 :     sal_Bool                                        bRet = sal_False;
     281             : 
     282             :     try
     283             :     {
     284         484 :         if(xNode.is())
     285         484 :             xNode->getPropertyValue(s_sIsSelectionInReadonly) >>= bRet;
     286             :     }
     287           0 :     catch(const css::uno::Exception& ex)
     288             :     {
     289             :         SAL_WARN("svtools", "Caught unexpected: " << ex.Message);
     290             :     }
     291             : 
     292         484 :     return bRet;
     293             : }
     294             : 
     295           0 : void SvtAccessibilityOptions_Impl::SetAutoDetectSystemHC(sal_Bool bSet)
     296             : {
     297           0 :     css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
     298             : 
     299             :     try
     300             :     {
     301           0 :         if(xNode.is() && xNode->getPropertyValue(s_sAutoDetectSystemHC)!=bSet)
     302             :         {
     303           0 :             xNode->setPropertyValue(s_sAutoDetectSystemHC, css::uno::makeAny(bSet));
     304           0 :             ::comphelper::ConfigurationHelper::flush(m_xCfg);
     305             : 
     306           0 :             bIsModified = sal_True;
     307             :         }
     308             :     }
     309           0 :     catch(const css::uno::Exception& ex)
     310             :     {
     311             :         SAL_WARN("svtools", "Caught unexpected: " << ex.Message);
     312           0 :     }
     313           0 : }
     314             : 
     315           0 : void SvtAccessibilityOptions_Impl::SetIsForPagePreviews(sal_Bool bSet)
     316             : {
     317           0 :     css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
     318             : 
     319             :     try
     320             :     {
     321           0 :         if(xNode.is() && xNode->getPropertyValue(s_sIsForPagePreviews)!=bSet)
     322             :         {
     323           0 :             xNode->setPropertyValue(s_sIsForPagePreviews, css::uno::makeAny(bSet));
     324           0 :             ::comphelper::ConfigurationHelper::flush(m_xCfg);
     325             : 
     326           0 :             bIsModified = sal_True;
     327             :         }
     328             :     }
     329           0 :     catch(const css::uno::Exception& ex)
     330             :     {
     331             :         SAL_WARN("svtools", "Caught unexpected: " << ex.Message);
     332           0 :     }
     333           0 : }
     334             : 
     335           0 : void SvtAccessibilityOptions_Impl::SetIsHelpTipsDisappear(sal_Bool bSet)
     336             : {
     337           0 :     css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
     338             : 
     339             :     try
     340             :     {
     341           0 :         if(xNode.is() && xNode->getPropertyValue(s_sIsHelpTipsDisappear)!=bSet)
     342             :         {
     343           0 :             xNode->setPropertyValue(s_sIsHelpTipsDisappear, css::uno::makeAny(bSet));
     344           0 :             ::comphelper::ConfigurationHelper::flush(m_xCfg);
     345             : 
     346           0 :             bIsModified = sal_True;
     347             :         }
     348             :     }
     349           0 :     catch(const css::uno::Exception& ex)
     350             :     {
     351             :         SAL_WARN("svtools", "Caught unexpected: " << ex.Message);
     352           0 :     }
     353           0 : }
     354             : 
     355           0 : void SvtAccessibilityOptions_Impl::SetIsAllowAnimatedGraphics(sal_Bool bSet)
     356             : {
     357           0 :     css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
     358             : 
     359             :     try
     360             :     {
     361           0 :         if(xNode.is() && xNode->getPropertyValue(s_sIsAllowAnimatedGraphics)!=bSet)
     362             :         {
     363           0 :             xNode->setPropertyValue(s_sIsAllowAnimatedGraphics, css::uno::makeAny(bSet));
     364           0 :             ::comphelper::ConfigurationHelper::flush(m_xCfg);
     365             : 
     366           0 :             bIsModified = sal_True;
     367             :         }
     368             :     }
     369           0 :     catch(const css::uno::Exception& ex)
     370             :     {
     371             :         SAL_WARN("svtools", "Caught unexpected: " << ex.Message);
     372           0 :     }
     373           0 : }
     374             : 
     375           0 : void SvtAccessibilityOptions_Impl::SetIsAllowAnimatedText(sal_Bool bSet)
     376             : {
     377           0 :     css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
     378             : 
     379             :     try
     380             :     {
     381           0 :         if(xNode.is() && xNode->getPropertyValue(s_sIsAllowAnimatedText)!=bSet)
     382             :         {
     383           0 :             xNode->setPropertyValue(s_sIsAllowAnimatedText, css::uno::makeAny(bSet));
     384           0 :             ::comphelper::ConfigurationHelper::flush(m_xCfg);
     385             : 
     386           0 :             bIsModified = sal_True;
     387             :         }
     388             :     }
     389           0 :     catch(const css::uno::Exception& ex)
     390             :     {
     391             :         SAL_WARN("svtools", "Caught unexpected: " << ex.Message);
     392           0 :     }
     393           0 : }
     394             : 
     395           0 : void SvtAccessibilityOptions_Impl::SetIsAutomaticFontColor(sal_Bool bSet)
     396             : {
     397           0 :     css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
     398             : 
     399             :     try
     400             :     {
     401           0 :         if(xNode.is() && xNode->getPropertyValue(s_sIsAutomaticFontColor)!=bSet)
     402             :         {
     403           0 :             xNode->setPropertyValue(s_sIsAutomaticFontColor, css::uno::makeAny(bSet));
     404           0 :             ::comphelper::ConfigurationHelper::flush(m_xCfg);
     405             : 
     406           0 :             bIsModified = sal_True;
     407             :         }
     408             :     }
     409           0 :     catch(const css::uno::Exception& ex)
     410             :     {
     411             :         SAL_WARN("svtools", "Caught unexpected: " << ex.Message);
     412           0 :     }
     413           0 : }
     414             : 
     415           0 : void SvtAccessibilityOptions_Impl::SetIsSystemFont(sal_Bool bSet)
     416             : {
     417           0 :     css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
     418             : 
     419             :     try
     420             :     {
     421           0 :         if(xNode.is() && xNode->getPropertyValue(s_sIsSystemFont)!=bSet)
     422             :         {
     423           0 :             xNode->setPropertyValue(s_sIsSystemFont, css::uno::makeAny(bSet));
     424           0 :             ::comphelper::ConfigurationHelper::flush(m_xCfg);
     425             : 
     426           0 :             bIsModified = sal_True;
     427             :         }
     428             :     }
     429           0 :     catch(const css::uno::Exception& ex)
     430             :     {
     431             :         SAL_WARN("svtools", "Caught unexpected: " << ex.Message);
     432           0 :     }
     433           0 : }
     434             : 
     435           0 : void SvtAccessibilityOptions_Impl::SetHelpTipSeconds(sal_Int16 nSet)
     436             : {
     437           0 :     css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
     438             : 
     439             :     try
     440             :     {
     441           0 :         if(xNode.is() && xNode->getPropertyValue(s_sHelpTipSeconds)!=nSet)
     442             :         {
     443           0 :             xNode->setPropertyValue(s_sHelpTipSeconds, css::uno::makeAny(nSet));
     444           0 :             ::comphelper::ConfigurationHelper::flush(m_xCfg);
     445             : 
     446           0 :             bIsModified = sal_True;
     447             :         }
     448             :     }
     449           0 :     catch(const css::uno::Exception& ex)
     450             :     {
     451             :         SAL_WARN("svtools", "Caught unexpected: " << ex.Message);
     452           0 :     }
     453           0 : }
     454             : 
     455           0 : void SvtAccessibilityOptions_Impl::SetSelectionInReadonly(sal_Bool bSet)
     456             : {
     457           0 :     css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
     458             : 
     459             :     try
     460             :     {
     461           0 :         if(xNode.is() && xNode->getPropertyValue(s_sIsSelectionInReadonly)!=bSet)
     462             :         {
     463           0 :             xNode->setPropertyValue(s_sIsSelectionInReadonly, css::uno::makeAny(bSet));
     464           0 :             ::comphelper::ConfigurationHelper::flush(m_xCfg);
     465             : 
     466           0 :             bIsModified = sal_True;
     467             :         }
     468             :     }
     469           0 :     catch(const css::uno::Exception& ex)
     470             :     {
     471             :         SAL_WARN("svtools", "Caught unexpected: " << ex.Message);
     472           0 :     }
     473           0 : }
     474             : 
     475           0 : void SvtAccessibilityOptions_Impl::SetVCLSettings()
     476             : {
     477           0 :     AllSettings aAllSettings = Application::GetSettings();
     478           0 :     HelpSettings aHelpSettings = aAllSettings.GetHelpSettings();
     479           0 :     aHelpSettings.SetTipTimeout( GetIsHelpTipsDisappear() ? GetHelpTipSeconds() * 1000 : HELP_TIP_TIMEOUT);
     480           0 :     aAllSettings.SetHelpSettings(aHelpSettings);
     481           0 :     if(aAllSettings.GetStyleSettings().GetUseSystemUIFonts() != GetIsSystemFont() )
     482             :     {
     483           0 :         StyleSettings aStyleSettings = aAllSettings.GetStyleSettings();
     484           0 :         aStyleSettings.SetUseSystemUIFonts( GetIsSystemFont()  );
     485           0 :         aAllSettings.SetStyleSettings(aStyleSettings);
     486           0 :         Application::MergeSystemSettings( aAllSettings );
     487             :     }
     488             : 
     489           0 :     Application::SetSettings(aAllSettings);
     490           0 : }
     491             : 
     492             : // -----------------------------------------------------------------------
     493             : // class SvtAccessibilityOptions --------------------------------------------------
     494             : 
     495         666 : SvtAccessibilityOptions::SvtAccessibilityOptions()
     496             : {
     497             :     {
     498         666 :         ::osl::MutexGuard aGuard( SingletonMutex::get() );
     499         666 :         if(!sm_pSingleImplConfig)
     500             :         {
     501          15 :             sm_pSingleImplConfig = new SvtAccessibilityOptions_Impl;
     502          15 :             svtools::ItemHolder2::holdConfigItem(E_ACCESSIBILITYOPTIONS);
     503             :         }
     504         666 :         ++sm_nAccessibilityRefCount;
     505             :     }
     506             :     //StartListening( *sm_pSingleImplConfig, sal_True );
     507         666 : }
     508             : 
     509             : // -----------------------------------------------------------------------
     510             : 
     511         617 : SvtAccessibilityOptions::~SvtAccessibilityOptions()
     512             : {
     513             :     //EndListening( *sm_pSingleImplConfig, sal_True );
     514         301 :     ::osl::MutexGuard aGuard( SingletonMutex::get() );
     515         301 :     if( !--sm_nAccessibilityRefCount )
     516             :     {
     517             :         //if( sm_pSingleImplConfig->IsModified() )
     518             :         //  sm_pSingleImplConfig->Commit();
     519           1 :         DELETEZ( sm_pSingleImplConfig );
     520         301 :     }
     521         316 : }
     522             : 
     523             : // -----------------------------------------------------------------------
     524             : 
     525           0 : void SvtAccessibilityOptions::Notify( SfxBroadcaster&, const SfxHint& rHint )
     526             : {
     527           0 :     NotifyListeners(0);
     528           0 :     if ( rHint.IsA(TYPE(SfxSimpleHint)) )
     529             :     {
     530           0 :         if ( ((SfxSimpleHint&)rHint).GetId()  == SFX_HINT_ACCESSIBILITY_CHANGED )
     531           0 :             SetVCLSettings();
     532             :     }
     533           0 : }
     534             : 
     535             : // -----------------------------------------------------------------------
     536             : 
     537           0 : sal_Bool SvtAccessibilityOptions::IsModified() const
     538             : {
     539           0 :     return sm_pSingleImplConfig->IsModified();
     540             : }
     541           0 : void SvtAccessibilityOptions::Commit()
     542             : {
     543             :     //sm_pSingleImplConfig->Commit();
     544           0 : }
     545             : 
     546             : // -----------------------------------------------------------------------
     547             : 
     548           0 : sal_Bool SvtAccessibilityOptions::GetAutoDetectSystemHC() const
     549             : {
     550           0 :     return sm_pSingleImplConfig->GetAutoDetectSystemHC();
     551             : }
     552           0 : sal_Bool SvtAccessibilityOptions::GetIsForPagePreviews() const
     553             : {
     554           0 :     return sm_pSingleImplConfig->GetIsForPagePreviews();
     555             : }
     556           0 : sal_Bool SvtAccessibilityOptions::GetIsHelpTipsDisappear() const
     557             : {
     558           0 :     return sm_pSingleImplConfig->GetIsHelpTipsDisappear();
     559             : }
     560         351 : sal_Bool SvtAccessibilityOptions::GetIsAllowAnimatedGraphics() const
     561             : {
     562         351 :     return sm_pSingleImplConfig->GetIsAllowAnimatedGraphics();
     563             : }
     564         351 : sal_Bool SvtAccessibilityOptions::GetIsAllowAnimatedText() const
     565             : {
     566         351 :     return sm_pSingleImplConfig->GetIsAllowAnimatedText();
     567             : }
     568         237 : sal_Bool SvtAccessibilityOptions::GetIsAutomaticFontColor() const
     569             : {
     570         237 :     return sm_pSingleImplConfig->GetIsAutomaticFontColor();
     571             : }
     572           0 : sal_Bool SvtAccessibilityOptions::GetIsSystemFont() const
     573             : {
     574           0 :     return sm_pSingleImplConfig->GetIsSystemFont();
     575             : }
     576           0 : sal_Int16 SvtAccessibilityOptions::GetHelpTipSeconds() const
     577             : {
     578           0 :     return sm_pSingleImplConfig->GetHelpTipSeconds();
     579             : }
     580         484 : sal_Bool SvtAccessibilityOptions::IsSelectionInReadonly() const
     581             : {
     582         484 :     return sm_pSingleImplConfig->IsSelectionInReadonly();
     583             : }
     584             : 
     585             : // -----------------------------------------------------------------------
     586           0 : void SvtAccessibilityOptions::SetAutoDetectSystemHC(sal_Bool bSet)
     587             : {
     588           0 :     sm_pSingleImplConfig->SetAutoDetectSystemHC(bSet);
     589           0 : }
     590           0 : void SvtAccessibilityOptions::SetIsForPagePreviews(sal_Bool bSet)
     591             : {
     592           0 :     sm_pSingleImplConfig->SetIsForPagePreviews(bSet);
     593           0 : }
     594           0 : void SvtAccessibilityOptions::SetIsHelpTipsDisappear(sal_Bool bSet)
     595             : {
     596           0 :     sm_pSingleImplConfig->SetIsHelpTipsDisappear(bSet);
     597           0 : }
     598           0 : void SvtAccessibilityOptions::SetIsAllowAnimatedGraphics(sal_Bool bSet)
     599             : {
     600           0 :     sm_pSingleImplConfig->SetIsAllowAnimatedGraphics(bSet);
     601           0 : }
     602           0 : void SvtAccessibilityOptions::SetIsAllowAnimatedText(sal_Bool bSet)
     603             : {
     604           0 :     sm_pSingleImplConfig->SetIsAllowAnimatedText(bSet);
     605           0 : }
     606           0 : void SvtAccessibilityOptions::SetIsAutomaticFontColor(sal_Bool bSet)
     607             : {
     608           0 :     sm_pSingleImplConfig->SetIsAutomaticFontColor(bSet);
     609           0 : }
     610           0 : void SvtAccessibilityOptions::SetIsSystemFont(sal_Bool bSet)
     611             : {
     612           0 :     sm_pSingleImplConfig->SetIsSystemFont(bSet);
     613           0 : }
     614           0 : void SvtAccessibilityOptions::SetHelpTipSeconds(sal_Int16 nSet)
     615             : {
     616           0 :     sm_pSingleImplConfig->SetHelpTipSeconds(nSet);
     617           0 : }
     618           0 : void SvtAccessibilityOptions::SetSelectionInReadonly(sal_Bool bSet)
     619             : {
     620           0 :     sm_pSingleImplConfig->SetSelectionInReadonly(bSet);
     621           0 : }
     622             : 
     623           0 : void SvtAccessibilityOptions::SetVCLSettings()
     624             : {
     625           0 :     sm_pSingleImplConfig->SetVCLSettings();
     626           0 : }
     627             : // -----------------------------------------------------------------------
     628             : 
     629             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10