sc/source/ui/app/inputwin.cxx | 9 +++++++++ sc/source/ui/inc/inputwin.hxx | 1 + 2 files changed, 10 insertions(+)
New commits: commit 32ecb028dc7c803750eabaa27ffd1257e3f53eb2 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Mon Nov 1 12:59:01 2021 +0000 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Mon Nov 1 17:11:50 2021 +0100 multiline calc inputbar not redrawing and adjusting scrollbar on delete of text backspace is ok, but with delete when a line is deleted the scrolled up lines are visually duplicated at the bottom Change-Id: I22e91aa3c3213876d36c593cae7989e8913bffc3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124548 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx index 32412c39b1be..b601fc4d5c34 100644 --- a/sc/source/ui/app/inputwin.cxx +++ b/sc/source/ui/app/inputwin.cxx @@ -1599,6 +1599,7 @@ void ScTextWnd::InitEditEngine() lcl_ModifyRTLVisArea( m_xEditView.get() ); m_xEditEngine->SetModifyHdl(LINK(this, ScTextWnd, ModifyHdl)); + m_xEditEngine->SetStatusEventHdl(LINK(this, ScTextWnd, EditStatusHdl)); if (!maAccTextDatas.empty()) maAccTextDatas.back()->StartEdit(); @@ -1874,6 +1875,13 @@ IMPL_LINK_NOARG(ScTextWnd, ModifyHdl, LinkParamNone*, void) } } +IMPL_LINK_NOARG(ScTextWnd, EditStatusHdl, EditStatus&, void) +{ + SetScrollBarRange(); + DoScroll(); + Invalidate(); +} + void ScTextWnd::StopEditEngine( bool bAll ) { if (!m_xEditEngine) @@ -1891,6 +1899,7 @@ void ScTextWnd::StopEditEngine( bool bAll ) aString = m_xEditEngine->GetText(); bIsInsertMode = m_xEditView->IsInsertMode(); bool bSelection = m_xEditView->HasSelection(); + m_xEditEngine->SetStatusEventHdl(Link<EditStatus&, void>()); m_xEditEngine->SetModifyHdl(Link<LinkParamNone*,void>()); m_xEditView.reset(); m_xEditEngine.reset(); diff --git a/sc/source/ui/inc/inputwin.hxx b/sc/source/ui/inc/inputwin.hxx index aa90dc7c4f3e..0e056fa22c29 100644 --- a/sc/source/ui/inc/inputwin.hxx +++ b/sc/source/ui/inc/inputwin.hxx @@ -111,6 +111,7 @@ public: void DoScroll(); DECL_LINK(ModifyHdl, LinkParamNone*, void); + DECL_LINK(EditStatusHdl, EditStatus&, void); protected: virtual void Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect ) override;