Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


Hi
Submitting a patch for review. This one moves the misplaced
Compatibility options from ScDocOptions to ScAppOptions. Please let me
know if you want me to improve some parts of it.

The rational behind this move, see:
http://lists.freedesktop.org/archives/libreoffice/2011-May/013087.html

See also:
http://lists.freedesktop.org/archives/libreoffice/2011-June/thread.html#14140

Once you are happy with it you can commit the patch under the terms of
MPL 1.1 / GPLv3+ / LGPLv3+ triple license.

Then I will do the same for the formula options.

/Albert
From 2c380b41279c9167f776b93c8396bb321d0d1592 Mon Sep 17 00:00:00 2001
From: Albert Thuswaldner <albert.thuswaldner@gmail.com>
Date: Sat, 25 Jun 2011 22:53:25 +0200
Subject: [PATCH] moved ScTpCompat from docoptions to appoptions

---
 sc/inc/appoptio.hxx                     |   64 ++++++++++++++++++++++-
 sc/inc/docoptio.hxx                     |    9 ---
 sc/source/core/tool/appoptio.cxx        |   85 +++++++++++++++++++++++--------
 sc/source/core/tool/docoptio.cxx        |   63 -----------------------
 sc/source/ui/app/scmod.cxx              |    4 --
 sc/source/ui/inc/tpcompatibility.hxx    |    6 +-
 sc/source/ui/optdlg/tpcompatibility.cxx |   11 ++--
 7 files changed, 133 insertions(+), 109 deletions(-)

diff --git a/sc/inc/appoptio.hxx b/sc/inc/appoptio.hxx
index e10b1e6..b770013 100644
--- a/sc/inc/appoptio.hxx
+++ b/sc/inc/appoptio.hxx
@@ -33,6 +33,7 @@
 #include <svx/zoomitem.hxx>
 #include <unotools/configitem.hxx>
 #include "scdllapi.h"
+#include "scmod.hxx"
 #include "global.hxx"
 #include "optutil.hxx"
 
@@ -87,9 +88,12 @@ public:
 
     void        SetShowSharedDocumentWarning( sal_Bool bNew )   { mbShowSharedDocumentWarning = 
bNew; }
     sal_Bool        GetShowSharedDocumentWarning() const        { return 
mbShowSharedDocumentWarning; }
+    ScOptionsUtil::KeyBindingType GetKeyBindingType() const { return eKeyBindingType; }
+    void        SetKeyBindingType( ScOptionsUtil::KeyBindingType e ) { eKeyBindingType = e; }
 
-
-    const ScAppOptions&        operator=       ( const ScAppOptions& rOpt );
+    inline const ScAppOptions& operator=( const ScAppOptions& rOpt );
+    inline int                                 operator==( const ScAppOptions& rOpt ) const;
+    inline int                                 operator!=( const ScAppOptions& rOpt ) const;
 
 private:
     SCTAB      nTabCountInNewSpreadsheet;
@@ -110,8 +114,61 @@ private:
     sal_Int32          nDefaultObjectSizeWidth;
     sal_Int32          nDefaultObjectSizeHeight;
     sal_Bool        mbShowSharedDocumentWarning;
+    ScOptionsUtil::KeyBindingType eKeyBindingType;
 };
 
+inline const ScAppOptions& ScAppOptions::operator=( const ScAppOptions& rCpy )
+{
+    nTabCountInNewSpreadsheet = rCpy.nTabCountInNewSpreadsheet;
+    eMetric                    = rCpy.eMetric;
+    eZoomType          = rCpy.eZoomType;
+    bSynchronizeZoom = rCpy.bSynchronizeZoom;
+    nZoom                      = rCpy.nZoom;
+    SetLRUFuncList( rCpy.pLRUList, rCpy.nLRUFuncCount );
+    nStatusFunc                = rCpy.nStatusFunc;
+    bAutoComplete      = rCpy.bAutoComplete;
+    bDetectiveAuto     = rCpy.bDetectiveAuto;
+    nTrackContentColor = rCpy.nTrackContentColor;
+    nTrackInsertColor  = rCpy.nTrackInsertColor;
+    nTrackDeleteColor  = rCpy.nTrackDeleteColor;
+    nTrackMoveColor    = rCpy.nTrackMoveColor;
+    eLinkMode          = rCpy.eLinkMode;
+    nDefaultObjectSizeWidth = rCpy.nDefaultObjectSizeWidth;
+    nDefaultObjectSizeHeight = rCpy.nDefaultObjectSizeHeight;
+    mbShowSharedDocumentWarning = rCpy.mbShowSharedDocumentWarning;
+    eKeyBindingType  = rCpy.eKeyBindingType;
+
+    return *this;
+}
+
+inline int ScAppOptions::operator==( const ScAppOptions& rCpy ) const
+{
+    return  {
+        rCpy.nTabCountInNewSpreadsheet   == nTabCountInNewSpreadsheet
+    &&  rCpy.eMetric                     == eMetric
+    &&  rCpy.eZoomType                   == eZoomType
+    &&  rCpy.bSynchronizeZoom            == bSynchronizeZoom
+    &&  rCpy.nZoom                       == nZoom
+    &&  rCpy.pLRUList                    == pLRUList
+    &&  rCpy.nStatusFunc                 == nStatusFunc
+    &&  rCpy.bAutoComplete               == bAutoComplete
+    &&  rCpy.bDetectiveAuto              == bDetectiveAuto
+    &&  rCpy.nTrackContentColor          == nTrackContentColor
+    &&  rCpy.nTrackInsertColor           == nTrackInsertColor
+    &&  rCpy.nTrackDeleteColor           == nTrackDeleteColor
+    &&  rCpy.nTrackMoveColor             == nTrackMoveColor
+    &&  rCpy.eLinkMode                   == eLinkMode
+    &&  rCpy.nDefaultObjectSizeWidth     == nDefaultObjectSizeWidth
+    &&  rCpy.nDefaultObjectSizeHeight    == nDefaultObjectSizeHeight
+    &&  rCpy.mbShowSharedDocumentWarning == mbShowSharedDocumentWarning
+    &&  rCpy.eKeyBindingType             == eKeyBindingType
+    };
+}
+
+inline int ScAppOptions::operator!=( const ScAppOptions& rOpt ) const
+{
+   return !(operator==(rOpt));
+}
 
 //==================================================================
 //     Config Item containing app options
@@ -128,6 +185,7 @@ class ScAppCfg : public ScAppOptions
     ScLinkConfigItem   aContentItem;
     ScLinkConfigItem   aSortListItem;
     ScLinkConfigItem   aMiscItem;
+    ScLinkConfigItem    aCompatItem;
 
     DECL_LINK( LayoutCommitHdl, void* );
     DECL_LINK( InputCommitHdl, void* );
@@ -135,6 +193,7 @@ class ScAppCfg : public ScAppOptions
     DECL_LINK( ContentCommitHdl, void* );
     DECL_LINK( SortListCommitHdl, void* );
     DECL_LINK( MiscCommitHdl, void* );
+    DECL_LINK( CompatCommitHdl, void* );
 
     com::sun::star::uno::Sequence<rtl::OUString> GetLayoutPropertyNames();
     com::sun::star::uno::Sequence<rtl::OUString> GetInputPropertyNames();
@@ -142,6 +201,7 @@ class ScAppCfg : public ScAppOptions
     com::sun::star::uno::Sequence<rtl::OUString> GetContentPropertyNames();
     com::sun::star::uno::Sequence<rtl::OUString> GetSortListPropertyNames();
     com::sun::star::uno::Sequence<rtl::OUString> GetMiscPropertyNames();
+    com::sun::star::uno::Sequence<rtl::OUString> GetCompatPropertyNames();
 
 public:
             ScAppCfg();
