Ticket #3992: 0001-FavoritesView-switch-ActivityPalette-from-GTK.Menu-t.patch

File 0001-FavoritesView-switch-ActivityPalette-from-GTK.Menu-t.patch, 3.9 KB (added by erikos, 12 years ago)

FavoritesView: switch ActivityPalette from GTK.Menu to custom menu

  • src/jarabe/desktop/favoritesview.py

    From aebd62a4ce23d89dfba91f093f9354969e6184c4 Mon Sep 17 00:00:00 2001
    From: Simon Schampijer <simon@laptop.org>
    Date: Thu, 25 Oct 2012 12:29:56 +0200
    Subject: [PATCH shell] 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 <simon@laptop.org>
    ---
     src/jarabe/desktop/favoritesview.py | 16 +++++++---------
     src/jarabe/view/palettes.py         | 12 +++++++-----
     2 files changed, 14 insertions(+), 14 deletions(-)
    
    diff --git a/src/jarabe/desktop/favoritesview.py b/src/jarabe/desktop/favoritesview.py
    index 9c7a76e..e71b769 100644
    a b from sugar3.graphics import style 
    3030from sugar3.graphics.icon import Icon
    3131from sugar3.graphics.icon import CanvasIcon
    3232from sugar3.graphics.menuitem import MenuItem
     33from sugar3.graphics.palettemenuitem import PaletteMenuItem
     34from sugar3.graphics.palettemenuitem import PaletteMenuItemSeparator
    3335from sugar3.graphics.alert import Alert
    3436from sugar3.graphics.xocolor import XoColor
    3537from sugar3.activity import activityfactory
    class ActivityIcon(CanvasIcon): 
    488490class FavoritePalette(ActivityPalette):
    489491    __gtype_name__ = 'SugarFavoritePalette'
    490492
    491     _PALETTE_LABEL_OFFSET = 2
    492 
    493493    __gsignals__ = {
    494494        'entry-activate': (GObject.SignalFlags.RUN_FIRST,
    495495                           None, ([object])),
    class FavoritePalette(ActivityPalette): 
    517517                icon_file_name = misc.get_icon_name(entry)
    518518                color = misc.get_icon_color(entry)
    519519
    520                 menu_item = MenuItem(text_label=entry['title'],
    521                                      file_name=icon_file_name,
    522                                      xo_color=color)
     520                menu_item = PaletteMenuItem(text_label=entry['title'],
     521                                            file_name=icon_file_name,
     522                                            xo_color=color)
    523523                menu_item.connect('activate', self.__resume_entry_cb, entry)
    524524                menu_items.append(menu_item)
    525525                menu_item.show()
    526526
    527527            if journal_entries:
    528                 separator = Gtk.SeparatorMenuItem()
     528                separator = PaletteMenuItemSeparator()
    529529                menu_items.append(separator)
    530530                separator.show()
    531531
    532532            for i in range(0, len(menu_items)):
    533                 # the first menu_item is the label and the second is a
    534                 # separator so we need the offset
    535                 self.menu.insert(menu_items[i], i + self._PALETTE_LABEL_OFFSET)
     533                self.menu_box.pack_start(menu_items[i], True, True, 0)
    536534
    537535    def __resume_entry_cb(self, menu_item, entry):
    538536        if entry is not None:
  • src/jarabe/view/palettes.py

    diff --git a/src/jarabe/view/palettes.py b/src/jarabe/view/palettes.py
    index 10844ea..79540e6 100644
    a b class ActivityPalette(Palette): 
    138138
    139139        xo_color = XoColor('%s,%s' % (style.COLOR_WHITE.get_svg(),
    140140                                      style.COLOR_TRANSPARENT.get_svg()))
    141         menu_item = MenuItem(text_label=_('Start new'),
    142                              file_name=activity_info.get_icon(),
    143                              xo_color=xo_color)
     141        self.menu_box = Gtk.VBox()
     142        menu_item = PaletteMenuItem(text_label=_('Start new'),
     143                                    file_name=activity_info.get_icon(),
     144                                    xo_color=xo_color)
    144145        menu_item.connect('activate', self.__start_activate_cb)
    145         self.menu.append(menu_item)
    146         menu_item.show()
     146        self.menu_box.pack_end(menu_item, True, True, 0)
     147        self.set_content(self.menu_box)
     148        self.menu_box.show_all()
    147149
    148150        # TODO: start-with
    149151