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

New commits:
commit 1a0b4190cbdc8c5c5656465422fbcfd59fcff7b5
Author:     Czeber László Ádám <czeber.laszloa...@nisz.hu>
AuthorDate: Wed May 31 13:06:50 2023 +0200
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Thu Jun 1 15:50:34 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>
    (cherry picked from commit a5c1b749a89b662f9a136d774b3dfd5fbd639c50)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152437
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.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 b5953bbf26f0..b6fcd69eb3d9 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