diff options
author | Conor Curran <conor.curran@canonical.com> | 2011-08-09 09:59:20 +0100 |
---|---|---|
committer | Conor Curran <conor.curran@canonical.com> | 2011-08-09 09:59:20 +0100 |
commit | 853ad495b863c179792044f1a74e8556d04e32db (patch) | |
tree | 8c8ac5869ebb4908f537e05f28db27261dabd180 /src/apt-watcher.c | |
parent | 3edbdc147bcf6ce1b94e6156e318728c41abea2a (diff) | |
download | ayatana-indicator-session-853ad495b863c179792044f1a74e8556d04e32db.tar.gz ayatana-indicator-session-853ad495b863c179792044f1a74e8556d04e32db.tar.bz2 ayatana-indicator-session-853ad495b863c179792044f1a74e8556d04e32db.zip |
and the actual code
Diffstat (limited to 'src/apt-watcher.c')
-rw-r--r-- | src/apt-watcher.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/apt-watcher.c b/src/apt-watcher.c index 285eb81..72a63ac 100644 --- a/src/apt-watcher.c +++ b/src/apt-watcher.c @@ -266,11 +266,23 @@ apt_watcher_transaction_state_update_cb (AptTransaction* trans, _("Updates Installing…")); } else if (state == FINISHED){ - dbusmenu_menuitem_property_set (self->apt_item, - DBUSMENU_MENUITEM_PROP_LABEL, - _("Software Up to Date")); + GVariant* reboot_result = g_dbus_proxy_get_cached_property (self->proxy, + "RebootRequired"); + gboolean reboot; + g_variant_get (reboot_result, "b", &reboot); + if (reboot == FALSE){ + dbusmenu_menuitem_property_set (self->apt_item, + DBUSMENU_MENUITEM_PROP_LABEL, + _("Software Up to Date")); + } + else{ + dbusmenu_menuitem_property_set (self->apt_item, + DBUSMENU_MENUITEM_PROP_LABEL, + _("Reboot Required")); + session_dbus_restart_required (self->session_dbus_interface); + } g_object_unref (G_OBJECT(self->current_transaction)); - self->current_transaction = NULL; + self->current_transaction = NULL; } self->current_state = state; } |