Ticket #2151: 0001-PATCH-v4-sugar-Shutdown-and-Logout-menuitems-should-.patch

File 0001-PATCH-v4-sugar-Shutdown-and-Logout-menuitems-should-.patch, 2.8 KB (added by anurag_seeta, 14 years ago)
  • src/jarabe/view/buddymenu.py

    From f43606cc4b8697feebde25ca459278a0eb8f47d9 Mon Sep 17 00:00:00 2001
    From: Anurag Chowdhury <anurag@seeta.in>
    Date: Wed, 6 Oct 2010 04:31:30 +0530
    Subject: [PATCH v4 sugar] Shutdown (and Logout) menuitems should activate
    the busy cursor (or provide some other visual feedback, perhaps dimming/
    locking the UI from   use).
    
    We changed the cursor in home window to a busy cursor when the shutdown menu
    is activated and used glib.idle_add( ) to call the shut funtion when pygtk is
    idle to shutdown or logout the sugar session properly , hence letting the user
    know  the validity of the shutdown process going on in the backend.
    ---
     src/jarabe/view/buddymenu.py |   26 ++++++++++++++++++++------
     1 files changed, 20 insertions(+), 6 deletions(-)
    
    v1 was Reviewed-By: James Cameron <quozl at laptop.org>
    v2 was Reviewed-By: Tomeu Vizoso<tomeu@sugarlabs.org>
    v3 was Reviewed-By: James Cameron <quozl at laptop.org>
    v3->v4 : Removed redundant function calls like glib.timeout_add() and gtk.main()
    
    diff --git a/src/jarabe/view/buddymenu.py b/src/jarabe/view/buddymenu.py
    index 0ba6cc1..78cdeb4 100644
    a b from gettext import gettext as _ 
    2121import gtk
    2222import gconf
    2323import dbus
     24import glib
     25import jarabe
    2426
    2527from sugar.graphics.palette import Palette
    2628from sugar.graphics.menuitem import MenuItem
    class BuddyMenu(Palette): 
    98100        item.show()
    99101
    100102    def __logout_activate_cb(self, menu_item):
    101         session_manager = get_session_manager()
    102         session_manager.logout()
     103        def shut(self, menu_item):
     104            session_manager = get_session_manager()
     105            session_manager.logout()
     106        window = jarabe.desktop.homewindow.get_instance()
     107        window.get_window().set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH))         
     108        glib.idle_add(shut,self,menu_item)
    103109
    104110    def __reboot_activate_cb(self, menu_item):
    105         session_manager = get_session_manager()
    106         session_manager.reboot()
     111        def shut(self, menu_item):
     112            session_manager = get_session_manager()
     113            session_manager.reboot()
     114        window = jarabe.desktop.homewindow.get_instance()
     115        window.get_window().set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH))         
     116        glib.idle_add(shut,self,menu_item)
    107117
    108118    def __shutdown_activate_cb(self, menu_item):
    109         session_manager = get_session_manager()
    110         session_manager.shutdown()
     119        def shut(self, menu_item):
     120            session_manager = get_session_manager()
     121            session_manager.reboot()
     122        window = jarabe.desktop.homewindow.get_instance()
     123        window.get_window().set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH))         
     124        glib.idle_add(shut,self,menu_item)
    111125
    112126    def __controlpanel_activate_cb(self, menu_item):
    113127        panel = ControlPanel()