summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCzeber László Ádám <czeber.laszloadam@nisz.hu>2023-05-31 13:06:50 +0200
committerLászló Németh <nemeth@numbertext.org>2023-06-01 09:55:40 +0200
commita5c1b749a89b662f9a136d774b3dfd5fbd639c50 (patch)
tree08e05b46eca6479b19180e674dfef4c0f44f5a6b
parent811e67eb45b1fc97d8c8cc9509acb33267a51aa4 (diff)
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 <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
-rw-r--r--sc/qa/uitest/calc_tests9/tdf154174.py35
-rw-r--r--sc/source/ui/view/viewfunc.cxx2
2 files changed, 37 insertions, 0 deletions
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 )