summaryrefslogtreecommitdiffstats
path: root/svl/source
diff options
context:
space:
mode:
authorJohann Messner <johann.messner@jku.at>2012-08-28 10:51:15 +0100
committerNoel Power <noel.power@suse.com>2012-08-28 11:12:44 +0100
commitf727644ad18838a78525256623a33f864fe13fb2 (patch)
tree93523dc27d562b757a8ce81c9fea1c7a9fa65f9a /svl/source
parentfdo#52052 fix RTF import of page breaks on landscape pages (diff)
downloadcore-f727644ad18838a78525256623a33f864fe13fb2.tar.gz
core-f727644ad18838a78525256623a33f864fe13fb2.zip
tweaking the "fill in character" support in Calc Number Format Strings
a) changed ordering of repeat code marker ( 0x1b ) and repeat code to more sensible ( and correct imo ) order b) prevent some possible div/0 errors c) added some missing formatter 'GetOutputString' calls
Diffstat (limited to 'svl/source')
-rw-r--r--svl/source/numbers/zforlist.cxx14
-rw-r--r--svl/source/numbers/zformat.cxx6
2 files changed, 15 insertions, 5 deletions
diff --git a/svl/source/numbers/zforlist.cxx b/svl/source/numbers/zforlist.cxx
index 2dbed7993c03..c5172a2972b9 100644
--- a/svl/source/numbers/zforlist.cxx
+++ b/svl/source/numbers/zforlist.cxx
@@ -1441,7 +1441,8 @@ void SvNumberFormatter::GetOutputString(const double& fOutNumber,
void SvNumberFormatter::GetOutputString(String& sString,
sal_uInt32 nFIndex,
String& sOutString,
- Color** ppColor )
+ Color** ppColor,
+ bool bUseStarFormat )
{
SvNumberformat* pFormat = GetFormatEntry( nFIndex );
if (!pFormat)
@@ -1454,7 +1455,11 @@ void SvNumberFormatter::GetOutputString(String& sString,
else
{
ChangeIntl(pFormat->GetLanguage());
+ if ( bUseStarFormat )
+ pFormat->SetStarFormatSupport( true );
pFormat->GetOutputString(sString, sOutString, ppColor);
+ if ( bUseStarFormat )
+ pFormat->SetStarFormatSupport( false );
}
}
@@ -1485,7 +1490,8 @@ void SvNumberFormatter::GetOutputString(const double& fOutNumber,
void SvNumberFormatter::GetOutputString(rtl::OUString& sString,
sal_uInt32 nFIndex,
rtl::OUString& sOutString,
- Color** ppColor)
+ Color** ppColor,
+ bool bUseStarFormat )
{
SvNumberformat* pFormat = GetFormatEntry( nFIndex );
if (!pFormat)
@@ -1500,7 +1506,11 @@ void SvNumberFormatter::GetOutputString(rtl::OUString& sString,
ChangeIntl(pFormat->GetLanguage());
String aString = sString;
String aOutString = sOutString;
+ if ( bUseStarFormat )
+ pFormat->SetStarFormatSupport( true );
pFormat->GetOutputString(aString, aOutString, ppColor);
+ if ( bUseStarFormat )
+ pFormat->SetStarFormatSupport( false );
sString = aString;
sOutString = aOutString;
}
diff --git a/svl/source/numbers/zformat.cxx b/svl/source/numbers/zformat.cxx
index 729ea17c6171..8c30d2442390 100644
--- a/svl/source/numbers/zformat.cxx
+++ b/svl/source/numbers/zformat.cxx
@@ -3881,8 +3881,8 @@ bool SvNumberformat::ImpGetNumberOutput(double fNumber,
case NF_SYMBOLTYPE_STAR:
if( bStarFlag )
{
- sStr.Insert( (sal_Unicode) 0x1B, k /*++*/ );
sStr.Insert(rInfo.sStrArray[j].GetChar(1),k);
+ sStr.Insert( (sal_Unicode) 0x1B, k );
bRes = true;
}
break;
@@ -4001,8 +4001,8 @@ bool SvNumberformat::ImpNumberFillWithThousands(
case NF_SYMBOLTYPE_STAR:
if( bStarFlag )
{
- sStr.Insert( (sal_Unicode) 0x1B, k/*++*/ );
sStr.Insert(rInfo.sStrArray[j].GetChar(1),k);
+ sStr.Insert( (sal_Unicode) 0x1B, k );
bRes = true;
}
break;
@@ -4165,8 +4165,8 @@ bool SvNumberformat::ImpNumberFill( String& sStr, // number string
case NF_SYMBOLTYPE_STAR:
if( bStarFlag )
{
- sStr.Insert( sal_Unicode(0x1B), k++ );
sStr.Insert(rInfo.sStrArray[j].GetChar(1),k);
+ sStr.Insert( sal_Unicode(0x1B), k );
bRes = true;
}
break;