diff options
author | Caolán McNamara <caolanm@redhat.com> | 2021-11-01 12:59:01 +0000 |
---|---|---|
committer | Xisco Fauli <xiscofauli@libreoffice.org> | 2021-11-02 11:39:53 +0100 |
commit | b3be435a61d9367dcaef8347f77b92c9ea0a94d9 (patch) | |
tree | 31d499ba6958826e4f36089078b3bec605ea3639 | |
parent | 4df823c52b02b7cb81e97c9b999a7e7a2296a602 (diff) |
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/+/124471
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
-rw-r--r-- | sc/source/ui/app/inputwin.cxx | 9 | ||||
-rw-r--r-- | sc/source/ui/inc/inputwin.hxx | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx index 862d729edffd..5a9a59659b12 100644 --- a/sc/source/ui/app/inputwin.cxx +++ b/sc/source/ui/app/inputwin.cxx @@ -1556,6 +1556,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(); @@ -1831,6 +1832,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) @@ -1848,6 +1856,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 86cc6594910c..6a746cf9fe83 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; |