diff options
author | Caolán McNamara <caolanm@redhat.com> | 2021-01-14 15:42:05 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2021-01-15 10:10:14 +0100 |
commit | f89b94c280e8d986cdf08271f5cdc6b1dfe09575 (patch) | |
tree | 0cc75175c96954e29c6aba0ddcbd52d0269cec65 /bin | |
parent | cf29283ac7adffbca693364e28f102b7e5434ccf (diff) |
tdf#138848 add truncate-multiline to all GtkEntries and GtkSpinButtons
except for extensions/uiconfig/spropctrlr/ui/multiline.ui
Change-Id: Ia2eca14332ffd4ac6e277c7529f17eca3ba29c0e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109310
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/ui-converter-skeleton.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/bin/ui-converter-skeleton.py b/bin/ui-converter-skeleton.py index e5b651b089c2..298b6c024daf 100755 --- a/bin/ui-converter-skeleton.py +++ b/bin/ui-converter-skeleton.py @@ -13,6 +13,27 @@ import lxml.etree as etree import sys +def add_truncate_multiline(current): + use_truncate_multiline = False + istarget = current.get('class') == "GtkEntry" or current.get('class') == "GtkSpinButton" + insertpos = 0 + for child in current: + add_truncate_multiline(child) + insertpos = insertpos + 1; + if not istarget: + continue + if child.tag == "property": + attributes = child.attrib + if attributes.get("name") == "truncate_multiline" or attributes.get("name") == "truncate-multiline": + use_truncate_multiline = True + + if istarget and not use_truncate_multiline: + truncate_multiline = etree.Element("property") + attributes = truncate_multiline.attrib + attributes["name"] = "truncate-multiline" + truncate_multiline.text = "True" + current.insert(insertpos - 1, truncate_multiline) + with open(sys.argv[1], encoding="utf-8") as f: header = f.readline() firstline = f.readline() @@ -33,6 +54,9 @@ with open(sys.argv[1], encoding="utf-8") as f: root = tree.getroot() # do some targeted conversion here +# tdf#138848 Copy-and-Paste in input box should not append an ENTER character +if not sys.argv[1].endswith('/multiline.ui'): # let this one alone not truncate multiline pastes + add_truncate_multiline(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 |