summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2021-01-14 15:42:05 +0000
committerCaolán McNamara <caolanm@redhat.com>2021-01-15 10:10:14 +0100
commitf89b94c280e8d986cdf08271f5cdc6b1dfe09575 (patch)
tree0cc75175c96954e29c6aba0ddcbd52d0269cec65 /bin
parentcf29283ac7adffbca693364e28f102b7e5434ccf (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-xbin/ui-converter-skeleton.py24
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