sc/qa/uitest/autofilter/autofilter.py | 25 +++++++++++++++++++++++++ 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, 27 insertions(+), 2 deletions(-)
New commits: commit 73a0deeda1bc63e78de6aa3df9c3324b4ebe0d3b Author: Balazs Varga <balazs.varga...@gmail.com> AuthorDate: Mon Sep 6 12:02:54 2021 +0200 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Tue Sep 21 14:26:27 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/+/122288 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/sc/qa/uitest/autofilter/autofilter.py b/sc/qa/uitest/autofilter/autofilter.py index 7c8078c702c5..44758cd2de13 100644 --- a/sc/qa/uitest/autofilter/autofilter.py +++ b/sc/qa/uitest/autofilter/autofilter.py @@ -545,4 +545,29 @@ class AutofilterTest(UITestCase): self.ui_test.close_doc() + def test_tdf144253(self): + doc = self.ui_test.load_file(get_url_for_data_file("tdf144253.ods")) + + 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)) + + self.ui_test.close_doc() + # 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 1958a7044d05..5caea5500fda 100644 --- a/sc/source/core/data/table3.cxx +++ b/sc/source/core/data/table3.cxx @@ -2463,7 +2463,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 c61207d60678..a3aac8f1a16c 100644 --- a/sc/source/core/tool/cellform.cxx +++ b/sc/source/core/tool/cellform.cxx @@ -133,7 +133,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();