sc/sdi/scalc.sdi | 4 ++-- sc/source/ui/view/tabvwsha.cxx | 7 +++++-- sfx2/source/control/unoctitm.cxx | 8 ++++---- 3 files changed, 11 insertions(+), 8 deletions(-)
New commits: commit f0e5f1a845cd4b11c062c82aa3ce3cb08d179c82 Author: Henry Castro <hcas...@collabora.com> AuthorDate: Wed May 3 16:59:37 2023 -0400 Commit: Henry Castro <hcas...@collabora.com> CommitDate: Fri May 19 00:31:26 2023 +0200 sc: fix freeze row/column panes The UNO command state has changed to Point (row, tab) and Point (col, tab), Otherwise, if the row or column has the same value for all sheets, the state cache will not report any changes to the client side. Signed-off-by: Henry Castro <hcas...@collabora.com> Change-Id: I2080f5e664825d81c4fa4dbb2c5d782f188dae64 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151344 Tested-by: Andras Timar <andras.ti...@collabora.com> Reviewed-by: Andras Timar <andras.ti...@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151975 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> diff --git a/sc/sdi/scalc.sdi b/sc/sdi/scalc.sdi index 9da8595a56d5..cfd0f43f580b 100644 --- a/sc/sdi/scalc.sdi +++ b/sc/sdi/scalc.sdi @@ -1947,7 +1947,7 @@ SfxVoidItem FreezePanes SID_WINDOW_FIX GroupId = SfxGroupId::View; ] -SfxInt32Item FreezePanesColumn SID_WINDOW_FIX_COL +SfxPointItem FreezePanesColumn SID_WINDOW_FIX_COL [ AutoUpdate = FALSE, @@ -1964,7 +1964,7 @@ SfxInt32Item FreezePanesColumn SID_WINDOW_FIX_COL GroupId = SfxGroupId::View; ] -SfxInt32Item FreezePanesRow SID_WINDOW_FIX_ROW +SfxPointItem FreezePanesRow SID_WINDOW_FIX_ROW [ AutoUpdate = FALSE, diff --git a/sc/source/ui/view/tabvwsha.cxx b/sc/source/ui/view/tabvwsha.cxx index 9e86e5319de9..d7a6b554541b 100644 --- a/sc/source/ui/view/tabvwsha.cxx +++ b/sc/source/ui/view/tabvwsha.cxx @@ -31,6 +31,7 @@ #include <svl/numformat.hxx> #include <svl/zformat.hxx> #include <svl/int64item.hxx> +#include <svl/ptitem.hxx> #include <svl/srchitem.hxx> #include <svl/srchdefs.hxx> #include <svl/stritem.hxx> @@ -457,9 +458,11 @@ void ScTabViewShell::GetState( SfxItemSet& rSet ) case SID_WINDOW_FIX_COL: case SID_WINDOW_FIX_ROW: { + Point aPos; bool bIsCol = (nWhich == SID_WINDOW_FIX_COL); - sal_Int32 nFreezeIndex = rViewData.GetLOKSheetFreezeIndex(bIsCol); - rSet.Put(SfxInt32Item(nWhich, nFreezeIndex)); + aPos.setX(rViewData.GetLOKSheetFreezeIndex(bIsCol)); + aPos.setY(rViewData.GetTabNo()); + rSet.Put(SfxPointItem(nWhich, aPos)); } break; diff --git a/sfx2/source/control/unoctitm.cxx b/sfx2/source/control/unoctitm.cxx index d42054d3e33e..5d1cb00db3cf 100644 --- a/sfx2/source/control/unoctitm.cxx +++ b/sfx2/source/control/unoctitm.cxx @@ -1131,9 +1131,7 @@ static void InterceptLOKStateChangeEvent(sal_uInt16 nSID, SfxViewFrame* pViewFra aEvent.FeatureURL.Path == "StatusSelectionMode" || aEvent.FeatureURL.Path == "Signature" || aEvent.FeatureURL.Path == "SelectionMode" || - aEvent.FeatureURL.Path == "StatusBarFunc" || - aEvent.FeatureURL.Path == "FreezePanesColumn" || - aEvent.FeatureURL.Path == "FreezePanesRow") + aEvent.FeatureURL.Path == "StatusBarFunc") { sal_Int32 aInt32; @@ -1217,7 +1215,9 @@ static void InterceptLOKStateChangeEvent(sal_uInt16 nSID, SfxViewFrame* pViewFra aBuffer.append("disabled"); } } - else if (aEvent.FeatureURL.Path == "Position") + else if (aEvent.FeatureURL.Path == "Position" || + aEvent.FeatureURL.Path == "FreezePanesColumn" || + aEvent.FeatureURL.Path == "FreezePanesRow") { css::awt::Point aPoint;