summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2016-08-10 18:33:41 +0200
committerCaolán McNamara <caolanm@redhat.com>2016-08-16 20:01:56 +0000
commit3a3cd19df142dddeb74bee6a7a38ba8419cd86be (patch)
tree6a53aeb3350354aca7d0cb86ce48747f33e197fc
parent328d0fcbe2a9dbcb3431d6142073bfe0ea6792cb (diff)
XML number format: do not enquote space followed by minus, tdf#97837 follow-up
Which with [$kr.-406] #.##0,00;[RED][$kr.-406] -#.##0,00 saved and reloaded gave [$kr.-406] #.##0,00;[RED][$kr.-406]" -"#.##0,00 and thus an almost identical duplicated format with the built-in format. Change-Id: Ie39b97576842bc29ac301d2fe64f7331f6c57fc4 (cherry picked from commit 4d993ae8f267e35f7c030861a92226c940bb46cc) Reviewed-on: https://gerrit.libreoffice.org/28038 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--xmloff/source/style/xmlnumfi.cxx16
1 files changed, 9 insertions, 7 deletions
diff --git a/xmloff/source/style/xmlnumfi.cxx b/xmloff/source/style/xmlnumfi.cxx
index 9ea4e74e5d3d..3120bea98a99 100644
--- a/xmloff/source/style/xmlnumfi.cxx
+++ b/xmloff/source/style/xmlnumfi.cxx
@@ -792,14 +792,16 @@ static void lcl_EnquoteIfNecessary( OUStringBuffer& rContent, const SvXMLNumForm
bool bQuote = true;
sal_Int32 nLength = rContent.getLength();
- if ( ( nLength == 1 &&
- lcl_ValidChar( rContent[0], rParent ) ) ||
- ( nLength == 2 &&
- lcl_ValidChar( rContent[0], rParent ) &&
- rContent[1] == ' ' ) )
+ if ((nLength == 1 && lcl_ValidChar( rContent[0], rParent)) ||
+ (nLength == 2 &&
+ ((rContent[0] == ' ' && rContent[1] == '-') ||
+ (rContent[1] == ' ' && lcl_ValidChar( rContent[0], rParent)))))
{
- // don't quote single separator characters like space or percent,
- // or separator characters followed by space (used in date formats)
+ // Don't quote single separator characters like space or percent,
+ // or separator characters followed by space (used in date formats).
+ // Or space followed by minus (used in currency formats) that would
+ // lead to almost duplicated formats with built-in formats just with
+ // the difference of quotes.
bQuote = false;
}
else if ( rParent.GetType() == XML_TOK_STYLES_PERCENTAGE_STYLE && nLength > 1 )