Ticket #328: 0001-Disable-Start-menu-item-for-entries-that-can-t-be-op.patch

File 0001-Disable-Start-menu-item-for-entries-that-can-t-be-op.patch, 4.8 KB (added by mukul, 14 years ago)
  • src/jarabe/journal/palettes.py

    From 2af25bf21b2df2dca0e0eb9f319c74c461979d3a Mon Sep 17 00:00:00 2001
    From: Mukul Gupta <mukul@seeta.in>
    Date: Fri, 8 Oct 2010 22:11:23 +0530
    Subject: [PATCH] Disable Start menu item for entries that can't be opened(Bug#328)
    
    The patch disables the Start and Start With menu items for files
    which can't be opened by any installed activity and instead
    replace it with a hover dropdown with a menu item 'No activity
    installed to start entry'
    ---
     src/jarabe/journal/palettes.py |   99 +++++++++++++++++++++------------------
     1 files changed, 53 insertions(+), 46 deletions(-)
    
    diff --git a/src/jarabe/journal/palettes.py b/src/jarabe/journal/palettes.py
    index 7c3e5ff..56df595 100644
    a b class ObjectPalette(Palette): 
    6262        Palette.__init__(self, primary_text=title,
    6363                         icon=activity_icon)
    6464
    65         if metadata.get('activity_id', ''):
    66             resume_label = _('Resume')
    67             resume_with_label = _('Resume with')
    68         else:
    69             resume_label = _('Start')
    70             resume_with_label = _('Start with')
    71         menu_item = MenuItem(resume_label, 'activity-start')
    72         menu_item.connect('activate', self.__start_activate_cb)
    73         self.menu.append(menu_item)
    74         menu_item.show()
    75 
    76         menu_item = MenuItem(resume_with_label, 'activity-start')
    77         self.menu.append(menu_item)
    78         menu_item.show()
    79         start_with_menu = StartWithMenu(self._metadata)
    80         menu_item.set_submenu(start_with_menu)
    81 
    82         client = gconf.client_get_default()
    83         color = XoColor(client.get_string('/desktop/sugar/user/color'))
    84         menu_item = MenuItem(_('Copy'))
    85         icon = Icon(icon_name='edit-copy', xo_color=color,
    86                     icon_size=gtk.ICON_SIZE_MENU)
    87         menu_item.set_image(icon)
    88         menu_item.connect('activate', self.__copy_activate_cb)
    89         self.menu.append(menu_item)
    90         menu_item.show()
    91 
    92         menu_item = MenuItem(_('Send to'), 'document-send')
    93         self.menu.append(menu_item)
    94         menu_item.show()
    95 
    96         friends_menu = FriendsMenu()
    97         friends_menu.connect('friend-selected', self.__friend_selected_cb)
    98         menu_item.set_submenu(friends_menu)
    99 
    100         if detail == True:
    101             menu_item = MenuItem(_('View Details'), 'go-right')
    102             menu_item.connect('activate', self.__detail_activate_cb)
    103             self.menu.append(menu_item)
    104             menu_item.show()
    105 
    106         menu_item = MenuItem(_('Erase'), 'list-remove')
    107         menu_item.connect('activate', self.__erase_activate_cb)
    108         self.menu.append(menu_item)
    109         menu_item.show()
     65        if misc.get_activities(metadata):       
     66            if metadata.get('activity_id', ''):
     67                resume_label = _('Resume')
     68                resume_with_label = _('Resume with')
     69            else:
     70                resume_label = _('Start')
     71                resume_with_label = _('Start with')
     72            menu_item = MenuItem(resume_label, 'activity-start')
     73            menu_item.connect('activate', self.__start_activate_cb)
     74            self.menu.append(menu_item)
     75            menu_item.show()
     76       
     77            menu_item = MenuItem(resume_with_label, 'activity-start')
     78            self.menu.append(menu_item)
     79            menu_item.show()
     80            start_with_menu = StartWithMenu(self._metadata)
     81            menu_item.set_submenu(start_with_menu)
     82
     83        else:
     84            resume_label = _('No activity installed to start entry')
     85            menu_item = MenuItem(resume_label)
     86            menu_item.set_sensitive(False)
     87            self.menu.append(menu_item)
     88            menu_item.show()
     89
     90        client = gconf.client_get_default()
     91        color = XoColor(client.get_string('/desktop/sugar/user/color'))
     92        menu_item = MenuItem(_('Copy'))
     93        icon = Icon(icon_name='edit-copy', xo_color=color,
     94                    icon_size=gtk.ICON_SIZE_MENU)
     95        menu_item.set_image(icon)
     96        menu_item.connect('activate', self.__copy_activate_cb)
     97        self.menu.append(menu_item)
     98        menu_item.show()
     99
     100        menu_item = MenuItem(_('Send to'), 'document-send')
     101        self.menu.append(menu_item)
     102        menu_item.show()
     103
     104        friends_menu = FriendsMenu()
     105        friends_menu.connect('friend-selected', self.__friend_selected_cb)
     106        menu_item.set_submenu(friends_menu)
     107       
     108        if detail == True:
     109            menu_item = MenuItem(_('View Details'), 'go-right')
     110            menu_item.connect('activate', self.__detail_activate_cb)
     111            self.menu.append(menu_item)
     112            menu_item.show()
     113       
     114        menu_item = MenuItem(_('Erase'), 'list-remove')
     115        menu_item.connect('activate', self.__erase_activate_cb)
     116        self.menu.append(menu_item)
     117        menu_item.show()
    110118
    111119    def __start_activate_cb(self, menu_item):
    112120        misc.resume(self._metadata)
    class StartWithMenu(gtk.Menu): 
    219227            mime_registry.set_default_activity(mime_type, service_name)
    220228        misc.resume(self._metadata, service_name)
    221229
    222 
    223230class BuddyPalette(Palette):
    224231    def __init__(self, buddy):
    225232        self._buddy = buddy