Add escape key to palette windows
Popdown a palette window in response to escape key.
This commit is contained in:
parent
9e34750ffd
commit
4c22ba5b35
@ -520,6 +520,7 @@ class PaletteWindow(GObject.GObject):
|
|||||||
self._widget.connect('destroy', self.__destroy_cb)
|
self._widget.connect('destroy', self.__destroy_cb)
|
||||||
self._widget.connect('enter-notify', self.__enter_notify_cb)
|
self._widget.connect('enter-notify', self.__enter_notify_cb)
|
||||||
self._widget.connect('leave-notify', self.__leave_notify_cb)
|
self._widget.connect('leave-notify', self.__leave_notify_cb)
|
||||||
|
self._widget.connect('key-press-event', self.__key_press_event_cb)
|
||||||
|
|
||||||
self._set_effective_group_id(self._group_id)
|
self._set_effective_group_id(self._group_id)
|
||||||
self._widget.set_invoker(self._invoker)
|
self._widget.set_invoker(self._invoker)
|
||||||
@ -533,6 +534,7 @@ class PaletteWindow(GObject.GObject):
|
|||||||
self._widget.disconnect_by_func(self.__destroy_cb)
|
self._widget.disconnect_by_func(self.__destroy_cb)
|
||||||
self._widget.disconnect_by_func(self.__enter_notify_cb)
|
self._widget.disconnect_by_func(self.__enter_notify_cb)
|
||||||
self._widget.disconnect_by_func(self.__leave_notify_cb)
|
self._widget.disconnect_by_func(self.__leave_notify_cb)
|
||||||
|
self._widget.disconnect_by_func(self.__key_press_event_cb)
|
||||||
self._set_effective_group_id(None)
|
self._set_effective_group_id(None)
|
||||||
|
|
||||||
def destroy(self):
|
def destroy(self):
|
||||||
@ -717,6 +719,10 @@ class PaletteWindow(GObject.GObject):
|
|||||||
if not self._invoker.locked:
|
if not self._invoker.locked:
|
||||||
self.on_leave()
|
self.on_leave()
|
||||||
|
|
||||||
|
def __key_press_event_cb(self, window, event):
|
||||||
|
if event.keyval == Gdk.KEY_Escape:
|
||||||
|
self.popdown()
|
||||||
|
|
||||||
def __show_cb(self, widget):
|
def __show_cb(self, widget):
|
||||||
if self._invoker is not None:
|
if self._invoker is not None:
|
||||||
self._invoker.notify_popup()
|
self._invoker.notify_popup()
|
||||||
|
Loading…
Reference in New Issue
Block a user