[Sugar-devel] [PATCH v2 sugar] Shutdown and Logout menu items should activate the buzzy cursor (SL#2151)

Anurag Chowdhury anurag at seeta.in
Mon Sep 27 14:56:54 EDT 2010


Hello Tomeu , I actually worked upon your suggestion quoted in
http://lists.sugarlabs.org/archive/sugar-devel/2010-September/026741.html
to solve this bug. Actually I changed the cursor in homewindow this time and
used glib.idle_add( ) to break out of the infinite gtk.main() loop to
shutdown the system when the processor is idle and untill that time it will
show a busy cursor which i think will be the proper method to shutdown while
providing a visual confirmation of the process.

Please let me know if adding this information in description would be
sufficient. If required, I can add more information.Also I will resubmit a
new patch which will be more descriptive than this one.

Regards,

Anurag

On Mon, Sep 27, 2010 at 7:21 PM, Tomeu Vizoso <tomeu at sugarlabs.org> wrote:

> On Sat, Sep 25, 2010 at 23:29, Anurag Chowdhury <anurag at seeta.in> wrote:
> > Shutdown (and Logout) menu items should activate the buzzy cursor (or
> provide some other visual feedback, perhaps dimming/locking the UI from
> use).
>
> Hi Anurag, could you explain what you have changed since the last
> revision and why?
>
> With the information you have made available I would have to guess too
> much.
>
> Thanks,
>
> Tomeu
>
> > ---
> >  src/jarabe/view/buddymenu.py |   42
> ++++++++++++++++++++++++++++++++++--------
> >  1 files changed, 34 insertions(+), 8 deletions(-)
> >
> > v1 was Reviewed-By: James Cameron <quozl at laptop.org>
> > v1->v2: Set the cursor in its appropriate window
> >
> > diff --git a/src/jarabe/view/buddymenu.py b/src/jarabe/view/buddymenu.py
> > index 0ba6cc1..7135d9e 100644
> > --- a/src/jarabe/view/buddymenu.py
> > +++ b/src/jarabe/view/buddymenu.py
> > @@ -21,6 +21,8 @@ from gettext import gettext as _
> >  import gtk
> >  import gconf
> >  import dbus
> > +import jarabe
> > +import glib
> >
> >  from sugar.graphics.palette import Palette
> >  from sugar.graphics.menuitem import MenuItem
> > @@ -98,16 +100,40 @@ class BuddyMenu(Palette):
> >         item.show()
> >
> >     def __logout_activate_cb(self, menu_item):
> > -        session_manager = get_session_manager()
> > -        session_manager.logout()
> > +        def update_cur(window):
> > +
>  window.get_window().set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH))
> > +            return False
> > +        def shut(self, menu_item):
> > +            session_manager = get_session_manager()
> > +            session_manager.logout()
> > +        window = jarabe.desktop.homewindow.get_instance()
> > +        glib.timeout_add(3, update_cur, window)
> > +        glib.idle_add(shut,self,menu_item)
> > +        gtk.main()
> >
> >     def __reboot_activate_cb(self, menu_item):
> > -        session_manager = get_session_manager()
> > -        session_manager.reboot()
> > -
> > -    def __shutdown_activate_cb(self, menu_item):
> > -        session_manager = get_session_manager()
> > -        session_manager.shutdown()
> > +        def update_cur(window):
> > +
>  window.get_window().set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH))
> > +            return False
> > +        def shut(self, menu_item):
> > +            session_manager = get_session_manager()
> > +            session_manager.reboot()
> > +        window = jarabe.desktop.homewindow.get_instance()
> > +        glib.timeout_add(3, update_cur, window)
> > +        glib.idle_add(shut,self,menu_item)
> > +        gtk.main()
> > +
> > +    def __shutdown_activate_cb(self, menu_item):
> > +        def update_cur(window):
> > +
>  window.get_window().set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH))
> > +            return False
> > +        def shut(self, menu_item):
> > +            session_manager = get_session_manager()
> > +            session_manager.shutdown()
> > +        window = jarabe.desktop.homewindow.get_instance()
> > +        glib.timeout_add(3, update_cur, window)
> > +        glib.idle_add(shut,self,menu_item)
> > +        gtk.main()
> >
> >     def __controlpanel_activate_cb(self, menu_item):
> >         panel = ControlPanel()
> > --
> > 1.7.2.2
> >
> > _______________________________________________
> > Sugar-devel mailing list
> > Sugar-devel at lists.sugarlabs.org
> > http://lists.sugarlabs.org/listinfo/sugar-devel
> >
> _______________________________________________
> Sugar-devel mailing list
> Sugar-devel at lists.sugarlabs.org
> http://lists.sugarlabs.org/listinfo/sugar-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.sugarlabs.org/archive/sugar-devel/attachments/20100928/9fa8a7df/attachment-0001.htm 


More information about the Sugar-devel mailing list