diff options
-rw-r--r-- | sc/inc/formulaopt.hxx | 8 | ||||
-rw-r--r-- | sc/source/core/tool/formulaopt.cxx | 14 | ||||
-rw-r--r-- | sc/source/ui/docshell/docsh6.cxx | 4 | ||||
-rw-r--r-- | sc/source/ui/optdlg/tpformula.cxx | 6 |
4 files changed, 16 insertions, 16 deletions
diff --git a/sc/inc/formulaopt.hxx b/sc/inc/formulaopt.hxx index 5ca55a3e8905..7cc2dd8fe7fe 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 7cb1687ea26e..d3d4e89e51a2 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 cdf97566b8c0..94b978728ac7 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 59c1d8ca9e0d..9675fa02a7d9 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; |