parent
7f3c4d9b6d
commit
0f440cc06f
@ -0,0 +1,122 @@
|
||||
# Calculate format=diff merge(app-office/libreoffice)=>5.4.2.2,5.4.4
|
||||
From 985523eee724f41eefb3aa84edcfcd1a4a3cf3db Mon Sep 17 00:00:00 2001
|
||||
From: Eike Rathke <erack@redhat.com>
|
||||
Date: Fri, 17 Nov 2017 00:16:17 +0100
|
||||
Subject: Resolves: tdf#113889 no date particle reordering when exporting to
|
||||
Excel
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Change-Id: I45667a67c6c69106d86755ed41438f23e019dfea
|
||||
(cherry picked from commit eb8bd7f21103ed2349b44c954db977709de2e4ec)
|
||||
Reviewed-on: https://gerrit.libreoffice.org/44841
|
||||
Tested-by: Jenkins <ci@libreoffice.org>
|
||||
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
||||
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
||||
---
|
||||
include/svl/zforlist.hxx | 3 ++-
|
||||
svl/source/numbers/zforlist.cxx | 7 ++++---
|
||||
svl/source/numbers/zforscan.cxx | 6 +++++-
|
||||
svl/source/numbers/zforscan.hxx | 4 +++-
|
||||
4 files changed, 14 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/include/svl/zforlist.hxx b/include/svl/zforlist.hxx
|
||||
index f6f3389..82e30ce 100644
|
||||
--- a/include/svl/zforlist.hxx
|
||||
+++ b/include/svl/zforlist.hxx
|
||||
@@ -390,7 +390,8 @@ public:
|
||||
language/country eNewLnge */
|
||||
bool PutandConvertEntry( OUString& rString, sal_Int32& nCheckPos,
|
||||
short& nType, sal_uInt32& nKey,
|
||||
- LanguageType eLnge, LanguageType eNewLnge );
|
||||
+ LanguageType eLnge, LanguageType eNewLnge,
|
||||
+ bool bForExcelExport = false );
|
||||
|
||||
/** Same as <method>PutandConvertEntry</method> but the format code string
|
||||
is considered to be of the System language/country eLnge and is
|
||||
diff --git a/svl/source/numbers/zforlist.cxx b/svl/source/numbers/zforlist.cxx
|
||||
index 7db6810..9a2e443 100644
|
||||
--- a/svl/source/numbers/zforlist.cxx
|
||||
+++ b/svl/source/numbers/zforlist.cxx
|
||||
@@ -636,14 +636,15 @@ bool SvNumberFormatter::PutandConvertEntry(OUString& rString,
|
||||
short& nType,
|
||||
sal_uInt32& nKey,
|
||||
LanguageType eLnge,
|
||||
- LanguageType eNewLnge)
|
||||
+ LanguageType eNewLnge,
|
||||
+ bool bForExcelExport )
|
||||
{
|
||||
bool bRes;
|
||||
if (eNewLnge == LANGUAGE_DONTKNOW)
|
||||
{
|
||||
eNewLnge = IniLnge;
|
||||
}
|
||||
- pFormatScanner->SetConvertMode(eLnge, eNewLnge);
|
||||
+ pFormatScanner->SetConvertMode(eLnge, eNewLnge, false, bForExcelExport);
|
||||
bRes = PutEntry(rString, nCheckPos, nType, nKey, eLnge);
|
||||
pFormatScanner->SetConvertMode(false);
|
||||
return bRes;
|
||||
@@ -821,7 +822,7 @@ OUString SvNumberFormatter::GetFormatStringForExcel( sal_uInt32 nKey, const NfKe
|
||||
short nType = css::util::NumberFormat::DEFINED;
|
||||
sal_uInt32 nTempKey;
|
||||
OUString aTemp( pEntry->GetFormatstring());
|
||||
- rTempFormatter.PutandConvertEntry( aTemp, nCheckPos, nType, nTempKey, nLang, LANGUAGE_ENGLISH_US);
|
||||
+ rTempFormatter.PutandConvertEntry( aTemp, nCheckPos, nType, nTempKey, nLang, LANGUAGE_ENGLISH_US, true);
|
||||
SAL_WARN_IF( nCheckPos != 0, "svl.numbers",
|
||||
"SvNumberFormatter::GetFormatStringForExcel - format code not convertible");
|
||||
if (nTempKey != NUMBERFORMAT_ENTRY_NOT_FOUND)
|
||||
diff --git a/svl/source/numbers/zforscan.cxx b/svl/source/numbers/zforscan.cxx
|
||||
index b3fae53..cd09a44 100644
|
||||
--- a/svl/source/numbers/zforscan.cxx
|
||||
+++ b/svl/source/numbers/zforscan.cxx
|
||||
@@ -47,6 +47,7 @@ ImpSvNumberformatScan::ImpSvNumberformatScan( SvNumberFormatter* pFormatterP )
|
||||
pFormatter = pFormatterP;
|
||||
xNFC = css::i18n::NumberFormatMapper::create( pFormatter->GetComponentContext() );
|
||||
bConvertMode = false;
|
||||
+ mbConvertForExcelExport = false;
|
||||
bConvertSystemToSystem = false;
|
||||
//! All keywords MUST be UPPERCASE!
|
||||
sKeyword[NF_KEY_E] = "E"; // Exponent
|
||||
@@ -1580,7 +1581,10 @@ sal_Int32 ImpSvNumberformatScan::FinalScan( OUString& rString )
|
||||
pLoc = pFormatter->GetLocaleData();
|
||||
//! init new keywords
|
||||
InitKeywords();
|
||||
- bNewDateOrder = (eOldDateOrder != pLoc->getDateOrder());
|
||||
+ // Adapt date order to target locale, but Excel does not handle date
|
||||
+ // particle re-ordering for the target locale when loading documents,
|
||||
+ // though it does exchange separators, tdf#113889
|
||||
+ bNewDateOrder = (!mbConvertForExcelExport && eOldDateOrder != pLoc->getDateOrder());
|
||||
}
|
||||
const CharClass* pChrCls = pFormatter->GetCharClass();
|
||||
|
||||
diff --git a/svl/source/numbers/zforscan.hxx b/svl/source/numbers/zforscan.hxx
|
||||
index 13d5b1a..5e5d981 100644
|
||||
--- a/svl/source/numbers/zforscan.hxx
|
||||
+++ b/svl/source/numbers/zforscan.hxx
|
||||
@@ -124,12 +124,13 @@ public:
|
||||
}
|
||||
|
||||
void SetConvertMode(LanguageType eTmpLge, LanguageType eNewLge,
|
||||
- bool bSystemToSystem = false )
|
||||
+ bool bSystemToSystem = false, bool bForExcelExport = false)
|
||||
{
|
||||
bConvertMode = true;
|
||||
eNewLnge = eNewLge;
|
||||
eTmpLnge = eTmpLge;
|
||||
bConvertSystemToSystem = bSystemToSystem;
|
||||
+ mbConvertForExcelExport = bForExcelExport;
|
||||
}
|
||||
// Only changes the bool variable, in order to temporarily pause the convert mode
|
||||
void SetConvertMode(bool bMode) { bConvertMode = bMode; }
|
||||
@@ -183,6 +184,7 @@ private: // Private section
|
||||
OUString sErrStr; // String for error output
|
||||
|
||||
bool bConvertMode; // Set in the convert mode
|
||||
+ bool mbConvertForExcelExport; // Set in the convert mode whether to convert for Excel export
|
||||
|
||||
LanguageType eNewLnge; // Language/country which the scanned string is converted to (for Excel filter)
|
||||
LanguageType eTmpLnge; // Language/country which the scanned string is converted from (for Excel filter)
|
||||
--
|
||||
cgit v1.1
|
||||
|
Loading…
Reference in new issue