Kaydet (Commit) 01d11655 authored tarafından Katarina Behrens's avatar Katarina Behrens Kaydeden (comit) Eike Rathke

tdf#92256: ODF save/load syntax for string reference

Change-Id: Iec38867c2fa3750f052e4afc99c5f8d48808c373
Reviewed-on: https://gerrit.libreoffice.org/17017Reviewed-by: 's avatarEike Rathke <erack@redhat.com>
Tested-by: 's avatarEike Rathke <erack@redhat.com>
üst 8eaef6b5
...@@ -511,6 +511,7 @@ ...@@ -511,6 +511,7 @@
#define SC_UNO_INTEROPGRABBAG "InteropGrabBag" #define SC_UNO_INTEROPGRABBAG "InteropGrabBag"
#define SC_UNO_RECORDCHANGES "RecordChanges" #define SC_UNO_RECORDCHANGES "RecordChanges"
#define SC_UNO_ISRECORDCHANGESPROTECTED "IsRecordChangesProtected" #define SC_UNO_ISRECORDCHANGESPROTECTED "IsRecordChangesProtected"
#define SC_UNO_SYNTAXSTRINGREF "SyntaxStringRef"
// document properties from FormModel // document properties from FormModel
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#include <com/sun/star/beans/PropertyAttribute.hpp> #include <com/sun/star/beans/PropertyAttribute.hpp>
#include <cppuhelper/supportsservice.hxx> #include <cppuhelper/supportsservice.hxx>
#include <formula/grammar.hxx>
#include <sfx2/printer.hxx> #include <sfx2/printer.hxx>
#include <xmloff/xmluconv.hxx> #include <xmloff/xmluconv.hxx>
#include <rtl/ustrbuf.hxx> #include <rtl/ustrbuf.hxx>
...@@ -75,6 +76,7 @@ static const SfxItemPropertyMapEntry* lcl_GetConfigPropertyMap() ...@@ -75,6 +76,7 @@ static const SfxItemPropertyMapEntry* lcl_GetConfigPropertyMap()
{OUString(SC_UNO_SHAREDOC), 0, cppu::UnoType<bool>::get(), 0, 0}, {OUString(SC_UNO_SHAREDOC), 0, cppu::UnoType<bool>::get(), 0, 0},
{OUString(SC_UNO_MODIFYPASSWORDINFO), 0, cppu::UnoType<uno::Sequence< beans::PropertyValue >>::get(), 0, 0}, {OUString(SC_UNO_MODIFYPASSWORDINFO), 0, cppu::UnoType<uno::Sequence< beans::PropertyValue >>::get(), 0, 0},
{OUString(SC_UNO_EMBED_FONTS), 0, cppu::UnoType<bool>::get(), 0, 0}, {OUString(SC_UNO_EMBED_FONTS), 0, cppu::UnoType<bool>::get(), 0, 0},
{OUString(SC_UNO_SYNTAXSTRINGREF), 0, cppu::UnoType<sal_Int16>::get(), 0, 0},
{ OUString(), 0, css::uno::Type(), 0, 0 } { OUString(), 0, css::uno::Type(), 0, 0 }
}; };
return aConfigPropertyMap_Impl; return aConfigPropertyMap_Impl;
...@@ -297,6 +299,28 @@ void SAL_CALL ScDocumentConfiguration::setPropertyValue( ...@@ -297,6 +299,28 @@ void SAL_CALL ScDocumentConfiguration::setPropertyValue(
rDoc.SetIsUsingEmbededFonts(bVal); rDoc.SetIsUsingEmbededFonts(bVal);
} }
} }
else if ( aPropertyName == SC_UNO_SYNTAXSTRINGREF )
{
ScCalcConfig aCalcConfig = rDoc.GetCalcConfig();
sal_Int16 nUno = 0;
if( aValue >>= nUno )
{
switch (nUno)
{
case 0: // CONV_OOO
case 2: // CONV_XL_A1
case 3: // CONV_XL_R1C1
aCalcConfig.meStringRefAddressSyntax = static_cast<formula::FormulaGrammar::AddressConvention>( nUno );
break;
default:
aCalcConfig.meStringRefAddressSyntax = formula::FormulaGrammar::CONV_UNSPECIFIED;
break;
}
rDoc.SetCalcConfig( aCalcConfig );
}
}
else else
{ {
...@@ -433,6 +457,30 @@ uno::Any SAL_CALL ScDocumentConfiguration::getPropertyValue( const OUString& aPr ...@@ -433,6 +457,30 @@ uno::Any SAL_CALL ScDocumentConfiguration::getPropertyValue( const OUString& aPr
{ {
aRet <<= rDoc.IsUsingEmbededFonts(); aRet <<= rDoc.IsUsingEmbededFonts();
} }
else if ( aPropertyName == SC_UNO_SYNTAXSTRINGREF )
{
ScCalcConfig aCalcConfig = rDoc.GetCalcConfig();
formula::FormulaGrammar::AddressConvention aConv = aCalcConfig.meStringRefAddressSyntax;
switch (aConv)
{
case formula::FormulaGrammar::CONV_OOO:
case formula::FormulaGrammar::CONV_XL_A1:
case formula::FormulaGrammar::CONV_XL_R1C1:
aRet <<= static_cast<sal_Int16>( aConv );
break;
case formula::FormulaGrammar::CONV_UNSPECIFIED:
case formula::FormulaGrammar::CONV_ODF:
case formula::FormulaGrammar::CONV_XL_OOX:
case formula::FormulaGrammar::CONV_LOTUS_A1:
case formula::FormulaGrammar::CONV_LAST:
{
aRet <<= sal_Int16(9999);
break;
}
}
}
else else
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment