Ticket #3992: 0001-CurrentActivityPalette-switch-ActivityPalette-from-G.patch

File 0001-CurrentActivityPalette-switch-ActivityPalette-from-G.patch, 3.1 KB (added by erikos, 11 years ago)

CurrentActivityPalette: switch ActivityPalette from GTK.Menu to custom menu

  • src/jarabe/view/palettes.py

    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): 
    8383        if title and title != activity_name:
    8484            self.props.secondary_text = glib.markup_escape_text(title)
    8585
    86         menu_item = MenuItem(_('Resume'), 'activity-start')
     86        self.menu_box = Gtk.VBox()
     87
     88        menu_item = PaletteMenuItem(_('Resume'), 'activity-start')
    8789        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)
    9091
    9192        # TODO: share-with, keep
    9293
    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')
    9695        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)
    9997
    100         separator = Gtk.SeparatorMenuItem()
    101         self.menu.append(separator)
     98        separator = PaletteMenuItemSeparator()
     99        self.menu_box.pack_start(menu_item, True, True, 0)
    102100        separator.show()
    103101
    104         menu_item = MenuItem(_('Stop'), 'activity-stop')
     102        menu_item = PaletteMenuItem(_('Stop'), 'activity-stop')
    105103        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()
    108108
    109109    def __resume_activate_cb(self, menu_item):
     110        self.popdown(immediate=True)
    110111        self._home_activity.get_window().activate(Gtk.get_current_event_time())
    111112
    112113    def __view_source__cb(self, menu_item):
     114        self.popdown(immediate=True)
    113115        setup_view_source(self._home_activity)
    114116        shell_model = shell.get_model()
    115117        if self._home_activity is not shell_model.get_active_activity():
    class CurrentActivityPalette(BasePalette): 
    117119                Gtk.get_current_event_time())
    118120
    119121    def __stop_activate_cb(self, menu_item):
     122        self.popdown(immediate=True)
    120123        self._home_activity.get_window().close(1)
    121124
    122125