sc/qa/uitest/calc_tests9/tdf154174.py |   35 ++++++++++++++++++++++++++++++++++
 sc/source/ui/view/viewfunc.cxx        |    2 +
 2 files changed, 37 insertions(+)

New commits:
commit a5c1b749a89b662f9a136d774b3dfd5fbd639c50
Author:     Czeber László Ádám <czeber.laszloa...@nisz.hu>
AuthorDate: Wed May 31 13:06:50 2023 +0200
Commit:     László Németh <nem...@numbertext.org>
CommitDate: Thu Jun 1 09:55:40 2023 +0200

    tdf#154174 sc: fix input line to update to the repeated content
    
    Repeating the last text edit by Repeat, e.g. by pressing
    Ctrl-Shift-Y, the input line still contained the old content
    of the cell, and only updated to the new content after moving
    the cursor to another cell and back. Now the input line is updated
    automatically, and the actual content of the cell can be modified
    immediately by pressing F2 or clicking in the input line.
    
    Change-Id: Ia38b833ff77c75d37700715638aa71c7f1863e91
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152423
    Tested-by: László Németh <nem...@numbertext.org>
    Reviewed-by: László Németh <nem...@numbertext.org>

diff --git a/sc/qa/uitest/calc_tests9/tdf154174.py 
b/sc/qa/uitest/calc_tests9/tdf154174.py
new file mode 100644
index 000000000000..3cb0da9ea2a3
--- /dev/null
+++ b/sc/qa/uitest/calc_tests9/tdf154174.py
@@ -0,0 +1,35 @@
+# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+from uitest.framework import UITestCase
+from libreoffice.uno.propertyvalue import mkPropertyValues
+from libreoffice.calc.document import get_cell_by_position
+from uitest.uihelper.calc import enter_text_to_cell
+
+#Bug 154174 - empty edit cell after fill (Ctrl+Shft+Y)
+
+class tdf154174(UITestCase):
+    def test_tdf154174_repeat_empty(self):
+        with self.ui_test.create_doc_in_start_center("calc") as document:
+            xCalcDoc = self.xUITest.getTopFocusWindow()
+            gridwin = xCalcDoc.getChild("grid_window")
+            # enter data
+            enter_text_to_cell(gridwin, "A1", "aaaa")
+            # focus on A2
+            gridwin.executeAction("SELECT", mkPropertyValues({"CELL": "A2"}))
+            # repeat (Ctrl+Shft+Y)
+            gridwin.executeAction("TYPE", mkPropertyValues({"KEYCODE": 
"SHIFT+CTRL+Y"}))
+            # edit A2 data
+            gridwin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "F2"}))
+            # if is empty, then erased, else unchanged
+            gridwin.executeAction("TYPE", mkPropertyValues({"KEYCODE": 
"DELETE"}))
+            gridwin.executeAction("TYPE", mkPropertyValues({"KEYCODE": 
"RETURN"}))
+            # test A2
+            self.assertEqual(get_cell_by_position(document, 0, 0, 
1).getString(), "aaaa")
+
+# vim: set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/sc/source/ui/view/viewfunc.cxx b/sc/source/ui/view/viewfunc.cxx
index 204d5d31bae7..78080364e928 100644
--- a/sc/source/ui/view/viewfunc.cxx
+++ b/sc/source/ui/view/viewfunc.cxx
@@ -832,6 +832,8 @@ void ScViewFunc::EnterDataAtCursor( const OUString& rString 
)
     SCTAB nTab = GetViewData().GetTabNo();
 
     EnterData( nPosX, nPosY, nTab, rString );
+    // tdf#154174: update repeated data in the cell
+    GetViewData().GetViewShell()->UpdateInputHandler();
 }
 
 void ScViewFunc::EnterMatrix( const OUString& rString, 
::formula::FormulaGrammar::Grammar eGram )

Reply via email to