Kaydet (Commit) 61a3ace9 authored tarafından Julien Nabet's avatar Julien Nabet Kaydeden (comit) Caolán McNamara

Related tdf#50133: Wrong underlining in Reports

By running some tests, I noticed double wave didn't appear when opening report in non edit mode.
First you must know that to indicate "double wave", xml contains these 2 information:
style:text-underline-style="wave" style:text-underline-type="double"

The problem is the reading order of the parser doesn't seem the same each time.
So if it reads style then type, it's ok thanks to this part:
    132             case awt::FontUnderline::DOUBLE:
    133                 // A double line style has priority over a bold line style,
    134                 // but not over the line style itself.
    135                 switch( eUnderline )
    136                 {
    137                 case awt::FontUnderline::SINGLE:
    138                 case awt::FontUnderline::BOLD:
    139                     break;
    140                 case awt::FontUnderline::WAVE:
    141                 case awt::FontUnderline::BOLDWAVE:
    142                     eNewUnderline = awt::FontUnderline::DOUBLEWAVE;
    143                     break;

but if the parser read type in the first place then style, the case FontUnderline "DOUBLEWAVE" wasn't managed

Change-Id: Ie090507898e537827eebaae157dfac248baa43f1
Reviewed-on: https://gerrit.libreoffice.org/14801Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst 98c532b3
...@@ -233,7 +233,9 @@ bool XMLUnderlineStylePropHdl::importXML( const OUString& rStrImpValue, uno::Any ...@@ -233,7 +233,9 @@ bool XMLUnderlineStylePropHdl::importXML( const OUString& rStrImpValue, uno::Any
eNewUnderline = awt::FontUnderline::BOLDDASHDOTDOT; eNewUnderline = awt::FontUnderline::BOLDDASHDOTDOT;
break; break;
case awt::FontUnderline::WAVE: case awt::FontUnderline::WAVE:
if( awt::FontUnderline::BOLD == eUnderline ) if( awt::FontUnderline::DOUBLE == eUnderline )
eNewUnderline = awt::FontUnderline::DOUBLEWAVE;
else if( awt::FontUnderline::BOLD == eUnderline )
eNewUnderline = awt::FontUnderline::BOLDWAVE; eNewUnderline = awt::FontUnderline::BOLDWAVE;
break; break;
case awt::FontUnderline::SMALLWAVE: case awt::FontUnderline::SMALLWAVE:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment