diff options
| author | Huang Peng <shawn.p.huang@gmail.com> | 2008-08-07 07:25:10 +0800 |
|---|---|---|
| committer | Huang Peng <shawn.p.huang@gmail.com> | 2008-08-07 07:25:10 +0800 |
| commit | afe55e0c6245ed0e17f1ed62b489fb94dff7543c (patch) | |
| tree | d703a806d61901bedf4b411f4f2718ee21ca7bb1 /panel | |
| parent | f5ebcc85fdc233796fc181a63795045a7a8867d5 (diff) | |
| download | ibus-afe55e0c6245ed0e17f1ed62b489fb94dff7543c.tar.gz ibus-afe55e0c6245ed0e17f1ed62b489fb94dff7543c.tar.xz ibus-afe55e0c6245ed0e17f1ed62b489fb94dff7543c.zip | |
Add sys menu for panel.
Diffstat (limited to 'panel')
| -rw-r--r-- | panel/panel.py | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/panel/panel.py b/panel/panel.py index 923dd59..fb7c416 100644 --- a/panel/panel.py +++ b/panel/panel.py @@ -167,6 +167,17 @@ class Panel(ibus.PanelBase): def do_destroy(self): gtk.main_quit() + def __create_sys_menu(self): + menu = gtk.Menu() + item = gtk.MenuItem("_Preferences...") + menu.add(item) + item = gtk.MenuItem("_Quit") + menu.add(item) + + menu.show_all() + menu.set_take_focus(False) + return menu + def __create_im_menu(self): menu = gtk.Menu() factories = self.__bus.get_factories() @@ -217,17 +228,15 @@ class Panel(ibus.PanelBase): menu = self.__create_im_menu() return menu - def __status_icon_activate_cb(self, status_icon): - if not self.__focus_ic: - return - menu = self.__create_im_menu() + def __status_icon_popup_menu_cb(self, status_icon, button, active_time): + menu = self.__create_sys_menu() menu.popup(None, None, gtk.status_icon_position_menu, 0, gtk.get_current_event_time(), self.__status_icon) - def __status_icon_popup_menu_cb(self, status_icon, button, active_time): + def __status_icon_activate_cb(self, status_icon): if not self.__focus_ic: return menu = self.__create_im_menu() |
