[Sugar-devel] [PATCH v2 sugar] Shutdown and Logout menu items should activate the buzzy cursor (SL#2151)
Anurag Chowdhury
anurag at seeta.in
Sat Sep 25 17:29:07 EDT 2010
Shutdown (and Logout) menu items should activate the buzzy cursor (or provide some other visual feedback, perhaps dimming/locking the UI from use).
---
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
More information about the Sugar-devel
mailing list