diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2020-02-19 18:03:59 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2020-05-07 10:14:24 +0200 |
commit | fa77419c66544e050a612baf027a9f927c4fe0a4 (patch) | |
tree | fb49a829e276f13abf14ceda0de83ac1211805a1 /sw/source/core/layout/paintfrm.cxx | |
parent | 50d93ff6ea05bd49d68c34664529ec66262b14b0 (diff) |
sw table cell borders: add optional Word-compatible border collapsing
We always compared border width and other aspects only after that, Word
works with border weight according to their implementer notes.
So extend svx::frame::Style to be able to collapse borders using weights
and opt in for that from sw/ in case a compat mode (which is related to
tables, off by default and is set by the DOC/DOCX import) is set.
(cherry picked from commit e6fa52c2c371c7adc9c2c2cb18c3a8cf782cfa4b)
Change-Id: I1f682789302c88a0d326c6c0263ad3007441cb24
Diffstat (limited to 'sw/source/core/layout/paintfrm.cxx')
-rw-r--r-- | sw/source/core/layout/paintfrm.cxx | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx index 60b25866d073..a53e7b249dba 100644 --- a/sw/source/core/layout/paintfrm.cxx +++ b/sw/source/core/layout/paintfrm.cxx @@ -2717,11 +2717,23 @@ void SwTabFramePainter::Insert(const SwFrame& rFrame, const SvxBoxItem& rBoxItem bool const bVert = mrTabFrame.IsVertical(); bool const bR2L = mrTabFrame.IsRightToLeft(); + bool bWordTableCell = false; + SwViewShell* pShell = rFrame.getRootFrame()->GetCurrShell(); + if (pShell) + { + const IDocumentSettingAccess& rIDSA = pShell->GetDoc()->getIDocumentSettingAccess(); + bWordTableCell = rIDSA.get(DocumentSettingId::TABLE_ROW_KEEP); + } + // no scaling needed, it's all in the primitives and the target device svx::frame::Style aL(rBoxItem.GetLeft(), 1.0); + aL.SetWordTableCell(bWordTableCell); svx::frame::Style aR(rBoxItem.GetRight(), 1.0); + aR.SetWordTableCell(bWordTableCell); svx::frame::Style aT(rBoxItem.GetTop(), 1.0); + aT.SetWordTableCell(bWordTableCell); svx::frame::Style aB(rBoxItem.GetBottom(), 1.0); + aB.SetWordTableCell(bWordTableCell); aR.MirrorSelf(); aB.MirrorSelf(); |