Bug 9965: Undo in undoableentry does the wrong undo in MacOS.
This fixes the immediate problem peculiar to MacOS, but the underlying problem that the code doesn't use keybindings and has a control-specific undo stack which makes undo ambiguous for the window remains.
This commit is contained in:
parent
3901e7dd4c
commit
1571f8409a
@ -274,6 +274,7 @@ class ViewManager(CLIManager):
|
|||||||
CLIManager.__init__(self, dbstate, setloader=False, user=user)
|
CLIManager.__init__(self, dbstate, setloader=False, user=user)
|
||||||
if _GTKOSXAPPLICATION:
|
if _GTKOSXAPPLICATION:
|
||||||
self.macapp = QuartzApp.Application()
|
self.macapp = QuartzApp.Application()
|
||||||
|
self.macapp.set_use_quartz_accelerators(False)
|
||||||
|
|
||||||
self.view_category_order = view_category_order
|
self.view_category_order = view_category_order
|
||||||
|
|
||||||
|
@ -118,13 +118,14 @@ class UndoableEntry(Gtk.Entry, Gtk.Editable):
|
|||||||
Handle formatting undo/redo key press.
|
Handle formatting undo/redo key press.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
if ((Gdk.keyval_name(event.keyval) == 'Z') and
|
keymap = Gdk.Keymap.get_default();
|
||||||
(event.get_state() & Gdk.ModifierType.CONTROL_MASK) and
|
primary = keymap.get_modifier_mask(Gdk.ModifierIntent.PRIMARY_ACCELERATO if ((Gdk.keyval_name(event.keyval) == 'Z') and
|
||||||
|
(event.get_state() & primary) and
|
||||||
(event.get_state() & Gdk.ModifierType.SHIFT_MASK)):
|
(event.get_state() & Gdk.ModifierType.SHIFT_MASK)):
|
||||||
self.redo()
|
self.redo()
|
||||||
return True
|
return True
|
||||||
elif ((Gdk.keyval_name(event.keyval) == 'z') and
|
elif ((Gdk.keyval_name(event.keyval) == 'z') and
|
||||||
(event.get_state() & Gdk.ModifierType.CONTROL_MASK)):
|
(event.get_state() & primary)):
|
||||||
self.undo()
|
self.undo()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user