diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2019-08-26 19:44:14 +0900 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2019-08-26 23:20:18 +0200 |
commit | 19d88b15ec52a0560b96c5e71b5a328952ba7f28 (patch) | |
tree | 64a57cd62da29d93737273b1cd9d43f9c078ce0a /sw | |
parent | e53c81a54d2cc2a0f05151ab9be8fce29c0b843d (diff) |
lok: change table border position param. from new pos. to offset
To implement table border position changing for Impress requires
that instead of parameter with new absolute position, we use
offset from the previous position.
It's easy to change the code for Writer to do this instead of
Impress so this commit does this.
Change-Id: I2d3ebe5ba0dc30fb8b4a58cc9ca820cc8330204b
Reviewed-on: https://gerrit.libreoffice.org/78121
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/uibase/uiview/viewtab.cxx | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/sw/source/uibase/uiview/viewtab.cxx b/sw/source/uibase/uiview/viewtab.cxx index 5a13260040d3..378070794a53 100644 --- a/sw/source/uibase/uiview/viewtab.cxx +++ b/sw/source/uibase/uiview/viewtab.cxx @@ -1015,16 +1015,16 @@ void SwView::ExecTabWin( SfxRequest const & rReq ) { const SfxPoolItem *pBorderType; const SfxPoolItem *pIndex; - const SfxPoolItem *pNewPosition; + const SfxPoolItem *pOffset; constexpr long constDistanceOffset = 40; if (pReqArgs->GetItemState(SID_TABLE_BORDER_TYPE, true, &pBorderType) == SfxItemState::SET && pReqArgs->GetItemState(SID_TABLE_BORDER_INDEX, true, &pIndex) == SfxItemState::SET - && pReqArgs->GetItemState(SID_TABLE_BORDER_NEW_POSITION, true, &pNewPosition) == SfxItemState::SET) + && pReqArgs->GetItemState(SID_TABLE_BORDER_OFFSET, true, &pOffset) == SfxItemState::SET) { const OUString sType = static_cast<const SfxStringItem*>(pBorderType)->GetValue(); const sal_uInt16 nIndex = static_cast<const SfxUInt16Item*>(pIndex)->GetValue(); - const sal_Int32 nNewPosition = static_cast<const SfxInt32Item*>(pNewPosition)->GetValue(); + const sal_Int32 nOffset = static_cast<const SfxInt32Item*>(pOffset)->GetValue(); if (sType.startsWith("column")) { @@ -1034,23 +1034,23 @@ void SwView::ExecTabWin( SfxRequest const & rReq ) if (sType == "column-left") { auto & rEntry = aTabCols.GetEntry(0); - long nPosition = std::min(long(nNewPosition), rEntry.nPos - constDistanceOffset); + long nNewPosition = aTabCols.GetLeft() + long(nOffset); + long nPosition = std::min(nNewPosition, rEntry.nPos - constDistanceOffset); aTabCols.SetLeft(nPosition); } else if (sType == "column-right") { auto & rEntry = aTabCols.GetEntry(aTabCols.Count() - 1); - long nPosition = std::max(long(nNewPosition), rEntry.nPos + constDistanceOffset); + long nNewPosition = aTabCols.GetRight() + long(nOffset); + long nPosition = std::max(nNewPosition, rEntry.nPos + constDistanceOffset); aTabCols.SetRight(nPosition); } - else if (sType == "column-middle") + else if (sType == "column-middle" && nIndex < aTabCols.Count()) { - if (nIndex < aTabCols.Count()) - { - auto & rEntry = aTabCols.GetEntry(nIndex); - long nPosition = std::clamp(long(nNewPosition), rEntry.nMin, rEntry.nMax - constDistanceOffset); - rEntry.nPos = nPosition; - } + auto & rEntry = aTabCols.GetEntry(nIndex); + long nNewPosition = rEntry.nPos + long(nOffset); + long nPosition = std::clamp(nNewPosition, rEntry.nMin, rEntry.nMax - constDistanceOffset); + rEntry.nPos = nPosition; } rSh.SetTabCols(aTabCols, false); @@ -1063,23 +1063,23 @@ void SwView::ExecTabWin( SfxRequest const & rReq ) if (sType == "row-left") { auto & rEntry = aTabRows.GetEntry(0); - long nPosition = std::min(long(nNewPosition), rEntry.nPos - constDistanceOffset); + long nNewPosition = aTabRows.GetLeft() + long(nOffset); + long nPosition = std::min(nNewPosition, rEntry.nPos - constDistanceOffset); aTabRows.SetLeft(nPosition); } else if (sType == "row-right") { auto & rEntry = aTabRows.GetEntry(aTabRows.Count() - 1); - long nPosition = std::max(long(nNewPosition), rEntry.nPos + constDistanceOffset); + long nNewPosition = aTabRows.GetRight() + long(nOffset); + long nPosition = std::max(nNewPosition, rEntry.nPos + constDistanceOffset); aTabRows.SetRight(nPosition); } - else if (sType == "row-middle") + else if (sType == "row-middle" && nIndex < aTabRows.Count()) { - if (nIndex < aTabRows.Count()) - { - auto & rEntry = aTabRows.GetEntry(nIndex); - long nPosition = std::clamp(long(nNewPosition), rEntry.nMin, rEntry.nMax - constDistanceOffset); - rEntry.nPos = nPosition; - } + auto & rEntry = aTabRows.GetEntry(nIndex); + long nNewPosition = rEntry.nPos + long(nOffset); + long nPosition = std::clamp(nNewPosition, rEntry.nMin, rEntry.nMax - constDistanceOffset); + rEntry.nPos = nPosition; } rSh.SetTabRows(aTabRows, false); |