Set underline on the first hardware keycode
issue10306 review338161002
This commit is contained in:
1 parent
90133243cb
commit
d33cc0e5fe
1 file changed
+16
-1
@@ -1,7 +1,22 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
from gi.repository import Gdk
|
||||
|
||||
|
||||
def find_hardware_keycode(string):
|
||||
keymap = Gdk.Keymap.get_for_display(Gdk.Display.get_default())
|
||||
for i, c in enumerate(string):
|
||||
found, keys = keymap.get_entries_for_keyval(
|
||||
Gdk.unicode_to_keyval(ord(c)))
|
||||
if found:
|
||||
return i
|
||||
return -1
|
||||
|
||||
|
||||
def set_underline(label):
|
||||
"Set underscore for mnemonic accelerator"
|
||||
return '_' + label.replace('_', '__')
|
||||
label = label.replace('_', '__')
|
||||
position = find_hardware_keycode(label)
|
||||
if position >= 0:
|
||||
label = label[:position] + '_' + label[position:]
|
||||
return label
|
||||
Reference in new issue
Block a user