diff --git a/sc/inc/docoptio.hxx b/sc/inc/docoptio.hxx
index de6b970..e5ab4ba 100644
--- a/sc/inc/docoptio.hxx
+++ b/sc/inc/docoptio.hxx
@@ -44,7 +44,6 @@ class SC_DLLPUBLIC ScDocOptions
     sal_uInt16 nIterCount;                             // number
     SCTAB nInitTabCount;                       // number of Tabs for new Spreadssheet doc
     sal_uInt16 nPrecStandardFormat; // precision for standard format
-    ScOptionsUtil::KeyBindingType eKeyBindingType;
     sal_uInt16 nDay;                                   // Null date:
     sal_uInt16 nMonth;
     sal_uInt16 nYear;
@@ -102,9 +101,6 @@ public:
     sal_uInt16  GetStdPrecision() const { return nPrecStandardFormat; }
     void        SetStdPrecision( sal_uInt16 n ) { nPrecStandardFormat = n; }
 
-    ScOptionsUtil::KeyBindingType GetKeyBindingType() const { return eKeyBindingType; }
-    void        SetKeyBindingType( ScOptionsUtil::KeyBindingType e ) { eKeyBindingType = e; }
-
     sal_Bool   IsCalcAsShown() const           { return bCalcAsShown; }
     void       SetCalcAsShown( sal_Bool bVal ) { bCalcAsShown = bVal; }
 
@@ -141,7 +137,6 @@ inline const ScDocOptions& ScDocOptions::operator=( const ScDocOptions& rCpy )
     nInitTabCount       = rCpy.nInitTabCount;
     fIterEps                   = rCpy.fIterEps;
     nPrecStandardFormat = rCpy.nPrecStandardFormat;
-    eKeyBindingType     = rCpy.eKeyBindingType;
     nDay                               = rCpy.nDay;
     nMonth                             = rCpy.nMonth;
     nYear                              = rCpy.nYear;
@@ -170,7 +165,6 @@ inline int ScDocOptions::operator==( const ScDocOptions& rOpt ) const
             &&  rOpt.nInitTabCount          == nInitTabCount
             && rOpt.fIterEps                           == fIterEps
             && rOpt.nPrecStandardFormat        == nPrecStandardFormat
-            &&  rOpt.eKeyBindingType        == eKeyBindingType
             && rOpt.nDay                                       == nDay
             && rOpt.nMonth                             == nMonth
             && rOpt.nYear                                      == nYear
@@ -226,19 +220,16 @@ class ScDocCfg : public ScDocOptions
     ScLinkConfigItem   aCalcItem;
     ScLinkConfigItem    aFormulaItem;
     ScLinkConfigItem   aLayoutItem;
-    ScLinkConfigItem    aCompatItem;
     ScLinkConfigItem    aDefaultsItem;
 
     DECL_LINK( CalcCommitHdl, void* );
     DECL_LINK( FormulaCommitHdl, void* );
     DECL_LINK( LayoutCommitHdl, void* );
-    DECL_LINK( CompatCommitHdl, void* );
     DECL_LINK( DefaultsCommitHdl, void* );
 
     com::sun::star::uno::Sequence<rtl::OUString> GetCalcPropertyNames();
     com::sun::star::uno::Sequence<rtl::OUString> GetFormulaPropertyNames();
     com::sun::star::uno::Sequence<rtl::OUString> GetLayoutPropertyNames();
-    com::sun::star::uno::Sequence<rtl::OUString> GetCompatPropertyNames();
     com::sun::star::uno::Sequence<rtl::OUString> GetDefaultsPropertyNames();
 
 public:
diff --git a/sc/source/core/tool/appoptio.cxx b/sc/source/core/tool/appoptio.cxx
index 7541fb6..1412120 100644
--- a/sc/source/core/tool/appoptio.cxx
+++ b/sc/source/core/tool/appoptio.cxx
@@ -118,31 +118,13 @@ void ScAppOptions::SetDefaults()
     nDefaultObjectSizeHeight = 5000;
 
     mbShowSharedDocumentWarning = true;
+
+    eKeyBindingType     = ScOptionsUtil::KEY_DEFAULT;
 }
 
