changeset bedc052ab189 in tryton:default
details: https://hg.tryton.org/tryton?cmd=changeset&node=bedc052ab189
description:
Use CONTROL key as mnemonic modifier on MacOS
The default MOD1 (which is ALT on MacOS) is used to type special
character on
MacOS so it is better to use a modifier that is not used for character
like
CONTROL.
issue10045
review340241002
diffstat:
tryton/common/__init__.py | 5 +++--
tryton/common/common.py | 6 ++++++
tryton/gui/main.py | 5 +++++
tryton/gui/window/dblogin.py | 2 ++
4 files changed, 16 insertions(+), 2 deletions(-)
diffs (80 lines):
diff -r 7d48c1888350 -r bedc052ab189 tryton/common/__init__.py
--- a/tryton/common/__init__.py Tue Mar 23 23:48:32 2021 +0100
+++ b/tryton/common/__init__.py Sat Mar 27 11:41:13 2021 +0100
@@ -9,7 +9,7 @@
RPCProgress, RPCExecute, RPCContextReload, Tooltips, COLOR_SCHEMES,
filter_domain, timezoned_date, untimezoned_date, humanize, get_hostname,
get_port, resize_pixbuf, data2pixbuf, apply_label_attributes, ellipsize,
- get_align, date_format, idle_add, check_version, TRYTON_ICON)
+ get_align, date_format, idle_add, check_version, TRYTON_ICON, setup_window)
from .domain_inversion import (
domain_inversion, eval_domain, localize_domain, merge, inverse_leaf,
filter_leaf, prepare_reference_domain, extract_reference_models, concat,
@@ -29,4 +29,5 @@
get_align, date_format, idle_add, domain_inversion, eval_domain,
localize_domain, merge, inverse_leaf, filter_leaf,
prepare_reference_domain, extract_reference_models, concat, simplify,
- unique_value, EvalEnvironment, timedelta, check_version, TRYTON_ICON]
+ unique_value, EvalEnvironment, timedelta, check_version, TRYTON_ICON,
+ setup_window]
diff -r 7d48c1888350 -r bedc052ab189 tryton/common/common.py
--- a/tryton/common/common.py Tue Mar 23 23:48:32 2021 +0100
+++ b/tryton/common/common.py Sat Mar 27 11:41:13 2021 +0100
@@ -590,6 +590,7 @@
parent = get_toplevel_window()
dialog = self.build_dialog(parent, *args, **kwargs)
dialog.set_icon(TRYTON_ICON)
+ setup_window(dialog)
self.running = True
dialog.show_all()
response = dialog.run()
@@ -1303,3 +1304,8 @@
def wrapper(*args, **kwargs):
GLib.idle_add(func, *args, **kwargs)
return wrapper
+
+
+def setup_window(window):
+ if sys.platform == 'darwin':
+ window.set_mnemonic_modifier(Gdk.ModifierType.CONTROL_MASK)
diff -r 7d48c1888350 -r bedc052ab189 tryton/gui/main.py
--- a/tryton/gui/main.py Tue Mar 23 23:48:32 2021 +0100
+++ b/tryton/gui/main.py Sat Mar 27 11:41:13 2021 +0100
@@ -128,6 +128,7 @@
self.window.set_icon(TRYTON_ICON)
self.window.connect("destroy", self.on_quit)
self.window.connect("delete_event", self.on_quit)
+ common.setup_window(self.window)
self.header = Gtk.HeaderBar.new()
self.header.set_show_close_button(True)
@@ -276,6 +277,10 @@
rpc.logout()
self.quit()
+ def add_window(self, window):
+ super().add_window(window)
+ common.setup_window(window)
+
def _get_primary_menu(self):
menu = Gio.Menu.new()
menu.append(_("Preferences..."), 'app.preferences')
diff -r 7d48c1888350 -r bedc052ab189 tryton/gui/window/dblogin.py
--- a/tryton/gui/window/dblogin.py Tue Mar 23 23:48:32 2021 +0100
+++ b/tryton/gui/window/dblogin.py Sat Mar 27 11:41:13 2021 +0100
@@ -37,6 +37,7 @@
set_underline(_("Close")), Gtk.ResponseType.CLOSE)
self.dialog.set_position(Gtk.WindowPosition.CENTER_ON_PARENT)
self.dialog.set_icon(TRYTON_ICON)
+ common.setup_window(self.dialog)
tooltips = common.Tooltips()
@@ -393,6 +394,7 @@
self.dialog.set_icon(TRYTON_ICON)
self.dialog.set_position(Gtk.WindowPosition.CENTER_ALWAYS)
self.dialog.set_resizable(False)
+ common.setup_window(self.dialog)
tooltips = common.Tooltips()
button_cancel = Gtk.Button(label=_('_Cancel'), use_underline=True)