i18nutil/source/utility/unicode.cxx | 2 +- sw/source/core/text/inftxt.hxx | 1 - sw/source/core/text/portxt.cxx | 10 ++++++++++ vcl/source/control/field.cxx | 11 ++++++++++- 4 files changed, 21 insertions(+), 3 deletions(-)
New commits: commit 6789e6de929c7685cf1573170534891aeffe5fa1 Author: Oliver-Rainer Wittmann <o...@apache.org> Date: Mon Jan 20 10:57:12 2014 +0000 Resolves: #i124039# assure correct line break for multi-lined Input Fields (cherry picked from commit 14e0270c3ebad9a1fb817fcfced2aa8ee2f3e3f0) Change-Id: If5664a5260e683cd5a80885b3f39b04f85de8db9 diff --git a/sw/source/core/text/inftxt.hxx b/sw/source/core/text/inftxt.hxx index b6e40b7..3ce3972 100644 --- a/sw/source/core/text/inftxt.hxx +++ b/sw/source/core/text/inftxt.hxx @@ -594,7 +594,6 @@ public: inline void Right( const SwTwips nNew ) { nRight = nNew; } inline SwTwips First() const { return nFirst; } inline void First( const SwTwips nNew ) { nFirst = nNew; } - inline SwTwips CurrLeft() const { return (nLineStart ? nLeft : nFirst); } inline KSHORT RealWidth() const { return nRealWidth; } inline void RealWidth( const KSHORT nNew ) { nRealWidth = nNew; } inline KSHORT ForcedLeftMargin() const { return nForcedLeftMargin; } diff --git a/sw/source/core/text/portxt.cxx b/sw/source/core/text/portxt.cxx index 50767f1..bab1eb8 100644 --- a/sw/source/core/text/portxt.cxx +++ b/sw/source/core/text/portxt.cxx @@ -733,6 +733,12 @@ sal_Bool SwTxtInputFldPortion::Format( SwTxtFormatInfo &rInf ) } else { + const sal_Int32 nFormerLineStart = rInf.GetLineStart(); + if ( !mbContainsInputFieldStart ) + { + rInf.SetLineStart( 0 ); + } + bRet = SwTxtPortion::Format( rInf ); if ( mbContainsInputFieldEnd ) @@ -749,6 +755,10 @@ sal_Bool SwTxtInputFldPortion::Format( SwTxtFormatInfo &rInf ) // adjust portion length accordingly SetLen( GetLen() + 1 ); } + else + { + rInf.SetLineStart( nFormerLineStart ); + } } } commit 062e6f76ba26d2c0a54a476a1168202bae2322a7 Author: Caolán McNamara <caol...@redhat.com> Date: Mon Jan 20 13:31:17 2014 +0000 Related: #i56998# use locale rules to format percentage Change-Id: I2cdeefc5a5a1ee970ee3da5191ceae28b58340a1 diff --git a/i18nutil/source/utility/unicode.cxx b/i18nutil/source/utility/unicode.cxx index 56daacd..0fb6b72 100644 --- a/i18nutil/source/utility/unicode.cxx +++ b/i18nutil/source/utility/unicode.cxx @@ -955,7 +955,7 @@ OUString SAL_CALL unicode::formatPercent(double dNumber, } UnicodeString output; - xF->format(dNumber, output); + xF->format(dNumber/100, output); return OUString(reinterpret_cast<const sal_Unicode *>(output.getBuffer()), output.length()); } diff --git a/vcl/source/control/field.cxx b/vcl/source/control/field.cxx index 9a0e569..b765ded 100644 --- a/vcl/source/control/field.cxx +++ b/vcl/source/control/field.cxx @@ -1423,13 +1423,22 @@ void MetricFormatter::SetValue( sal_Int64 nNewValue, FieldUnit eInUnit ) OUString MetricFormatter::CreateFieldText( sal_Int64 nValue ) const { + //whether percent is separated from its number is locale + //specific, pawn it off to icu to decide + if (meUnit == FUNIT_PERCENT) + { + double dValue = nValue; + dValue /= ImplPower10(GetDecimalDigits()); + return unicode::formatPercent(dValue, Application::GetSettings().GetUILanguageTag()); + } + OUString aStr = NumericFormatter::CreateFieldText( nValue ); if( meUnit == FUNIT_CUSTOM ) aStr += maCustomUnitText; else { - if (meUnit != FUNIT_NONE && meUnit != FUNIT_PERCENT && meUnit != FUNIT_DEGREE) + if (meUnit != FUNIT_NONE && meUnit != FUNIT_DEGREE) aStr += " "; aStr += ImplMetricToString( meUnit ); }
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits