summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/sfx2/sfxsids.hrc2
-rw-r--r--include/svx/svxids.hrc3
-rw-r--r--svx/sdi/svx.sdi2
-rw-r--r--sw/source/uibase/uiview/viewtab.cxx42
4 files changed, 25 insertions, 24 deletions
diff --git a/include/sfx2/sfxsids.hrc b/include/sfx2/sfxsids.hrc
index b535f26e7489..1dcc40fc8ee4 100644
--- a/include/sfx2/sfxsids.hrc
+++ b/include/sfx2/sfxsids.hrc
@@ -567,7 +567,7 @@ class SvxSearchItem;
#define SID_RULER_MARGIN2 (SID_SVX_START + 1064)
#define SID_TABLE_BORDER_TYPE (SID_SVX_START + 1065)
#define SID_TABLE_BORDER_INDEX (SID_SVX_START + 1066)
-#define SID_TABLE_BORDER_NEW_POSITION (SID_SVX_START + 1067)
+#define SID_TABLE_BORDER_OFFSET (SID_SVX_START + 1067)
#define FID_SVX_START (SID_LIB_START + 500)
#define FID_SEARCH_NOW (FID_SVX_START + 2)
diff --git a/include/svx/svxids.hrc b/include/svx/svxids.hrc
index e4851b4f2fb5..cd7a1698b987 100644
--- a/include/svx/svxids.hrc
+++ b/include/svx/svxids.hrc
@@ -241,12 +241,13 @@ class SvxSetItem;
#define SID_ATTR_TRANSFORM_ROT_Y TypedWhichId<SfxInt32Item>( SID_SVX_START + 94 )
#define SID_ATTR_TRANSFORM_ANGLE TypedWhichId<SfxInt32Item>( SID_SVX_START + 95 )
#define SID_ATTR_TRANSFORM_DELTA_ANGLE TypedWhichId<SfxInt32Item>( SID_SVX_START + 96 )
-#define SID_TABLE_CHANGE_CURRENT_BORDER_POSITION ( SID_SVX_START + 100 )
+// CAUTION! Range <96..100> used by SFX2 (!)
#define SID_SIZE_ALL ( SID_SVX_START + 101 )
#define SID_DRAW_LINE ( SID_SVX_START + 102 )
#define SID_DRAW_XLINE ( SID_SVX_START + 103 )
#define SID_DRAW_RECT ( SID_SVX_START + 104 )
#define SID_DRAW_RECT_ROUND ( SID_SVX_START + 105 )
+#define SID_TABLE_CHANGE_CURRENT_BORDER_POSITION ( SID_SVX_START + 106 )
#define SID_DRAW_ELLIPSE ( SID_SVX_START + 110 )
#define SID_DRAW_PIE ( SID_SVX_START + 112 )
#define SID_DRAW_ARC ( SID_SVX_START + 114 )
diff --git a/svx/sdi/svx.sdi b/svx/sdi/svx.sdi
index 48810a0f2002..8e977c82173c 100644
--- a/svx/sdi/svx.sdi
+++ b/svx/sdi/svx.sdi
@@ -7209,7 +7209,7 @@ SfxVoidItem RulerChangeState SID_RULER_CHANGE_STATE
SfxVoidItem TableChangeCurrentBorderPosition SID_TABLE_CHANGE_CURRENT_BORDER_POSITION
(SfxStringItem BorderType SID_TABLE_BORDER_TYPE,
SfxUInt16Item Index SID_TABLE_BORDER_INDEX,
- SfxInt32Item NewPosition SID_TABLE_BORDER_NEW_POSITION)
+ SfxInt32Item Offset SID_TABLE_BORDER_OFFSET)
[
AutoUpdate = FALSE,
FastCall = TRUE,
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);