Resolves: rhbz#1931423 start update timer in IM events as well as keyevents
Change-Id: I5a72adebd34c3983e7a414110c3192d05b725e45
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111490
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
diff --git a/starmath/inc/edit.hxx b/starmath/inc/edit.hxx
index 300a414..60d0ad2 100644
--- a/starmath/inc/edit.hxx
+++ b/starmath/inc/edit.hxx
@@ -88,6 +88,7 @@ class SmEditWindow final : public vcl::Window, public DropTargetHelper
void InitScrollBars();
void InvalidateSlots();
void UpdateStatus(bool bSetDocModified);
void UserPossiblyChangedText();
public:
explicit SmEditWindow(SmCmdBoxWindow& rMyCmdBoxWin);
diff --git a/starmath/source/edit.cxx b/starmath/source/edit.cxx
index 64d1fc3..99ce7c0 100644
--- a/starmath/source/edit.cxx
+++ b/starmath/source/edit.cxx
@@ -365,7 +365,10 @@ void SmEditWindow::Command(const CommandEvent& rCEvt)
if (bForwardEvt)
{
if (pEditView)
pEditView->Command( rCEvt );
{
pEditView->Command(rCEvt);
UserPossiblyChangedText();
}
else
Window::Command (rCEvt);
}
@@ -476,13 +479,7 @@ void SmEditWindow::KeyInput(const KeyEvent& rKEvt)
}
else
{
// have doc-shell modified only for formula input/change and not
// cursor travelling and such things...
SmDocShell *pDocShell = GetDoc();
EditEngine *pEditEngine = GetEditEngine();
if (pDocShell && pEditEngine)
pDocShell->SetModified(pEditEngine->IsModified());
aModifyIdle.Start();
UserPossiblyChangedText();
}
// get the current char of the key event
@@ -510,6 +507,17 @@ void SmEditWindow::KeyInput(const KeyEvent& rKEvt)
}
}
void SmEditWindow::UserPossiblyChangedText()
{
// have doc-shell modified only for formula input/change and not
// cursor travelling and such things...
SmDocShell *pDocShell = GetDoc();
EditEngine *pEditEngine = GetEditEngine();
if (pDocShell && pEditEngine)
pDocShell->SetModified(pEditEngine->IsModified());
aModifyIdle.Start();
}
void SmEditWindow::Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect)
{
if (!pEditView)