From 10c397cbed81da8ba5d762cc09a37cd862bf4f9b Mon Sep 17 00:00:00 2001
From: Simon Schampijer <simon@laptop.org>
Date: Thu, 25 Oct 2012 13:11:05 +0200
Subject: [PATCH shell] CurrentActivityPalette: switch ActivityPalette from
GTK.Menu to custom menu, part of SL #3992
The Gtk.Menu triggers a Palette popdown in a long press (and actually as well
a long click). There is not realy a way around that so we go with our custom
Palettes.
We need to popdown the Palette when a menu item is clicked.
Signed-off-by: Simon Schampijer <simon@laptop.org>
---
src/jarabe/view/palettes.py | 29 ++++++++++++++++-------------
1 file changed, 16 insertions(+), 13 deletions(-)
diff --git a/src/jarabe/view/palettes.py b/src/jarabe/view/palettes.py
index 79540e6..923b842 100644
a
|
b
|
class CurrentActivityPalette(BasePalette): |
83 | 83 | if title and title != activity_name: |
84 | 84 | self.props.secondary_text = glib.markup_escape_text(title) |
85 | 85 | |
86 | | menu_item = MenuItem(_('Resume'), 'activity-start') |
| 86 | self.menu_box = Gtk.VBox() |
| 87 | |
| 88 | menu_item = PaletteMenuItem(_('Resume'), 'activity-start') |
87 | 89 | menu_item.connect('activate', self.__resume_activate_cb) |
88 | | self.menu.append(menu_item) |
89 | | menu_item.show() |
| 90 | self.menu_box.pack_start(menu_item, True, True, 0) |
90 | 91 | |
91 | 92 | # TODO: share-with, keep |
92 | 93 | |
93 | | menu_item = MenuItem(_('View Source'), 'view-source') |
94 | | # TODO Make this accelerator translatable |
95 | | menu_item.props.accelerator = '<Alt><Shift>v' |
| 94 | menu_item = PaletteMenuItem(_('View Source'), 'view-source') |
96 | 95 | menu_item.connect('activate', self.__view_source__cb) |
97 | | self.menu.append(menu_item) |
98 | | menu_item.show() |
| 96 | self.menu_box.pack_start(menu_item, True, True, 0) |
99 | 97 | |
100 | | separator = Gtk.SeparatorMenuItem() |
101 | | self.menu.append(separator) |
| 98 | separator = PaletteMenuItemSeparator() |
| 99 | self.menu_box.pack_start(menu_item, True, True, 0) |
102 | 100 | separator.show() |
103 | 101 | |
104 | | menu_item = MenuItem(_('Stop'), 'activity-stop') |
| 102 | menu_item = PaletteMenuItem(_('Stop'), 'activity-stop') |
105 | 103 | menu_item.connect('activate', self.__stop_activate_cb) |
106 | | self.menu.append(menu_item) |
107 | | menu_item.show() |
| 104 | self.menu_box.pack_start(menu_item, True, True, 0) |
| 105 | |
| 106 | self.set_content(self.menu_box) |
| 107 | self.menu_box.show_all() |
108 | 108 | |
109 | 109 | def __resume_activate_cb(self, menu_item): |
| 110 | self.popdown(immediate=True) |
110 | 111 | self._home_activity.get_window().activate(Gtk.get_current_event_time()) |
111 | 112 | |
112 | 113 | def __view_source__cb(self, menu_item): |
| 114 | self.popdown(immediate=True) |
113 | 115 | setup_view_source(self._home_activity) |
114 | 116 | shell_model = shell.get_model() |
115 | 117 | if self._home_activity is not shell_model.get_active_activity(): |
… |
… |
class CurrentActivityPalette(BasePalette): |
117 | 119 | Gtk.get_current_event_time()) |
118 | 120 | |
119 | 121 | def __stop_activate_cb(self, menu_item): |
| 122 | self.popdown(immediate=True) |
120 | 123 | self._home_activity.get_window().close(1) |
121 | 124 | |
122 | 125 | |