Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/jarabe/view/buddymenu.py
diff options
context:
space:
mode:
authorSascha Silbe <silbe@activitycentral.com>2010-12-15 00:22:29 (GMT)
committer Sascha Silbe <silbe@activitycentral.com>2011-02-12 12:45:44 (GMT)
commitdf126badb7b76e5152c4abfdfec17db02cefa014 (patch)
tree571db4e67b525b29c0bbe024e031f29bfe867a78 /src/jarabe/view/buddymenu.py
parent8e59b300caeff8fee61eb8e586ef54ad64cdf0f1 (diff)
Show busy cursor during session shutdown
Show a busy cursor when shutdown, logout, or reboot options are selected. Defer the selected action to an idle task so that the cursor change is flushed to the display. Co-Authored-By: James Cameron <quozl@laptop.org> Co-Authored-By: Aleksey Lim <alsroot@member.fsf.org> Co-Authored-By: Anurag Chowdhury <anurag@seeta.in> Signed-off-by: Sascha Silbe <sascha-pgp@silbe.org> Reviewed-by: James Cameron <quozl@laptop.org>
Diffstat (limited to 'src/jarabe/view/buddymenu.py')
-rw-r--r--src/jarabe/view/buddymenu.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/jarabe/view/buddymenu.py b/src/jarabe/view/buddymenu.py
index 61b10e9..f824e70 100644
--- a/src/jarabe/view/buddymenu.py
+++ b/src/jarabe/view/buddymenu.py
@@ -30,6 +30,7 @@ from jarabe.model import shell
from jarabe.model import friends
from jarabe.model.session import get_session_manager
from jarabe.controlpanel.gui import ControlPanel
+import jarabe.desktop.homewindow
class BuddyMenu(Palette):
@@ -104,17 +105,18 @@ class BuddyMenu(Palette):
self.menu.append(item)
item.show()
+ def _quit(self, action):
+ home_window = jarabe.desktop.homewindow.get_instance()
+ home_window.busy_during_delayed_action(action)
+
def __logout_activate_cb(self, menu_item):
- session_manager = get_session_manager()
- session_manager.logout()
+ self._quit(get_session_manager().logout)
def __reboot_activate_cb(self, menu_item):
- session_manager = get_session_manager()
- session_manager.reboot()
+ self._quit(get_session_manager().reboot)
def __shutdown_activate_cb(self, menu_item):
- session_manager = get_session_manager()
- session_manager.shutdown()
+ self._quit(get_session_manager().shutdown)
def __controlpanel_activate_cb(self, menu_item):
panel = ControlPanel()