Related tdf#144618: add check in bin/ui-rules-enforcer.py
+ fix vcl/qa/cppunit/builder/demo.ui
Change-Id: I556cf99687f138e2d9667dc742dd44cafe7b1a02
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122488
Tested-by: Jenkins
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/bin/ui-rules-enforcer.py b/bin/ui-rules-enforcer.py
index ef73541..1a7c814e 100755
--- a/bin/ui-rules-enforcer.py
+++ b/bin/ui-rules-enforcer.py
@@ -388,6 +388,44 @@ def enforce_active_in_group_consistency(current):
active.text = "True"
current.insert(insertpos, active)
def enforce_entry_text_column_id_column_for_gtkcombobox(current):
entrytextcolumn = None
idcolumn = None
isgtkcombobox = current.get('class') == "GtkComboBox"
insertpos = 0
for child in current:
enforce_entry_text_column_id_column_for_gtkcombobox(child)
if not isgtkcombobox:
continue
if child.tag == "property":
insertpos = insertpos + 1;
attributes = child.attrib
if attributes.get("name") == "entry_text_column":
entrytextcolumn = child
if attributes.get("name") == "id_column":
idcolumn = child
if isgtkcombobox:
if entrytextcolumn != None and entrytextcolumn.text != "0":
raise Exception(sys.argv[1] + ': non-standard entry_text_column value', entrytextcolumn.text)
if idcolumn != None and idcolumn.text != "1":
raise Exception(sys.argv[1] + ': non-standard id_column value', idcolumn.text)
if entrytextcolumn == None:
# if there is no entry_text_column, create one
entrytextcolumn = etree.Element("property")
attributes = entrytextcolumn.attrib
attributes["name"] = "entry_text_column"
entrytextcolumn.text = "0"
current.insert(insertpos, entrytextcolumn)
insertpos = insertpos + 1;
if idcolumn == None:
# if there is no id_column, create one
idcolumn = etree.Element("property")
attributes = idcolumn.attrib
attributes["name"] = "id_column"
idcolumn.text = "1"
current.insert(insertpos, idcolumn)
with open(sys.argv[1], encoding="utf-8") as f:
header = f.readline()
f.seek(0)
@@ -417,9 +455,11 @@ remove_expander_label_fill(root)
remove_expander_spacing(root)
enforce_menubutton_indicator_consistency(root)
enforce_active_in_group_consistency(root)
enforce_entry_text_column_id_column_for_gtkcombobox(root)
remove_double_buffered(root)
remove_skip_pager_hint(root)
with open(sys.argv[1], 'wb') as o:
# without encoding='unicode' (and the matching encode("utf8")) we get &#XXXX replacements for non-ascii characters
# which we don't want to see changed in the output
diff --git a/vcl/qa/cppunit/builder/demo.ui b/vcl/qa/cppunit/builder/demo.ui
index 5638a7d..28d6fdd 100644
--- a/vcl/qa/cppunit/builder/demo.ui
+++ b/vcl/qa/cppunit/builder/demo.ui
@@ -199,6 +199,8 @@
<object class="GtkComboBox" id="combobox1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="entry_text_column">0</property>
<property name="id_column">1</property>
</object>
<packing>
<property name="expand">True</property>
@@ -733,6 +735,8 @@
<object class="GtkComboBox" id="LB_PAGE_PROPERTIES">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="entry_text_column">0</property>
<property name="id_column">1</property>
</object>
<packing>
<property name="expand">True</property>
@@ -864,6 +868,8 @@
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="model">liststore1</property>
<property name="entry_text_column">0</property>
<property name="id_column">1</property>
</object>
<packing>
<property name="expand">False</property>
@@ -1299,6 +1305,8 @@
<object class="GtkComboBox" id="combobox2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="entry_text_column">0</property>
<property name="id_column">1</property>
</object>
<packing>
<property name="left-attach">0</property>
@@ -1362,6 +1370,8 @@
<object class="GtkComboBox" id="combobox3">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="entry_text_column">0</property>
<property name="id_column">1</property>
</object>
<packing>
<property name="left-attach">1</property>
@@ -1372,6 +1382,8 @@
<object class="GtkComboBox" id="combobox4">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="entry_text_column">0</property>
<property name="id_column">1</property>
</object>
<packing>
<property name="left-attach">1</property>
@@ -1628,6 +1640,8 @@
<object class="GtkComboBox" id="combobox5">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="entry_text_column">0</property>
<property name="id_column">1</property>
</object>
<packing>
<property name="left-attach">1</property>
@@ -1684,6 +1698,8 @@
<object class="GtkComboBox" id="combobox6">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="entry_text_column">0</property>
<property name="id_column">1</property>
</object>
<packing>
<property name="left-attach">1</property>