LCOV - code coverage report
Current view: top level - unotools/source/config - fltrcfg.cxx (source / functions) Hit Total Coverage
Test: commit 10e77ab3ff6f4314137acd6e2702a6e5c1ce1fae Lines: 167 308 54.2 %
Date: 2014-11-03 Functions: 41 76 53.9 %
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             : #include <config_features.h>
      21             : 
      22             : #include <unotools/fltrcfg.hxx>
      23             : #include <tools/debug.hxx>
      24             : #include <tools/solar.h>
      25             : 
      26             : #include <com/sun/star/uno/Any.hxx>
      27             : #include <com/sun/star/uno/Sequence.hxx>
      28             : 
      29             : using namespace utl;
      30             : using namespace com::sun::star::uno;
      31             : 
      32             : #define FILTERCFG_WORD_CODE             0x0001
      33             : #define FILTERCFG_WORD_STORAGE          0x0002
      34             : #define FILTERCFG_EXCEL_CODE            0x0004
      35             : #define FILTERCFG_EXCEL_STORAGE         0x0008
      36             : #define FILTERCFG_PPOINT_CODE           0x0010
      37             : #define FILTERCFG_PPOINT_STORAGE        0x0020
      38             : #define FILTERCFG_MATH_LOAD             0x0100
      39             : #define FILTERCFG_MATH_SAVE             0x0200
      40             : #define FILTERCFG_WRITER_LOAD           0x0400
      41             : #define FILTERCFG_WRITER_SAVE           0x0800
      42             : #define FILTERCFG_CALC_LOAD             0x1000
      43             : #define FILTERCFG_CALC_SAVE             0x2000
      44             : #define FILTERCFG_IMPRESS_LOAD          0x4000
      45             : #define FILTERCFG_IMPRESS_SAVE          0x8000
      46             : #define FILTERCFG_EXCEL_EXECTBL         0x10000
      47             : #define FILTERCFG_ENABLE_PPT_PREVIEW    0x20000
      48             : #define FILTERCFG_ENABLE_EXCEL_PREVIEW  0x40000
      49             : #define FILTERCFG_ENABLE_WORD_PREVIEW   0x80000
      50             : #define FILTERCFG_USE_ENHANCED_FIELDS   0x100000
      51             : #define FILTERCFG_WORD_WBCTBL           0x200000
      52             : #define FILTERCFG_SMARTART_SHAPE_LOAD   0x400000
      53             : 
      54             : class SvtAppFilterOptions_Impl : public utl::ConfigItem
      55             : {
      56             :     bool                bLoadVBA;
      57             :     bool                bSaveVBA;
      58             : public:
      59         144 :     SvtAppFilterOptions_Impl(const OUString& rRoot) :
      60             :         utl::ConfigItem(rRoot),
      61             :         bLoadVBA(false),
      62         144 :         bSaveVBA(false)  {}
      63             :     virtual ~SvtAppFilterOptions_Impl();
      64             :     virtual void            Commit() SAL_OVERRIDE;
      65             :     virtual void            Notify( const com::sun::star::uno::Sequence<OUString>& aPropertyNames) SAL_OVERRIDE;
      66             :     void                    Load();
      67             : 
      68          74 :     bool                IsLoad() const {return bLoadVBA;}
      69           0 :     void                    SetLoad(bool bSet)
      70             :                             {
      71           0 :                                 if(bSet != bLoadVBA)
      72           0 :                                     SetModified();
      73           0 :                                 bLoadVBA = bSet;
      74           0 :                             }
      75          26 :     bool                IsSave() const {return bSaveVBA;}
      76           0 :     void                    SetSave(bool bSet)
      77             :                             {
      78           0 :                                 if(bSet != bSaveVBA)
      79           0 :                                     SetModified();
      80           0 :                                 bSaveVBA = bSet;
      81           0 :                             }
      82             : };
      83             : 
      84         288 : SvtAppFilterOptions_Impl::~SvtAppFilterOptions_Impl()
      85             : {
      86         144 :     if(IsModified())
      87           0 :         Commit();
      88         144 : }
      89             : 
      90           0 : void    SvtAppFilterOptions_Impl::Commit()
      91             : {
      92           0 :     Sequence<OUString> aNames(2);
      93           0 :     OUString* pNames = aNames.getArray();
      94           0 :     pNames[0] = "Load";
      95           0 :     pNames[1] = "Save";
      96           0 :     Sequence<Any> aValues(aNames.getLength());
      97           0 :     Any* pValues = aValues.getArray();
      98             : 
      99           0 :     const Type& rType = ::getBooleanCppuType();
     100           0 :     pValues[0].setValue(&bLoadVBA, rType);
     101           0 :     pValues[1].setValue(&bSaveVBA, rType);
     102             : 
     103           0 :     PutProperties(aNames, aValues);
     104           0 : }
     105             : 
     106           0 : void SvtAppFilterOptions_Impl::Notify( const Sequence< OUString >&  )
     107             : {
     108             :     // no listeners supported yet
     109           0 : }
     110             : 
     111         288 : void    SvtAppFilterOptions_Impl::Load()
     112             : {
     113         288 :     Sequence<OUString> aNames(2);
     114         288 :     OUString* pNames = aNames.getArray();
     115         288 :     pNames[0] = "Load";
     116         288 :     pNames[1] = "Save";
     117             : 
     118         576 :     Sequence<Any> aValues = GetProperties(aNames);
     119         288 :     const Any* pValues = aValues.getConstArray();
     120             : 
     121         288 :     if(pValues[0].hasValue())
     122         288 :         bLoadVBA = *(sal_Bool*)pValues[0].getValue();
     123         288 :     if(pValues[1].hasValue())
     124         576 :         bSaveVBA = *(sal_Bool*)pValues[1].getValue();
     125         288 : }
     126             : 
     127          48 : class SvtWriterFilterOptions_Impl : public SvtAppFilterOptions_Impl
     128             : {
     129             :     bool                bLoadExecutable;
     130             : public:
     131          48 :     SvtWriterFilterOptions_Impl(const OUString& rRoot) :
     132             :         SvtAppFilterOptions_Impl(rRoot),
     133          48 :         bLoadExecutable(false)
     134          48 :     {}
     135             :     virtual void            Commit() SAL_OVERRIDE;
     136             :     void                    Load();
     137             : 
     138           0 :     bool                IsLoadExecutable() const {return bLoadExecutable;}
     139           0 :     void                    SetLoadExecutable(bool bSet)
     140             :                             {
     141           0 :                                 if(bSet != bLoadExecutable)
     142           0 :                                     SetModified();
     143           0 :                                 bLoadExecutable = bSet;
     144           0 :                             }
     145             : };
     146             : 
     147           0 : void SvtWriterFilterOptions_Impl::Commit()
     148             : {
     149           0 :     SvtAppFilterOptions_Impl::Commit();
     150             : 
     151           0 :     Sequence<OUString> aNames(1);
     152           0 :     aNames[0] = "Executable";
     153           0 :     Sequence<Any> aValues(1);
     154           0 :     aValues[0] <<= bLoadExecutable;
     155             : 
     156           0 :     PutProperties(aNames, aValues);
     157           0 : }
     158             : 
     159          96 : void SvtWriterFilterOptions_Impl::Load()
     160             : {
     161          96 :     SvtAppFilterOptions_Impl::Load();
     162             : 
     163          96 :     Sequence<OUString> aNames(1);
     164          96 :     aNames[0] = "Executable";
     165             : 
     166         192 :     Sequence<Any> aValues = GetProperties(aNames);
     167          96 :     const Any* pValues = aValues.getConstArray();
     168          96 :     if(pValues[0].hasValue())
     169         192 :         bLoadExecutable = *(sal_Bool*)pValues[0].getValue();
     170          96 : }
     171             : 
     172          48 : class SvtCalcFilterOptions_Impl : public SvtAppFilterOptions_Impl
     173             : {
     174             :     bool                bLoadExecutable;
     175             : public:
     176          48 :     SvtCalcFilterOptions_Impl(const OUString& rRoot) :
     177             :         SvtAppFilterOptions_Impl(rRoot),
     178          48 :         bLoadExecutable(false)
     179          48 :     {}
     180             :     virtual void            Commit() SAL_OVERRIDE;
     181             :     void                    Load();
     182             : 
     183          56 :     bool                IsLoadExecutable() const {return bLoadExecutable;}
     184           0 :     void                    SetLoadExecutable(bool bSet)
     185             :                             {
     186           0 :                                 if(bSet != bLoadExecutable)
     187           0 :                                     SetModified();
     188           0 :                                 bLoadExecutable = bSet;
     189           0 :                             }
     190             : };
     191             : 
     192           0 : void SvtCalcFilterOptions_Impl::Commit()
     193             : {
     194           0 :     SvtAppFilterOptions_Impl::Commit();
     195             : 
     196           0 :     Sequence<OUString> aNames(1);
     197           0 :     aNames[0] = "Executable";
     198           0 :     Sequence<Any> aValues(1);
     199           0 :     aValues[0] <<= bLoadExecutable;
     200             : 
     201           0 :     PutProperties(aNames, aValues);
     202           0 : }
     203             : 
     204          96 : void SvtCalcFilterOptions_Impl::Load()
     205             : {
     206          96 :     SvtAppFilterOptions_Impl::Load();
     207             : 
     208          96 :     Sequence<OUString> aNames(1);
     209          96 :     aNames[0] = "Executable";
     210             : 
     211         192 :     Sequence<Any> aValues = GetProperties(aNames);
     212          96 :     const Any* pValues = aValues.getConstArray();
     213          96 :     if(pValues[0].hasValue())
     214         192 :         bLoadExecutable = *(sal_Bool*)pValues[0].getValue();
     215          96 : }
     216             : 
     217          48 : struct SvtFilterOptions_Impl
     218             : {
     219             :     sal_uLong nFlags;
     220             :     SvtWriterFilterOptions_Impl aWriterCfg;
     221             :     SvtCalcFilterOptions_Impl aCalcCfg;
     222             :     SvtAppFilterOptions_Impl aImpressCfg;
     223             : 
     224          48 :     SvtFilterOptions_Impl() :
     225             :         aWriterCfg("Office.Writer/Filter/Import/VBA"),
     226             :         aCalcCfg("Office.Calc/Filter/Import/VBA"),
     227          48 :         aImpressCfg("Office.Impress/Filter/Import/VBA")
     228             :     {
     229             :         nFlags = FILTERCFG_WORD_CODE |
     230             :             FILTERCFG_WORD_STORAGE |
     231             :             FILTERCFG_EXCEL_CODE |
     232             :             FILTERCFG_EXCEL_STORAGE |
     233             :             FILTERCFG_PPOINT_CODE |
     234             :             FILTERCFG_PPOINT_STORAGE |
     235             :             FILTERCFG_MATH_LOAD |
     236             :             FILTERCFG_MATH_SAVE |
     237             :             FILTERCFG_WRITER_LOAD |
     238             :             FILTERCFG_WRITER_SAVE |
     239             :             FILTERCFG_CALC_LOAD |
     240             :             FILTERCFG_CALC_SAVE |
     241             :             FILTERCFG_IMPRESS_LOAD |
     242             :             FILTERCFG_IMPRESS_SAVE |
     243             :             FILTERCFG_USE_ENHANCED_FIELDS |
     244          48 :             FILTERCFG_SMARTART_SHAPE_LOAD;
     245          48 :         Load();
     246          48 :     }
     247             : 
     248             :     void SetFlag( sal_uLong nFlag, bool bSet );
     249             :     bool IsFlag( sal_uLong nFlag ) const;
     250          96 :     void Load()
     251             :     {
     252          96 :         aWriterCfg.Load();
     253          96 :         aCalcCfg.Load();
     254          96 :         aImpressCfg.Load();
     255          96 :     }
     256             : };
     257             : 
     258         632 : void SvtFilterOptions_Impl::SetFlag( sal_uLong nFlag, bool bSet )
     259             : {
     260         632 :     switch(nFlag)
     261             :     {
     262           0 :         case FILTERCFG_WORD_CODE:       aWriterCfg.SetLoad(bSet);break;
     263           0 :         case FILTERCFG_WORD_STORAGE:    aWriterCfg.SetSave(bSet);break;
     264           0 :         case FILTERCFG_WORD_WBCTBL: aWriterCfg.SetLoadExecutable(bSet);break;
     265           0 :         case FILTERCFG_EXCEL_CODE:      aCalcCfg.SetLoad(bSet);break;
     266           0 :         case FILTERCFG_EXCEL_STORAGE:   aCalcCfg.SetSave(bSet);break;
     267           0 :         case FILTERCFG_EXCEL_EXECTBL:   aCalcCfg.SetLoadExecutable(bSet);break;
     268           0 :         case FILTERCFG_PPOINT_CODE:     aImpressCfg.SetLoad(bSet);break;
     269           0 :         case FILTERCFG_PPOINT_STORAGE:  aImpressCfg.SetSave(bSet);break;
     270             :         default:
     271         632 :             if( bSet )
     272         484 :                 nFlags |= nFlag;
     273             :             else
     274         148 :                 nFlags &= ~nFlag;
     275             :     }
     276         632 : }
     277             : 
     278        5654 : bool SvtFilterOptions_Impl::IsFlag( sal_uLong nFlag ) const
     279             : {
     280             :     bool bRet;
     281        5654 :     switch(nFlag)
     282             :     {
     283           0 :         case FILTERCFG_WORD_CODE        : bRet = aWriterCfg.IsLoad();break;
     284           0 :         case FILTERCFG_WORD_STORAGE     : bRet = aWriterCfg.IsSave();break;
     285           0 :         case FILTERCFG_WORD_WBCTBL      : bRet = aWriterCfg.IsLoadExecutable();break;
     286          56 :         case FILTERCFG_EXCEL_CODE       : bRet = aCalcCfg.IsLoad();break;
     287          26 :         case FILTERCFG_EXCEL_STORAGE    : bRet = aCalcCfg.IsSave();break;
     288          56 :         case FILTERCFG_EXCEL_EXECTBL    : bRet = aCalcCfg.IsLoadExecutable();break;
     289          18 :         case FILTERCFG_PPOINT_CODE      : bRet = aImpressCfg.IsLoad();break;
     290           0 :         case FILTERCFG_PPOINT_STORAGE   : bRet = aImpressCfg.IsSave();break;
     291             :         default:
     292        5498 :             bRet = 0 != (nFlags & nFlag );
     293             :     }
     294        5654 :     return bRet;
     295             : }
     296             : 
     297          48 : SvtFilterOptions::SvtFilterOptions() :
     298             :     ConfigItem( "Office.Common/Filter/Microsoft" ),
     299          48 :     pImp(new SvtFilterOptions_Impl)
     300             : {
     301          48 :     EnableNotification(GetPropertyNames());
     302          48 :     Load();
     303          48 : }
     304             : 
     305          96 : SvtFilterOptions::~SvtFilterOptions()
     306             : {
     307          48 :     delete pImp;
     308          48 : }
     309             : 
     310          98 : const Sequence<OUString>& SvtFilterOptions::GetPropertyNames()
     311             : {
     312          98 :     static Sequence<OUString> aNames;
     313          98 :     if(!aNames.getLength())
     314             :     {
     315          48 :         int nCount = 13;
     316          48 :         aNames.realloc(nCount);
     317             :         static const char* aPropNames[] =
     318             :         {
     319             :             "Import/MathTypeToMath",            //  0
     320             :             "Import/WinWordToWriter",           //  1
     321             :             "Import/PowerPointToImpress",       //  2
     322             :             "Import/ExcelToCalc",               //  3
     323             :             "Export/MathToMathType",            //  4
     324             :             "Export/WriterToWinWord",           //  5
     325             :             "Export/ImpressToPowerPoint",       //  6
     326             :             "Export/CalcToExcel",               //  7
     327             :             "Export/EnablePowerPointPreview",   //  8
     328             :             "Export/EnableExcelPreview",        //  9
     329             :             "Export/EnableWordPreview",         // 10
     330             :             "Import/ImportWWFieldsAsEnhancedFields", // 11
     331             :             "Import/SmartArtToShapes"           // 12
     332             :         };
     333          48 :         OUString* pNames = aNames.getArray();
     334         672 :         for(int i = 0; i < nCount; i++)
     335         624 :             pNames[i] = OUString::createFromAscii(aPropNames[i]);
     336             :     }
     337          98 :     return aNames;
     338             : }
     339             : 
     340         650 : static sal_uLong lcl_GetFlag(sal_Int32 nProp)
     341             : {
     342         650 :     sal_uLong nFlag = 0;
     343         650 :     switch(nProp)
     344             :     {
     345          50 :         case  0: nFlag = FILTERCFG_MATH_LOAD; break;
     346          50 :         case  1: nFlag = FILTERCFG_WRITER_LOAD; break;
     347          50 :         case  2: nFlag = FILTERCFG_IMPRESS_LOAD; break;
     348          50 :         case  3: nFlag = FILTERCFG_CALC_LOAD; break;
     349          50 :         case  4: nFlag = FILTERCFG_MATH_SAVE; break;
     350          50 :         case  5: nFlag = FILTERCFG_WRITER_SAVE; break;
     351          50 :         case  6: nFlag = FILTERCFG_IMPRESS_SAVE; break;
     352          50 :         case  7: nFlag = FILTERCFG_CALC_SAVE; break;
     353          50 :         case  8: nFlag = FILTERCFG_ENABLE_PPT_PREVIEW; break;
     354          50 :         case  9: nFlag = FILTERCFG_ENABLE_EXCEL_PREVIEW; break;
     355          50 :         case 10: nFlag = FILTERCFG_ENABLE_WORD_PREVIEW; break;
     356          50 :         case 11: nFlag = FILTERCFG_USE_ENHANCED_FIELDS; break;
     357          50 :         case 12: nFlag = FILTERCFG_SMARTART_SHAPE_LOAD; break;
     358             : 
     359             :         default: OSL_FAIL("illegal value");
     360             :     }
     361         650 :     return nFlag;
     362             : }
     363             : 
     364           0 : void SvtFilterOptions::Notify( const Sequence<OUString>& )
     365             : {
     366           0 :     Load();
     367           0 : }
     368             : 
     369           2 : void SvtFilterOptions::Commit()
     370             : {
     371           2 :     const Sequence<OUString>& aNames = GetPropertyNames();
     372           2 :     Sequence<Any> aValues(aNames.getLength());
     373           2 :     Any* pValues = aValues.getArray();
     374             : 
     375           2 :     const Type& rType = ::getBooleanCppuType();
     376          28 :     for(int nProp = 0; nProp < aNames.getLength(); nProp++)
     377             :     {
     378          26 :         sal_uLong nFlag = lcl_GetFlag(nProp);
     379          26 :         sal_Bool bVal = pImp->IsFlag( nFlag);
     380          26 :         pValues[nProp].setValue(&bVal, rType);
     381             : 
     382             :     }
     383           2 :     PutProperties(aNames, aValues);
     384           2 : }
     385             : 
     386          48 : void SvtFilterOptions::Load()
     387             : {
     388          48 :     pImp->Load();
     389          48 :     const Sequence<OUString>& rNames = GetPropertyNames();
     390          48 :     Sequence<Any> aValues = GetProperties(rNames);
     391          48 :     const Any* pValues = aValues.getConstArray();
     392             :     DBG_ASSERT(aValues.getLength() == rNames.getLength(), "GetProperties failed");
     393          48 :     if(aValues.getLength() == rNames.getLength())
     394             :     {
     395         672 :         for(int nProp = 0; nProp < rNames.getLength(); nProp++)
     396             :         {
     397         624 :             if(pValues[nProp].hasValue())
     398             :             {
     399         624 :                 bool bVal = *(sal_Bool*)pValues[nProp].getValue();
     400         624 :                 sal_uLong nFlag = lcl_GetFlag(nProp);
     401         624 :                 pImp->SetFlag( nFlag, bVal);
     402             :             }
     403             :         }
     404          48 :     }
     405          48 : }
     406             : 
     407           0 : void SvtFilterOptions::SetLoadWordBasicCode( bool bFlag )
     408             : {
     409           0 :     pImp->SetFlag( FILTERCFG_WORD_CODE, bFlag );
     410           0 :     SetModified();
     411           0 : }
     412             : 
     413           0 : bool SvtFilterOptions::IsLoadWordBasicCode() const
     414             : {
     415           0 :     return pImp->IsFlag( FILTERCFG_WORD_CODE );
     416             : }
     417             : 
     418           0 : void SvtFilterOptions::SetLoadWordBasicExecutable( bool bFlag )
     419             : {
     420           0 :     pImp->SetFlag( FILTERCFG_WORD_WBCTBL, bFlag );
     421           0 :     SetModified();
     422           0 : }
     423             : 
     424           0 : bool SvtFilterOptions::IsLoadWordBasicExecutable() const
     425             : {
     426           0 :     return pImp->IsFlag( FILTERCFG_WORD_WBCTBL );
     427             : }
     428             : 
     429           0 : void SvtFilterOptions::SetLoadWordBasicStorage( bool bFlag )
     430             : {
     431           0 :     pImp->SetFlag( FILTERCFG_WORD_STORAGE, bFlag );
     432           0 :     SetModified();
     433           0 : }
     434             : 
     435           0 : bool SvtFilterOptions::IsLoadWordBasicStorage() const
     436             : {
     437           0 :     return pImp->IsFlag( FILTERCFG_WORD_STORAGE );
     438             : }
     439             : 
     440           0 : void SvtFilterOptions::SetLoadExcelBasicCode( bool bFlag )
     441             : {
     442           0 :     pImp->SetFlag( FILTERCFG_EXCEL_CODE, bFlag );
     443           0 :     SetModified();
     444           0 : }
     445             : 
     446          56 : bool SvtFilterOptions::IsLoadExcelBasicCode() const
     447             : {
     448          56 :     return pImp->IsFlag( FILTERCFG_EXCEL_CODE );
     449             : }
     450             : 
     451           0 : void SvtFilterOptions::SetLoadExcelBasicExecutable( bool bFlag )
     452             : {
     453           0 :     pImp->SetFlag( FILTERCFG_EXCEL_EXECTBL, bFlag );
     454           0 :     SetModified();
     455           0 : }
     456             : 
     457          56 : bool SvtFilterOptions::IsLoadExcelBasicExecutable() const
     458             : {
     459          56 :     return pImp->IsFlag( FILTERCFG_EXCEL_EXECTBL );
     460             : }
     461             : 
     462           0 : void SvtFilterOptions::SetLoadExcelBasicStorage( bool bFlag )
     463             : {
     464           0 :     pImp->SetFlag( FILTERCFG_EXCEL_STORAGE, bFlag );
     465           0 :     SetModified();
     466           0 : }
     467             : 
     468          26 : bool SvtFilterOptions::IsLoadExcelBasicStorage() const
     469             : {
     470          26 :     return pImp->IsFlag( FILTERCFG_EXCEL_STORAGE );
     471             : }
     472             : 
     473           0 : void SvtFilterOptions::SetLoadPPointBasicCode( bool bFlag )
     474             : {
     475           0 :     pImp->SetFlag( FILTERCFG_PPOINT_CODE, bFlag );
     476           0 :     SetModified();
     477           0 : }
     478             : 
     479          18 : bool SvtFilterOptions::IsLoadPPointBasicCode() const
     480             : {
     481          18 :     return pImp->IsFlag( FILTERCFG_PPOINT_CODE );
     482             : }
     483             : 
     484           0 : void SvtFilterOptions::SetLoadPPointBasicStorage( bool bFlag )
     485             : {
     486           0 :     pImp->SetFlag( FILTERCFG_PPOINT_STORAGE, bFlag );
     487           0 :     SetModified();
     488           0 : }
     489             : 
     490           0 : bool SvtFilterOptions::IsLoadPPointBasicStorage() const
     491             : {
     492           0 :     return pImp->IsFlag( FILTERCFG_PPOINT_STORAGE );
     493             : }
     494             : 
     495         208 : bool SvtFilterOptions::IsMathType2Math() const
     496             : {
     497         208 :     return pImp->IsFlag( FILTERCFG_MATH_LOAD );
     498             : }
     499             : 
     500           0 : void SvtFilterOptions::SetMathType2Math( bool bFlag )
     501             : {
     502           0 :     pImp->SetFlag( FILTERCFG_MATH_LOAD, bFlag );
     503           0 :     SetModified();
     504           0 : }
     505             : 
     506        1032 : bool SvtFilterOptions::IsMath2MathType() const
     507             : {
     508        1032 :     return pImp->IsFlag( FILTERCFG_MATH_SAVE );
     509             : }
     510             : 
     511           0 : void SvtFilterOptions::SetMath2MathType( bool bFlag )
     512             : {
     513           0 :     pImp->SetFlag( FILTERCFG_MATH_SAVE, bFlag );
     514           0 :     SetModified();
     515           0 : }
     516             : 
     517         208 : bool SvtFilterOptions::IsWinWord2Writer() const
     518             : {
     519         208 :     return pImp->IsFlag( FILTERCFG_WRITER_LOAD );
     520             : }
     521             : 
     522           0 : void SvtFilterOptions::SetWinWord2Writer( bool bFlag )
     523             : {
     524           0 :     pImp->SetFlag( FILTERCFG_WRITER_LOAD, bFlag );
     525           0 :     SetModified();
     526           0 : }
     527             : 
     528        1032 : bool SvtFilterOptions::IsWriter2WinWord() const
     529             : {
     530        1032 :     return pImp->IsFlag( FILTERCFG_WRITER_SAVE );
     531             : }
     532             : 
     533           0 : void SvtFilterOptions::SetWriter2WinWord( bool bFlag )
     534             : {
     535           0 :     pImp->SetFlag( FILTERCFG_WRITER_SAVE, bFlag );
     536           0 :     SetModified();
     537           0 : }
     538             : 
     539         454 : bool SvtFilterOptions::IsUseEnhancedFields() const
     540             : {
     541         454 :     return pImp->IsFlag( FILTERCFG_USE_ENHANCED_FIELDS );
     542             : }
     543             : 
     544         134 : bool SvtFilterOptions::IsExcel2Calc() const
     545             : {
     546         134 :     return pImp->IsFlag( FILTERCFG_CALC_LOAD );
     547             : }
     548             : 
     549           0 : void SvtFilterOptions::SetExcel2Calc( bool bFlag )
     550             : {
     551           0 :     pImp->SetFlag( FILTERCFG_CALC_LOAD, bFlag );
     552           0 :     SetModified();
     553           0 : }
     554             : 
     555        1032 : bool SvtFilterOptions::IsCalc2Excel() const
     556             : {
     557        1032 :     return pImp->IsFlag( FILTERCFG_CALC_SAVE );
     558             : }
     559             : 
     560           0 : void SvtFilterOptions::SetCalc2Excel( bool bFlag )
     561             : {
     562           0 :     pImp->SetFlag( FILTERCFG_CALC_SAVE, bFlag );
     563           0 :     SetModified();
     564           0 : }
     565             : 
     566         208 : bool SvtFilterOptions::IsPowerPoint2Impress() const
     567             : {
     568         208 :     return pImp->IsFlag( FILTERCFG_IMPRESS_LOAD );
     569             : }
     570             : 
     571           0 : void SvtFilterOptions::SetPowerPoint2Impress( bool bFlag )
     572             : {
     573           0 :     pImp->SetFlag( FILTERCFG_IMPRESS_LOAD, bFlag );
     574           0 :     SetModified();
     575           0 : }
     576             : 
     577        1032 : bool SvtFilterOptions::IsImpress2PowerPoint() const
     578             : {
     579        1032 :     return pImp->IsFlag( FILTERCFG_IMPRESS_SAVE );
     580             : }
     581             : 
     582           0 : void SvtFilterOptions::SetImpress2PowerPoint( bool bFlag )
     583             : {
     584           0 :     pImp->SetFlag( FILTERCFG_IMPRESS_SAVE, bFlag );
     585           0 :     SetModified();
     586           0 : }
     587             : 
     588          72 : bool SvtFilterOptions::IsSmartArt2Shape() const
     589             : {
     590          72 :     return pImp->IsFlag( FILTERCFG_SMARTART_SHAPE_LOAD );
     591             : }
     592             : 
     593           8 : void SvtFilterOptions::SetSmartArt2Shape( bool bFlag )
     594             : {
     595           8 :     pImp->SetFlag( FILTERCFG_SMARTART_SHAPE_LOAD, bFlag );
     596           8 :     SetModified();
     597           8 : }
     598             : 
     599             : namespace
     600             : {
     601             :     class theFilterOptions
     602             :          : public rtl::Static<SvtFilterOptions, theFilterOptions>
     603             :     {
     604             :     };
     605             : }
     606             : 
     607        1916 : SvtFilterOptions& SvtFilterOptions::Get()
     608             : {
     609        1916 :     return theFilterOptions::get();
     610             : }
     611             : 
     612           0 : bool SvtFilterOptions::IsEnablePPTPreview() const
     613             : {
     614           0 :     return pImp->IsFlag( FILTERCFG_ENABLE_PPT_PREVIEW );
     615             : }
     616             : 
     617          26 : bool SvtFilterOptions::IsEnableCalcPreview() const
     618             : {
     619          26 :     return pImp->IsFlag( FILTERCFG_ENABLE_EXCEL_PREVIEW );
     620             : }
     621             : 
     622          34 : bool SvtFilterOptions::IsEnableWordPreview() const
     623             : {
     624          34 :     return pImp->IsFlag( FILTERCFG_ENABLE_WORD_PREVIEW );
     625             : }
     626             : 
     627             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10