sc/qa/uitest/autofilter/autofilter.py | 23 +++++++++++++++++++++++ sc/qa/uitest/data/autofilter/tdf144253.ods |binary sc/source/core/data/table3.cxx | 2 +- sc/source/core/tool/cellform.cxx | 2 +- 4 files changed, 25 insertions(+), 2 deletions(-)
New commits: commit 7640a5b3f32c53f8b4e4319ffcbf515d47f112f7 Author: Balazs Varga <balazs.varga...@gmail.com> AuthorDate: Mon Sep 6 12:02:54 2021 +0200 Commit: Balazs Varga <varga.bala...@nisz.hu> CommitDate: Thu Oct 21 09:56:03 2021 +0200 tdf#144253 tdf#144324 sc filter: use formatted values in filters if the results of formulas are values. Followed up of 40acda4e78127fa9f513646ef210b074d40cf307 (Related: tdf#140968 avoid duplicated filter values) Change-Id: Ib396d2b7cc08ba41b5936a53a28b5e38bf678b3e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121715 Tested-by: László Németh <nem...@numbertext.org> Reviewed-by: László Németh <nem...@numbertext.org> (cherry picked from commit 51375b48378915b6e95c1ac26b2ccf8e39880f7e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123863 Tested-by: Balazs Varga <varga.bala...@nisz.hu> Reviewed-by: Balazs Varga <varga.bala...@nisz.hu> diff --git a/sc/qa/uitest/autofilter/autofilter.py b/sc/qa/uitest/autofilter/autofilter.py index 4aeb6d4c0a87..10ce0fcf4199 100644 --- a/sc/qa/uitest/autofilter/autofilter.py +++ b/sc/qa/uitest/autofilter/autofilter.py @@ -517,4 +517,27 @@ class AutofilterTest(UITestCase): self.ui_test.close_doc() + def test_tdf144253(self): + with self.ui_test.load_file(get_url_for_data_file("tdf144253.ods")) as doc: + + xGridWin = self.xUITest.getTopFocusWindow().getChild("grid_window") + + xGridWin.executeAction("LAUNCH", mkPropertyValues({"AUTOFILTER": "", "COL": "4", "ROW": "0"})) + xFloatWindow = self.xUITest.getFloatWindow() + xCheckListMenu = xFloatWindow.getChild("check_list_menu") + xTreeList = xCheckListMenu.getChild("check_list_box") + self.assertEqual(2, len(xTreeList.getChildren())) + self.assertEqual("65.43", get_state_as_dict(xTreeList.getChild('0'))['Text']) + self.assertEqual("83.33", get_state_as_dict(xTreeList.getChild('1'))['Text']) + + xFirstEntry = xTreeList.getChild("1") + xFirstEntry.executeAction("CLICK", tuple()) + + xOkBtn = xFloatWindow.getChild("ok") + xOkBtn.executeAction("CLICK", tuple()) + + self.assertFalse(is_row_hidden(doc, 0)) + self.assertTrue(is_row_hidden(doc, 1)) + self.assertFalse(is_row_hidden(doc, 2)) + # vim: set shiftwidth=4 softtabstop=4 expandtab: diff --git a/sc/qa/uitest/data/autofilter/tdf144253.ods b/sc/qa/uitest/data/autofilter/tdf144253.ods new file mode 100644 index 000000000000..d2581904d0ac Binary files /dev/null and b/sc/qa/uitest/data/autofilter/tdf144253.ods differ diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx index 04f502277505..5a63055016df 100644 --- a/sc/source/core/data/table3.cxx +++ b/sc/source/core/data/table3.cxx @@ -2348,7 +2348,7 @@ public: nCellVal = mrDoc.RoundValueAsShown(rCell.mfValue, nNumFmt, pContext); break; case CELLTYPE_FORMULA : - nCellVal = rCell.mpFormula->GetValue(); + nCellVal = mrDoc.RoundValueAsShown(rCell.mpFormula->GetValue(), nNumFmt, pContext); break; default: nCellVal = 0.0; diff --git a/sc/source/core/tool/cellform.cxx b/sc/source/core/tool/cellform.cxx index abc13f254677..fe188847350e 100644 --- a/sc/source/core/tool/cellform.cxx +++ b/sc/source/core/tool/cellform.cxx @@ -135,7 +135,7 @@ void ScCellFormat::GetInputString( if (pFC->IsEmptyDisplayedAsString()) rString = EMPTY_OUSTRING; else if (pFC->IsValue()) - rFormatter.GetInputLineString(pFC->GetValue(), nFormat, rString); + rFormatter.GetInputLineString(pFC->GetValue(), nFormat, rString, bFiltering); else rString = pFC->GetString().getString();