+
 //------------------------------------------------------------------------
 
-const ScAppOptions& ScAppOptions::operator=( const ScAppOptions& rCpy )
-{
-    nTabCountInNewSpreadsheet = rCpy.nTabCountInNewSpreadsheet;
-    eMetric                    = rCpy.eMetric;
-    eZoomType          = rCpy.eZoomType;
-    bSynchronizeZoom = rCpy.bSynchronizeZoom;
-    nZoom                      = rCpy.nZoom;
-    SetLRUFuncList( rCpy.pLRUList, rCpy.nLRUFuncCount );
-    nStatusFunc                = rCpy.nStatusFunc;
-    bAutoComplete      = rCpy.bAutoComplete;
-    bDetectiveAuto     = rCpy.bDetectiveAuto;
-    nTrackContentColor = rCpy.nTrackContentColor;
-    nTrackInsertColor  = rCpy.nTrackInsertColor;
-    nTrackDeleteColor  = rCpy.nTrackDeleteColor;
-    nTrackMoveColor    = rCpy.nTrackMoveColor;
-    eLinkMode          = rCpy.eLinkMode;
-    nDefaultObjectSizeWidth = rCpy.nDefaultObjectSizeWidth;
-    nDefaultObjectSizeHeight = rCpy.nDefaultObjectSizeHeight;
-    mbShowSharedDocumentWarning = rCpy.mbShowSharedDocumentWarning;
-    return *this;
-}
 
 //------------------------------------------------------------------------
 
@@ -291,6 +273,9 @@ void lcl_GetSortList( Any& rDest )
 #define SCMISCOPT_SHOWSHAREDDOCWARN 2
 #define SCMISCOPT_COUNT                                3
 
+#define CFGPATH_COMPAT      "Office.Calc/Compatibility"
+#define SCCOMPATOPT_KEY_BINDING     0
+#define SCCOMPATOPT_COUNT           1
 
 Sequence<OUString> ScAppCfg::GetLayoutPropertyNames()
 {
@@ -391,6 +376,19 @@ Sequence<OUString> ScAppCfg::GetMiscPropertyNames()
     return aNames;
 }
 
+Sequence<OUString> ScAppCfg::GetCompatPropertyNames()
+{
+    static const char* aPropNames[] =
+    {
+        "KeyBindings/BaseGroup"             // SCCOMPATOPT_KEY_BINDING
+    };
+    Sequence<OUString> aNames(SCCOMPATOPT_COUNT);
+    OUString* pNames = aNames.getArray();
+    for (int i = 0; i < SCCOMPATOPT_COUNT; ++i)
+        pNames[i] = OUString::createFromAscii(aPropNames[i]);
+
+    return aNames;
+}
 
 ScAppCfg::ScAppCfg() :
     aLayoutItem( OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_LAYOUT )) ),
@@ -398,7 +396,8 @@ ScAppCfg::ScAppCfg() :
     aRevisionItem( OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_REVISION )) ),
     aContentItem( OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_CONTENT )) ),
     aSortListItem( OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_SORTLIST )) ),
-    aMiscItem( OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_MISC )) )
+    aMiscItem( OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_MISC )) ),
+    aCompatItem(OUString(RTL_CONSTASCII_USTRINGPARAM(CFGPATH_COMPAT)))
 {
     sal_Int32 nIntVal = 0;
 
@@ -576,6 +575,28 @@ ScAppCfg::ScAppCfg() :
         }
     }
     aMiscItem.SetCommitLink( LINK( this, ScAppCfg, MiscCommitHdl ) );
