if we have a number formatter then use it, dammit..

Change-Id: I2d70bed4d9cf6f0ef4556a327c51fc5c10fcd2be
This commit is contained in:
Eike Rathke
2015-08-10 17:12:45 +02:00
parent ae9a59382f
commit 0f4b3cb7d3
+17 -8
View File
@@ -1243,16 +1243,25 @@ sal_Int32 DiagramHelper::getDateTimeInputNumberFormat( const Reference< util::XN
sal_Int32 DiagramHelper::getPercentNumberFormat( const Reference< util::XNumberFormatsSupplier >& xNumberFormatsSupplier )
{
sal_Int32 nRet=-1;
Reference< util::XNumberFormats > xNumberFormats( xNumberFormatsSupplier->getNumberFormats() );
if( xNumberFormats.is() )
const LanguageTag& rLanguageTag = Application::GetSettings().GetLanguageTag();
NumberFormatterWrapper aNumberFormatterWrapper( xNumberFormatsSupplier );
SvNumberFormatter* pNumFormatter = aNumberFormatterWrapper.getSvNumberFormatter();
if( pNumFormatter )
{
bool bCreate = true;
const LocaleDataWrapper& rLocaleDataWrapper = Application::GetSettings().GetLocaleDataWrapper();
Sequence<sal_Int32> aKeySeq = xNumberFormats->queryKeys( util::NumberFormat::PERCENT,
rLocaleDataWrapper.getLanguageTag().getLocale(), bCreate );
if( aKeySeq.getLength() )
nRet = pNumFormatter->GetStandardFormat( util::NumberFormat::PERCENT, rLanguageTag.getLanguageType() );
}
else
{
Reference< util::XNumberFormats > xNumberFormats( xNumberFormatsSupplier->getNumberFormats() );
if( xNumberFormats.is() )
{
nRet = aKeySeq[0];
bool bCreate = true;
Sequence<sal_Int32> aKeySeq = xNumberFormats->queryKeys( util::NumberFormat::PERCENT,
rLanguageTag.getLocale(), bCreate );
if( aKeySeq.getLength() )
{
nRet = aKeySeq[0];
}
}
}
return nRet;