[Libreoffice-commits] .: Branch 'feature/calc-empty-string-config' - sc/inc sc/source

Kohei Yoshida kohei at kemper.freedesktop.org
Mon Jul 23 15:09:31 PDT 2012


 sc/inc/formulaopt.hxx              |    8 +++++---
 sc/source/core/tool/formulaopt.cxx |   14 +++++++-------
 sc/source/ui/docshell/docsh6.cxx   |    4 +---
 sc/source/ui/optdlg/tpformula.cxx  |    6 +++---
 4 files changed, 16 insertions(+), 16 deletions(-)

New commits:
commit a4c0a7c0abe44e782e7ec6459bab3f1e524c6d05
Author: Kohei Yoshida <kohei.yoshida at gmail.com>
Date:   Mon Jul 23 18:10:08 2012 -0400

    Using ScCalcConfig throughout saves quite a bit of code.
    
    Change-Id: I697b03d603a99cdb58c31d78447bbed10230311e

diff --git a/sc/inc/formulaopt.hxx b/sc/inc/formulaopt.hxx
index 5ca55a3..7cc2dd8 100644
--- a/sc/inc/formulaopt.hxx
+++ b/sc/inc/formulaopt.hxx
@@ -35,13 +35,14 @@
 #include "formula/grammar.hxx"
 #include "scdllapi.h"
 #include "global.hxx"
+#include "calcconfig.hxx"
 
 class SC_DLLPUBLIC ScFormulaOptions
 {
 private:
     bool bUseEnglishFuncName;     // use English function name even if the locale is not English.
     formula::FormulaGrammar::Grammar eFormulaGrammar;  // formula grammar used to switch different formula syntax
-    formula::FormulaGrammar::AddressConvention eStringRefSyntax;
+    ScCalcConfig aCalcConfig;
 
     ::rtl::OUString aFormulaSepArg;
     ::rtl::OUString aFormulaSepArrayRow;
@@ -57,8 +58,9 @@ public:
     void SetFormulaSyntax( ::formula::FormulaGrammar::Grammar eGram ) { eFormulaGrammar = eGram; }
     ::formula::FormulaGrammar::Grammar GetFormulaSyntax() const { return eFormulaGrammar; }
 
-    void SetStringRefAddressSyntax(formula::FormulaGrammar::AddressConvention eConv) { eStringRefSyntax = eConv; }
-    formula::FormulaGrammar::AddressConvention GetStringRefAddressSyntax() const { return eStringRefSyntax; }
+    ScCalcConfig& GetCalcConfig() { return aCalcConfig; }
+    const ScCalcConfig& GetCalcConfig() const { return aCalcConfig; }
+    void SetCalcConfig(const ScCalcConfig& rConfig) { aCalcConfig = rConfig; }
 
     void SetUseEnglishFuncName( bool bVal ) { bUseEnglishFuncName = bVal; }
     bool GetUseEnglishFuncName() const { return bUseEnglishFuncName; }
diff --git a/sc/source/core/tool/formulaopt.cxx b/sc/source/core/tool/formulaopt.cxx
index 7cb1687..d3d4e89 100644
--- a/sc/source/core/tool/formulaopt.cxx
+++ b/sc/source/core/tool/formulaopt.cxx
@@ -55,7 +55,7 @@ ScFormulaOptions::ScFormulaOptions()
 ScFormulaOptions::ScFormulaOptions( const ScFormulaOptions& rCpy ) :
     bUseEnglishFuncName ( rCpy.bUseEnglishFuncName ),
     eFormulaGrammar     ( rCpy.eFormulaGrammar ),
-    eStringRefSyntax(rCpy.eStringRefSyntax),
+    aCalcConfig(rCpy.aCalcConfig),
     aFormulaSepArg      ( rCpy.aFormulaSepArg ),
     aFormulaSepArrayRow ( rCpy.aFormulaSepArrayRow ),
     aFormulaSepArrayCol ( rCpy.aFormulaSepArrayCol )
@@ -72,7 +72,7 @@ void ScFormulaOptions::SetDefaults()
     eFormulaGrammar     = ::formula::FormulaGrammar::GRAM_NATIVE;
 
     // unspecified means use the current formula syntax.
-    eStringRefSyntax = formula::FormulaGrammar::CONV_UNSPECIFIED;
+    aCalcConfig.reset();
 
     ResetFormulaSeparators();
 }
@@ -144,7 +144,7 @@ ScFormulaOptions& ScFormulaOptions::operator=( const ScFormulaOptions& rCpy )
 {
     bUseEnglishFuncName = rCpy.bUseEnglishFuncName;
     eFormulaGrammar     = rCpy.eFormulaGrammar;
-    eStringRefSyntax = rCpy.eStringRefSyntax;
+    aCalcConfig = rCpy.aCalcConfig;
     aFormulaSepArg      = rCpy.aFormulaSepArg;
     aFormulaSepArrayRow = rCpy.aFormulaSepArrayRow;
     aFormulaSepArrayCol = rCpy.aFormulaSepArrayCol;
@@ -155,7 +155,7 @@ bool ScFormulaOptions::operator==( const ScFormulaOptions& rOpt ) const
 {
     return bUseEnglishFuncName == rOpt.bUseEnglishFuncName
         && eFormulaGrammar     == rOpt.eFormulaGrammar
-        && eStringRefSyntax == rOpt.eStringRefSyntax
+        && aCalcConfig == rOpt.aCalcConfig
         && aFormulaSepArg      == rOpt.aFormulaSepArg
         && aFormulaSepArrayRow == rOpt.aFormulaSepArrayRow
         && aFormulaSepArrayCol == rOpt.aFormulaSepArrayCol;
@@ -311,7 +311,7 @@ ScFormulaCfg::ScFormulaCfg() :
                 case SCFORMULAOPT_STRING_REF_SYNTAX:
                 {
                     // Get default value in case this option is not set.
-                    ::formula::FormulaGrammar::AddressConvention eConv = GetStringRefAddressSyntax();
+                    ::formula::FormulaGrammar::AddressConvention eConv = GetCalcConfig().meStringRefAddressSyntax;
 
                     do
                     {
@@ -338,7 +338,7 @@ ScFormulaCfg::ScFormulaCfg() :
                         }
                     }
                     while (false);
-                    SetStringRefAddressSyntax(eConv);
+                    GetCalcConfig().meStringRefAddressSyntax = eConv;
                 }
                 break;
                 }
@@ -387,7 +387,7 @@ void ScFormulaCfg::Commit()
             case SCFORMULAOPT_STRING_REF_SYNTAX:
             {
                 sal_Int32 nVal = -1;
-                switch (GetStringRefAddressSyntax())
+                switch (GetCalcConfig().meStringRefAddressSyntax)
                 {
                     case ::formula::FormulaGrammar::CONV_OOO:     nVal = 0; break;
                     case ::formula::FormulaGrammar::CONV_XL_A1:   nVal = 1; break;
diff --git a/sc/source/ui/docshell/docsh6.cxx b/sc/source/ui/docshell/docsh6.cxx
index cdf9756..94b9787 100644
--- a/sc/source/ui/docshell/docsh6.cxx
+++ b/sc/source/ui/docshell/docsh6.cxx
@@ -496,9 +496,7 @@ void ScDocShell::SetFormulaOptions(const ScFormulaOptions& rOpt )
         rOpt.GetFormulaSepArg(), rOpt.GetFormulaSepArrayCol(), rOpt.GetFormulaSepArrayRow());
 
     // Global interpreter settings.
-    ScCalcConfig aConfig;
-    aConfig.meStringRefAddressSyntax = rOpt.GetStringRefAddressSyntax();
-    ScInterpreter::SetGlobalConfig(aConfig);
+    ScInterpreter::SetGlobalConfig(rOpt.GetCalcConfig());
 }
 
 void ScDocShell::CheckConfigOptions()
diff --git a/sc/source/ui/optdlg/tpformula.cxx b/sc/source/ui/optdlg/tpformula.cxx
index 59c1d8c..9675fa0 100644
--- a/sc/source/ui/optdlg/tpformula.cxx
+++ b/sc/source/ui/optdlg/tpformula.cxx
@@ -291,7 +291,7 @@ sal_Bool ScTpFormulaOptions::FillItemSet(SfxItemSet& rCoreSet)
         aOpt.SetFormulaSepArg(aSep);
         aOpt.SetFormulaSepArrayCol(aSepArrayCol);
         aOpt.SetFormulaSepArrayRow(aSepArrayRow);
-        aOpt.SetStringRefAddressSyntax(maCurrentConfig.meStringRefAddressSyntax);
+        aOpt.SetCalcConfig(maCurrentConfig);
 
         rCoreSet.Put( ScTpFormulaItem( SID_SCFORMULAOPTIONS, aOpt ) );
         bRet = true;
@@ -353,8 +353,8 @@ void ScTpFormulaOptions::Reset(const SfxItemSet& rCoreSet)
     // detailed calc settings.
     ScFormulaOptions aDefaults;
 
-    maSavedConfig.meStringRefAddressSyntax = aOpt.GetStringRefAddressSyntax();
-    bool bDefault = aDefaults.GetStringRefAddressSyntax() == maSavedConfig.meStringRefAddressSyntax;
+    maSavedConfig = aOpt.GetCalcConfig();
+    bool bDefault = aDefaults.GetCalcConfig() == maSavedConfig;
     UpdateCustomCalcRadioButtons(bDefault);
 
     maCurrentConfig = maSavedConfig;


More information about the Libreoffice-commits mailing list