From 04ffb0a46875e34ed32d0b9966c424561f781d0b Mon Sep 17 00:00:00 2001 From: Simon Schampijer Date: Thu, 25 Oct 2012 10:29:56 +0000 Subject: FavoritesView: 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. Signed-off-by: Simon Schampijer Acked-by: Manuel QuiƱones --- diff --git a/src/jarabe/desktop/favoritesview.py b/src/jarabe/desktop/favoritesview.py index 9c7a76e..e71b769 100644 --- a/src/jarabe/desktop/favoritesview.py +++ b/src/jarabe/desktop/favoritesview.py @@ -30,6 +30,8 @@ from sugar3.graphics import style from sugar3.graphics.icon import Icon from sugar3.graphics.icon import CanvasIcon from sugar3.graphics.menuitem import MenuItem +from sugar3.graphics.palettemenuitem import PaletteMenuItem +from sugar3.graphics.palettemenuitem import PaletteMenuItemSeparator from sugar3.graphics.alert import Alert from sugar3.graphics.xocolor import XoColor from sugar3.activity import activityfactory @@ -488,8 +490,6 @@ class ActivityIcon(CanvasIcon): class FavoritePalette(ActivityPalette): __gtype_name__ = 'SugarFavoritePalette' - _PALETTE_LABEL_OFFSET = 2 - __gsignals__ = { 'entry-activate': (GObject.SignalFlags.RUN_FIRST, None, ([object])), @@ -517,22 +517,20 @@ class FavoritePalette(ActivityPalette): icon_file_name = misc.get_icon_name(entry) color = misc.get_icon_color(entry) - menu_item = MenuItem(text_label=entry['title'], - file_name=icon_file_name, - xo_color=color) + menu_item = PaletteMenuItem(text_label=entry['title'], + file_name=icon_file_name, + xo_color=color) menu_item.connect('activate', self.__resume_entry_cb, entry) menu_items.append(menu_item) menu_item.show() if journal_entries: - separator = Gtk.SeparatorMenuItem() + separator = PaletteMenuItemSeparator() menu_items.append(separator) separator.show() for i in range(0, len(menu_items)): - # the first menu_item is the label and the second is a - # separator so we need the offset - self.menu.insert(menu_items[i], i + self._PALETTE_LABEL_OFFSET) + self.menu_box.pack_start(menu_items[i], True, True, 0) def __resume_entry_cb(self, menu_item, entry): if entry is not None: diff --git a/src/jarabe/view/palettes.py b/src/jarabe/view/palettes.py index 10844ea..79540e6 100644 --- a/src/jarabe/view/palettes.py +++ b/src/jarabe/view/palettes.py @@ -138,12 +138,14 @@ class ActivityPalette(Palette): xo_color = XoColor('%s,%s' % (style.COLOR_WHITE.get_svg(), style.COLOR_TRANSPARENT.get_svg())) - menu_item = MenuItem(text_label=_('Start new'), - file_name=activity_info.get_icon(), - xo_color=xo_color) + self.menu_box = Gtk.VBox() + menu_item = PaletteMenuItem(text_label=_('Start new'), + file_name=activity_info.get_icon(), + xo_color=xo_color) menu_item.connect('activate', self.__start_activate_cb) - self.menu.append(menu_item) - menu_item.show() + self.menu_box.pack_end(menu_item, True, True, 0) + self.set_content(self.menu_box) + self.menu_box.show_all() # TODO: start-with -- cgit v0.9.1