diff options
author | Henry Castro <hcastro@collabora.com> | 2023-02-13 15:55:02 -0400 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2023-02-15 12:16:24 +0000 |
commit | d73a947288788ee59a4a1a2f0b50ae1cb6e55cef (patch) | |
tree | 820f0df46d6385bd416d0d7c6061c0fe9b6e9c32 /sc | |
parent | 235c892393f8c1459aa68447a0e3621e2b3cd10c (diff) |
editeng: add method SetSingleLineCharAttribs
If the EditTextObject has a paragraph with multiple lines
and characters attributes, in single line paragraph case
it should preserve the character attributes.
Signed-off-by: Henry Castro <hcastro@collabora.com>
Change-Id: I6f02496983cc86ac1b1773e924c151a30200e9f3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146945
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/ui/view/output2.cxx | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sc/source/ui/view/output2.cxx b/sc/source/ui/view/output2.cxx index e54e53cceac3..6c7905c243c8 100644 --- a/sc/source/ui/view/output2.cxx +++ b/sc/source/ui/view/output2.cxx @@ -2436,8 +2436,15 @@ bool ScOutputData::DrawEditParam::readCellContent( later the attributes are loaded, so no way to ignore line breaks */ if (!mbBreak && pData->GetSharedStrings().size() > 1) { - mpEngine->SetControlWord(mpEngine->GetControlWord() | EEControlBits::SINGLELINE); + EEControlBits nControlWord = mpEngine->GetControlWord() | EEControlBits::SINGLELINE; + bool bUndoAttribs = bool(nControlWord & EEControlBits::UNDOATTRIBS); + if (bUndoAttribs) + nControlWord &= ~EEControlBits::UNDOATTRIBS; + mpEngine->SetControlWord(nControlWord); mpEngine->SetTextCurrentDefaults(maString); + mpEngine->SetSingleLineCharAttribs(pData); + if (bUndoAttribs) + mpEngine->SetControlWord(nControlWord | EEControlBits::UNDOATTRIBS); } else { |