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 )