tdf#124412: sc: Add UItest

Change-Id: Ic0b8a6f8a8ccc3d63154be607e672e759b862714
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126841
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
diff --git a/sc/qa/uitest/conditional_format/tdf124412.py b/sc/qa/uitest/conditional_format/tdf124412.py
new file mode 100644
index 0000000..aac0d2a
--- /dev/null
+++ b/sc/qa/uitest/conditional_format/tdf124412.py
@@ -0,0 +1,36 @@
# -*- 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 uitest.uihelper.common import get_url_for_data_file, get_state_as_dict
from libreoffice.uno.propertyvalue import mkPropertyValues

class tdf124412(UITestCase):

    def test_tdf124412(self):

        with self.ui_test.load_file(get_url_for_data_file("tdf124412.ods")) as calc_doc:

            xTopWindow = self.xUITest.getTopFocusWindow()
            gridwin = xTopWindow.getChild("grid_window")

            gridwin.executeAction("SELECT", mkPropertyValues({"RANGE": "A2:A13"}))

            with self.ui_test.execute_modeless_dialog_through_command(".uno:ConditionalFormatDialog") as xCondFormatDlg:
                xCondition1 = xCondFormatDlg.getChild("Condition 1")
                xCondition2 = xCondFormatDlg.getChild("Condition 2")

                # This is empty because the entry is selected
                self.assertEqual("", get_state_as_dict(xCondition1)["DisplayText"])

                # Without the fix in place, this test would have failed with
                # AssertionError: 'Date is last month' != 'Date is today'
                self.assertEqual("Date is last month", get_state_as_dict(xCondition2)["DisplayText"])

# vim: set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/sc/qa/uitest/data/tdf124412.ods b/sc/qa/uitest/data/tdf124412.ods
new file mode 100644
index 0000000..4693e0a
--- /dev/null
+++ b/sc/qa/uitest/data/tdf124412.ods
Binary files differ
diff --git a/sc/source/ui/condformat/condformatdlgentry.cxx b/sc/source/ui/condformat/condformatdlgentry.cxx
index 9fde12a..d67ee8e 100644
--- a/sc/source/ui/condformat/condformatdlgentry.cxx
+++ b/sc/source/ui/condformat/condformatdlgentry.cxx
@@ -77,7 +77,11 @@ IMPL_LINK_NOARG(ScCondFrmtEntry, EntrySelectHdl, const MouseEvent&, bool)

void ScCondFrmtEntry::SetIndex(sal_Int32 nIndex)
{
    mxFtCondNr->set_label(maStrCondition + OUString::number(nIndex));
    OUString sLabel = maStrCondition + OUString::number(nIndex);
    mxFtCondNr->set_label(sLabel);

    // tdf#124412: uitest
    mxFtCondition->set_buildable_name(sLabel.toUtf8());
}

void ScCondFrmtEntry::Select()