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

Generated by: LCOV version 1.11