MarkupParser: Don't append line-break to last paragraph.
This commit is contained in:
parent
547466c035
commit
38c65defc5
@ -157,13 +157,13 @@ MarkupParser::_ParseText(const BString& text)
|
||||
case '\n':
|
||||
_CopySpan(text, start, offset);
|
||||
if (offset > 0 && c[-1] != ' ')
|
||||
_FinishParagraph();
|
||||
_FinishParagraph(offset >= charCount - 1);
|
||||
start = offset + 1;
|
||||
break;
|
||||
|
||||
case '\0':
|
||||
_CopySpan(text, start, offset);
|
||||
_FinishParagraph();
|
||||
_FinishParagraph(true);
|
||||
start = offset + 1;
|
||||
break;
|
||||
|
||||
@ -208,11 +208,12 @@ MarkupParser::_ParseText(const BString& text)
|
||||
&& c[0] == '=' && c[1] == '\n') {
|
||||
|
||||
_CopySpan(text, start, offset - 1);
|
||||
_FinishParagraph();
|
||||
|
||||
offset += 2;
|
||||
c += 2;
|
||||
|
||||
_FinishParagraph(offset >= charCount - 1);
|
||||
|
||||
start = offset + 1;
|
||||
}
|
||||
break;
|
||||
@ -284,9 +285,11 @@ MarkupParser::_ToggleStyle(const CharacterStyle& style)
|
||||
|
||||
|
||||
void
|
||||
MarkupParser::_FinishParagraph()
|
||||
MarkupParser::_FinishParagraph(bool isLast)
|
||||
{
|
||||
fCurrentParagraph.Append(TextSpan("\n", *fCurrentCharacterStyle));
|
||||
if (!isLast)
|
||||
fCurrentParagraph.Append(TextSpan("\n", *fCurrentCharacterStyle));
|
||||
|
||||
fTextDocument->Append(fCurrentParagraph);
|
||||
fCurrentParagraph.Clear();
|
||||
fCurrentParagraph.SetStyle(fParagraphStyle);
|
||||
|
@ -40,7 +40,7 @@ private:
|
||||
void _CopySpan(const BString& text,
|
||||
int32& start, int32 end);
|
||||
void _ToggleStyle(const CharacterStyle& style);
|
||||
void _FinishParagraph();
|
||||
void _FinishParagraph(bool isLast);
|
||||
|
||||
private:
|
||||
CharacterStyle fNormalStyle;
|
||||
|
Loading…
x
Reference in New Issue
Block a user