+
+    aNames = GetCompatPropertyNames();
+    aValues = aCompatItem.GetProperties(aNames);
+    aCompatItem.EnableNotification(aNames);
+    pValues = aValues.getConstArray();
+    if (aValues.getLength() == aNames.getLength())
+    {
+        for (int nProp = 0; nProp < aNames.getLength(); ++nProp)
+        {
+            switch (nProp)
+            {
+                case SCCOMPATOPT_KEY_BINDING:
+                {
+                    nIntVal = 0; // 0 = 'Default'
+                    pValues[nProp] >>= nIntVal;
+                    SetKeyBindingType(static_cast<ScOptionsUtil::KeyBindingType>(nIntVal));
+                }
+                break;
+            }
+        }
+    }
+    aCompatItem.SetCommitLink( LINK(this, ScAppCfg, CompatCommitHdl) );
 }
 
 IMPL_LINK( ScAppCfg, LayoutCommitHdl, void *, EMPTYARG )
@@ -731,6 +752,25 @@ IMPL_LINK( ScAppCfg, MiscCommitHdl, void *, EMPTYARG )
     return 0;
 }
 
+IMPL_LINK( ScAppCfg, CompatCommitHdl, void *, EMPTYARG )
+{
+    Sequence<OUString> aNames = GetCompatPropertyNames();
+    Sequence<Any> aValues(aNames.getLength());
+    Any* pValues = aValues.getArray();
+
+    for (int nProp = 0; nProp < aNames.getLength(); ++nProp)
+    {
+        switch(nProp)
+        {
+            case SCCOMPATOPT_KEY_BINDING:
+                pValues[nProp] <<= static_cast<sal_Int32>(GetKeyBindingType());
+            break;
+        }
+    }
+    aCompatItem.PutProperties(aNames, aValues);
+    return 0;
+}
+
 void ScAppCfg::SetOptions( const ScAppOptions& rNew )
 {
     *(ScAppOptions*)this = rNew;
@@ -745,6 +785,7 @@ void ScAppCfg::OptionsChanged()
     aContentItem.SetModified();
     aSortListItem.SetModified();
     aMiscItem.SetModified();
+    aCompatItem.SetModified();
 }
 
 
diff --git a/sc/source/core/tool/docoptio.cxx b/sc/source/core/tool/docoptio.cxx
index 662d59c..6298799 100644
--- a/sc/source/core/tool/docoptio.cxx
+++ b/sc/source/core/tool/docoptio.cxx
@@ -93,7 +93,6 @@ ScDocOptions::ScDocOptions( const ScDocOptions& rCpy )
             nIterCount( rCpy.nIterCount ),
             nInitTabCount( rCpy.nInitTabCount ),
             nPrecStandardFormat( rCpy.nPrecStandardFormat ),
-            eKeyBindingType( rCpy.eKeyBindingType ),
             nDay( rCpy.nDay ),
             nMonth( rCpy.nMonth ),
             nYear( rCpy.nYear ),
@@ -130,7 +129,6 @@ void ScDocOptions::ResetDocOptions()
     nInitTabCount       = 3;
     fIterEps                   = 1.0E-3;
     nPrecStandardFormat = SvNumberFormatter::UNLIMITED_PRECISION;
-    eKeyBindingType     = ScOptionsUtil::KEY_DEFAULT;
     nDay                               = 30;
     nMonth                             = 12;
     nYear                              = 1899;
@@ -288,10 +286,6 @@ SfxPoolItem* ScTpCalcItem::Clone( SfxItemPool * ) const
 #define SCDOCLAYOUTOPT_TABSTOP         0
 #define SCDOCLAYOUTOPT_COUNT           1
 
-#define CFGPATH_COMPAT      "Office.Calc/Compatibility"
-#define SCCOMPATOPT_KEY_BINDING     0
-#define SCCOMPATOPT_COUNT           1
-
 #define CFGPATH_DEFAULTS    "Office.Calc/Defaults"
 #define SCDEFAULTSOPT_TAB_COUNT     0
 #define SCDEFAULTSOPT_COUNT         1
@@ -358,20 +352,6 @@ Sequence<OUString> ScDocCfg::GetLayoutPropertyNames()
     return aNames;
 }
 
-Sequence<OUString> ScDocCfg::GetCompatPropertyNames()
-{
-    static const char* aPropNames[] =
-    {
-        "KeyBindings/BaseGroup"             // SCCOMPATOPT_KEY_BINDING
-    };
-    Sequence<OUString> aNames(SCCOMPATOPT_COUNT);
-    OUString* pNames = aNames.getArray();
-    for (int i = 0; i < SCCOMPATOPT_COUNT; ++i)
-        pNames[i] = OUString::createFromAscii(aPropNames[i]);
-
-    return aNames;
-}
-
 Sequence<OUString> ScDocCfg::GetDefaultsPropertyNames()
 {
     static const char* aPropNames[] =
@@ -391,7 +371,6 @@ ScDocCfg::ScDocCfg() :
     aCalcItem( OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_CALC )) ),
     aFormulaItem(OUString(RTL_CONSTASCII_USTRINGPARAM(CFGPATH_FORMULA))),
     aLayoutItem(OUString(RTL_CONSTASCII_USTRINGPARAM(CFGPATH_DOCLAYOUT))),
-    aCompatItem(OUString(RTL_CONSTASCII_USTRINGPARAM(CFGPATH_COMPAT))),
     aDefaultsItem(OUString(RTL_CONSTASCII_USTRINGPARAM(CFGPATH_DEFAULTS)))
 {
     sal_Int32 nIntVal = 0;
@@ -561,28 +540,6 @@ ScDocCfg::ScDocCfg() :
     }
     aLayoutItem.SetCommitLink( LINK( this, ScDocCfg, LayoutCommitHdl ) );
 
-    aNames = GetCompatPropertyNames();
-    aValues = aCompatItem.GetProperties(aNames);
-    aCompatItem.EnableNotification(aNames);
-    pValues = aValues.getConstArray();
-    if (aValues.getLength() == aNames.getLength())
-    {
-        for (int nProp = 0; nProp < aNames.getLength(); ++nProp)
-        {
-            switch (nProp)
-            {
-                case SCCOMPATOPT_KEY_BINDING:
-                {
-                    nIntVal = 0; // 0 = 'Default'
-                    pValues[nProp] >>= nIntVal;
-                    SetKeyBindingType(static_cast<ScOptionsUtil::KeyBindingType>(nIntVal));
-                }
-                break;
-            }
-        }
-    }
-    aCompatItem.SetCommitLink( LINK(this, ScDocCfg, CompatCommitHdl) );
-
     aNames = GetDefaultsPropertyNames();
     aValues = aDefaultsItem.GetProperties(aNames);
     aDefaultsItem.EnableNotification(aNames);
@@ -728,25 +685,6 @@ IMPL_LINK( ScDocCfg, LayoutCommitHdl, void *, EMPTYARG )
     return 0;
 }
 
-IMPL_LINK( ScDocCfg, CompatCommitHdl, void *, EMPTYARG )
-{
-    Sequence<OUString> aNames = GetCompatPropertyNames();
-    Sequence<Any> aValues(aNames.getLength());
-    Any* pValues = aValues.getArray();
-
-    for (int nProp = 0; nProp < aNames.getLength(); ++nProp)
-    {
-        switch(nProp)
-        {
-            case SCCOMPATOPT_KEY_BINDING:
-                pValues[nProp] <<= static_cast<sal_Int32>(GetKeyBindingType());
-            break;
-        }
-    }
-    aCompatItem.PutProperties(aNames, aValues);
-    return 0;
-}
-
 IMPL_LINK( ScDocCfg, DefaultsCommitHdl, void *, EMPTYARG )
 {
     Sequence<OUString> aNames = GetDefaultsPropertyNames();
@@ -773,7 +711,6 @@ void ScDocCfg::SetOptions( const ScDocOptions& rNew )
     aCalcItem.SetModified();
     aFormulaItem.SetModified();
     aLayoutItem.SetModified();
-    aCompatItem.SetModified();
     aDefaultsItem.SetModified();
 }
 
diff --git a/sc/source/ui/app/scmod.cxx b/sc/source/ui/app/scmod.cxx
index 75cca30..4b6e708 100644
--- a/sc/source/ui/app/scmod.cxx
+++ b/sc/source/ui/app/scmod.cxx
@@ -1081,10 +1081,6 @@ void ScModule::ModifyOptions( const SfxItemSet& rOptSet )
         if ( pDoc )
         {
             const ScDocOptions& rOldOpt = pDoc->GetDocOptions();
-            ScOptionsUtil::KeyBindingType eKeyOld = rOldOpt.GetKeyBindingType();
-            ScOptionsUtil::KeyBindingType eKeyNew = rNewOpt.GetKeyBindingType();
-            if (eKeyOld != eKeyNew)
-                pDocSh->ResetKeyBindings(eKeyNew);
 
             bRepaint = ( bRepaint || ( rOldOpt != rNewOpt )   );
             bCalcAll =   bRepaint &&
diff --git a/sc/source/ui/inc/tpcompatibility.hxx b/sc/source/ui/inc/tpcompatibility.hxx
index 91f7254..85060c3 100644
--- a/sc/source/ui/inc/tpcompatibility.hxx
+++ b/sc/source/ui/inc/tpcompatibility.hxx
@@ -35,7 +35,7 @@
 
 #include <boost/shared_ptr.hpp>
 
-class ScDocOptions;
+class ScAppOptions;
 
 class ScTpCompatOptions : public SfxTabPage
 {
@@ -57,8 +57,8 @@ private:
     FixedText maFtKeyBindings;
     ListBox   maLbKeyBindings;
 
-    ::boost::shared_ptr<ScDocOptions> mpOldOptions;
-    ::boost::shared_ptr<ScDocOptions> mpNewOptions;
+    ::boost::shared_ptr<ScAppOptions> mpOldOptions;
+    ::boost::shared_ptr<ScAppOptions> mpNewOptions;
 };
 
 #endif
diff --git a/sc/source/ui/optdlg/tpcompatibility.cxx b/sc/source/ui/optdlg/tpcompatibility.cxx
index 367180b..b91b826 100644
--- a/sc/source/ui/optdlg/tpcompatibility.cxx
+++ b/sc/source/ui/optdlg/tpcompatibility.cxx
@@ -31,10 +31,11 @@
 
 #undef SC_DLLIMPLEMENTATION
 
+#include <scmod.hxx>
 #include "tpcompatibility.hxx"
 #include "optdlg.hrc"
 #include "scresid.hxx"
-#include "docoptio.hxx"
+#include "appoptio.hxx"
 
 ScTpCompatOptions::ScTpCompatOptions(Window *pParent, const SfxItemSet &rCoreAttrs) :
     SfxTabPage(pParent, ScResId(RID_SCPAGE_COMPATIBILITY), rCoreAttrs),
@@ -44,10 +45,8 @@ ScTpCompatOptions::ScTpCompatOptions(Window *pParent, const SfxItemSet &rCoreAtt
 {
     FreeResource();
 
-    const ScTpCalcItem& rItem = static_cast<const ScTpCalcItem&>(
-        rCoreAttrs.Get(GetWhich(SID_SCDOCOPTIONS)));
-    mpOldOptions.reset(new ScDocOptions(rItem.GetDocOptions()));
-    mpNewOptions.reset(new ScDocOptions(rItem.GetDocOptions()));
+    mpOldOptions.reset(new ScAppOptions(SC_MOD()->GetAppOptions()) );
+    mpNewOptions.reset(new ScAppOptions(SC_MOD()->GetAppOptions()) );
 }
 
 ScTpCompatOptions::~ScTpCompatOptions()
@@ -77,7 +76,7 @@ sal_Bool ScTpCompatOptions::FillItemSet(SfxItemSet &rCoreAttrs)
 
     if (*mpNewOptions != *mpOldOptions)
     {
-        rCoreAttrs.Put(ScTpCalcItem(GetWhich(SID_SCDOCOPTIONS), *mpNewOptions));
+        SC_MOD()->SetAppOptions(*mpNewOptions);
         return true;
     }
     else
-- 
1.7.3.4


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.