summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorHenry Castro <hcastro@collabora.com>2023-02-13 15:55:02 -0400
committerAndras Timar <andras.timar@collabora.com>2023-02-15 12:16:24 +0000
commitd73a947288788ee59a4a1a2f0b50ae1cb6e55cef (patch)
tree820f0df46d6385bd416d0d7c6061c0fe9b6e9c32 /sc
parent235c892393f8c1459aa68447a0e3621e2b3cd10c (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.cxx9
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
{