summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
Diffstat (limited to 'sc')
-rw-r--r--sc/inc/formulaopt.hxx8
-rw-r--r--sc/source/core/tool/formulaopt.cxx14
-rw-r--r--sc/source/ui/docshell/docsh6.cxx4
-rw-r--r--sc/source/ui/optdlg/tpformula.cxx6
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;