Kaydet (Commit) 09bd7fdb authored tarafından Eike Rathke's avatar Eike Rathke

get rid of dead binary file format legacy cruft in number formatter

The only code that uses the binary storage format of SvNumberFormatter is the
SvNumberFormatsSupplierServiceObject for the NumberFormatsSupplier service
during streaming of forms' formatted fields with OFormattedFieldWrapper. That
certainly does not need access to files created before the year 2000 ... so
slice off that awful compatibility cruft.
üst b7c51cf8
...@@ -678,12 +678,12 @@ bool SvNumberFormatter::Load( SvStream& rStream ) ...@@ -678,12 +678,12 @@ bool SvNumberFormatter::Load( SvStream& rStream )
rStream >> nVersion; rStream >> nVersion;
SvNumberformat* pEntry; SvNumberformat* pEntry;
sal_uInt32 nPos; sal_uInt32 nPos;
LanguageType eSaveSysLang, eLoadSysLang;
sal_uInt16 nSysOnStore, eLge, eDummy; // Dummy for compatible format sal_uInt16 nSysOnStore, eLge, eDummy; // Dummy for compatible format
rStream >> nSysOnStore >> eLge; // system language from document rStream >> nSysOnStore >> eLge; // system language from document
eSaveSysLang = (nVersion < SV_NUMBERFORMATTER_VERSION_SYSTORE ? SAL_WARN_IF( nVersion < SV_NUMBERFORMATTER_VERSION_CALENDAR, "svl.numbers", "SvNumberFormatter::Load: where does this unsupported old data come from?!?");
LANGUAGE_SYSTEM : (LanguageType) nSysOnStore);
LanguageType eSaveSysLang = (LanguageType) nSysOnStore;
LanguageType eLnge = (LanguageType) eLge; LanguageType eLnge = (LanguageType) eLge;
ImpChangeSysCL( eLnge, true ); ImpChangeSysCL( eLnge, true );
...@@ -696,132 +696,20 @@ bool SvNumberFormatter::Load( SvStream& rStream ) ...@@ -696,132 +696,20 @@ bool SvNumberFormatter::Load( SvStream& rStream )
sal_uInt32 nOffset = nPos % SV_COUNTRY_LANGUAGE_OFFSET; // relativIndex sal_uInt32 nOffset = nPos % SV_COUNTRY_LANGUAGE_OFFSET; // relativIndex
bool bUserDefined = (nOffset > SV_MAX_ANZ_STANDARD_FORMATE); bool bUserDefined = (nOffset > SV_MAX_ANZ_STANDARD_FORMATE);
//! HACK! ER 29.07.97 15:15
// SaveLang wurde bei SYSTEM nicht gespeichert sondern war auch SYSTEM,
// erst ab 364i Unterscheidung moeglich
bool bConversionHack;
if ( eLnge == LANGUAGE_SYSTEM )
{
if ( nVersion < SV_NUMBERFORMATTER_VERSION_SYSTORE )
{
bConversionHack = bUserDefined;
eLoadSysLang = eSaveSysLang;
}
else
{
bConversionHack = false;
eLoadSysLang = eSysLang;
}
}
else
{
bConversionHack = false;
eLoadSysLang = eSaveSysLang;
}
pEntry = new SvNumberformat(*pFormatScanner, eLnge); pEntry = new SvNumberformat(*pFormatScanner, eLnge);
if ( bConversionHack ) pEntry->Load( rStream, aHdr, NULL, *pStringScanner );
{ // SYSTEM if ( !bUserDefined )
// nVersion < SV_NUMBERFORMATTER_VERSION_SYSTORE bUserDefined = (pEntry->GetNewStandardDefined() > SV_NUMBERFORMATTER_VERSION);
// nVersion < SV_NUMBERFORMATTER_VERSION_KEYWORDS if ( bUserDefined )
if ( !pConverter )
pConverter = new SvNumberFormatter( xServiceManager, eSysLang );
NfHackConversion eHackConversion = pEntry->Load(
rStream, aHdr, pConverter, *pStringScanner );
switch ( eHackConversion )
{
case NF_CONVERT_GERMAN_ENGLISH :
pEntry->ConvertLanguage( *pConverter,
LANGUAGE_ENGLISH_US, eSysLang, true );
break;
case NF_CONVERT_ENGLISH_GERMAN :
switch ( eSysLang )
{
case LANGUAGE_GERMAN:
case LANGUAGE_GERMAN_SWISS:
case LANGUAGE_GERMAN_AUSTRIAN:
case LANGUAGE_GERMAN_LUXEMBOURG:
case LANGUAGE_GERMAN_LIECHTENSTEIN:
// alles beim alten
break;
default:
pEntry->ConvertLanguage( *pConverter,
LANGUAGE_GERMAN, eSysLang, true );
}
break;
case NF_CONVERT_NONE :
break; // -Wall not handled.
}
}
else
{ {
pEntry->Load( rStream, aHdr, NULL, *pStringScanner ); LanguageType eLoadSysLang = (eLnge == LANGUAGE_SYSTEM ? eSysLang : eSaveSysLang);
if ( !bUserDefined ) if ( eSaveSysLang != eLoadSysLang )
bUserDefined = (pEntry->GetNewStandardDefined() > SV_NUMBERFORMATTER_VERSION); { // different SYSTEM locale
if ( bUserDefined ) if ( !pConverter )
{ pConverter = new SvNumberFormatter( xServiceManager, eSysLang );
if ( eSaveSysLang != eLoadSysLang ) pEntry->ConvertLanguage( *pConverter,
{ // different SYSTEM locale eSaveSysLang, eLoadSysLang, true );
if ( !pConverter )
pConverter = new SvNumberFormatter( xServiceManager, eSysLang );
if ( nVersion < SV_NUMBERFORMATTER_VERSION_KEYWORDS )
{
switch ( eSaveSysLang )
{
case LANGUAGE_GERMAN:
case LANGUAGE_GERMAN_SWISS:
case LANGUAGE_GERMAN_AUSTRIAN:
case LANGUAGE_GERMAN_LUXEMBOURG:
case LANGUAGE_GERMAN_LIECHTENSTEIN:
// these stay the same
pEntry->ConvertLanguage( *pConverter,
eSaveSysLang, eLoadSysLang, true );
break;
default:
// old English to new other
pEntry->ConvertLanguage( *pConverter,
LANGUAGE_ENGLISH_US, eLoadSysLang, true );
}
}
else
pEntry->ConvertLanguage( *pConverter,
eSaveSysLang, eLoadSysLang, true );
}
else
{ // not SYSTEM or same SYSTEM
if ( nVersion < SV_NUMBERFORMATTER_VERSION_KEYWORDS )
{
LanguageType eLoadLang;
bool bSystem;
if ( eLnge == LANGUAGE_SYSTEM )
{
eLoadLang = eSysLang;
bSystem = true;
}
else
{
eLoadLang = eLnge;
bSystem = false;
}
switch ( eLoadLang )
{
case LANGUAGE_GERMAN:
case LANGUAGE_GERMAN_SWISS:
case LANGUAGE_GERMAN_AUSTRIAN:
case LANGUAGE_GERMAN_LUXEMBOURG:
case LANGUAGE_GERMAN_LIECHTENSTEIN:
// these stay the same
break;
default:
// old English to new other
if ( !pConverter )
pConverter = new SvNumberFormatter( xServiceManager, eSysLang );
pEntry->ConvertLanguage( *pConverter,
LANGUAGE_ENGLISH_US, eLoadLang, bSystem );
}
}
}
} }
} }
if ( nOffset == 0 ) // Standard/General format if ( nOffset == 0 ) // Standard/General format
......
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