From 50efa94bd1a30e53fb38a2d25478db5597032e79 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 23 Mar 2010 20:11:52 -0500 Subject: Missed the 'Switch Off' texts in the dialog. --- src/dialog.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/dialog.c b/src/dialog.c index deefe0b..fba8013 100644 --- a/src/dialog.c +++ b/src/dialog.c @@ -34,7 +34,7 @@ with this program. If not, see . static const gchar * title_strings[LOGOUT_DIALOG_TYPE_CNT] = { /* LOGOUT_DIALOG_LOGOUT, */ NC_("title", "Log Out"), /* LOGOUT_DIALOG_RESTART, */ NC_("title", "Restart"), - /* LOGOUT_DIALOG_SHUTDOWN, */ NC_("title", "Switch Off") + /* LOGOUT_DIALOG_SHUTDOWN, */ NC_("title", "Shut Down") }; static const gchar * body_strings[LOGOUT_DIALOG_TYPE_CNT] = { @@ -46,7 +46,7 @@ static const gchar * body_strings[LOGOUT_DIALOG_TYPE_CNT] = { static const gchar * button_strings[LOGOUT_DIALOG_TYPE_CNT] = { /* LOGOUT_DIALOG_LOGOUT, */ NC_("button", "Log Out"), /* LOGOUT_DIALOG_RESTART, */ NC_("button", "Restart"), - /* LOGOUT_DIALOG_SHUTDOWN, */ NC_("button", "Switch Off") + /* LOGOUT_DIALOG_SHUTDOWN, */ NC_("button", "Shut Down") }; /* TRANSLATORS: These strings have an ellipsis so that the user knows @@ -54,7 +54,7 @@ static const gchar * button_strings[LOGOUT_DIALOG_TYPE_CNT] = { static const gchar * button_auth_strings[LOGOUT_DIALOG_TYPE_CNT] = { /* LOGOUT_DIALOG_LOGOUT, */ NC_("button auth", "Log Out"), /* LOGOUT_DIALOG_RESTART, */ NC_("button auth", "Restart..."), - /* LOGOUT_DIALOG_SHUTDOWN, */ NC_("button auth", "Switch Off...") + /* LOGOUT_DIALOG_SHUTDOWN, */ NC_("button auth", "Shut Down...") }; /* TRANSLATORS: This button appears on the logout dialog when -- cgit v1.2.3 From bb6754e8d32362d7c3558ce4b839c7a2089cec4f Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 24 Mar 2010 15:35:00 -0500 Subject: Scale the avatars to be ICON_SIZE_MENU --- src/indicator-session.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/indicator-session.c b/src/indicator-session.c index b54a5d9..10e8684 100644 --- a/src/indicator-session.c +++ b/src/indicator-session.c @@ -248,7 +248,17 @@ new_user_item (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, DbusmenuCl usericon = gtk_image_new_from_gicon(gicon, GTK_ICON_SIZE_MENU); g_object_unref(gicon); } else { - usericon = gtk_image_new_from_file(icon_name); + gint width, height; + gtk_icon_size_lookup(GTK_ICON_SIZE_MENU, &width, &height); + + GError * error = NULL; + GdkPixbuf * pixbuf = gdk_pixbuf_new_from_file_at_size(icon_name, width, height, &error); + + if (error == NULL) { + usericon = gtk_image_new_from_pixbuf(pixbuf); + } else { + g_error_free(error); + } } } if (usericon != NULL) { -- cgit v1.2.3 From b0d252aed4071e95a648fbcf9f102f816fbd1725 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 24 Mar 2010 16:24:26 -0500 Subject: Flipping things around a little bit so that if we get an error, we'll still build the default icon. --- src/indicator-session.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/indicator-session.c b/src/indicator-session.c index 10e8684..57ead25 100644 --- a/src/indicator-session.c +++ b/src/indicator-session.c @@ -243,11 +243,7 @@ new_user_item (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, DbusmenuCl const gchar * icon_name = dbusmenu_menuitem_property_get(newitem, USER_ITEM_PROP_ICON); g_debug("Using user icon for '%s' from file: %s", dbusmenu_menuitem_property_get(newitem, USER_ITEM_PROP_NAME), icon_name); if (icon_name != NULL && icon_name[0] != '\0') { - if (g_strcmp0(icon_name, USER_ITEM_ICON_DEFAULT) == 0 || !g_file_test(icon_name, G_FILE_TEST_EXISTS)) { - GIcon * gicon = g_themed_icon_new_with_default_fallbacks("stock_person-panel"); - usericon = gtk_image_new_from_gicon(gicon, GTK_ICON_SIZE_MENU); - g_object_unref(gicon); - } else { + if (g_strcmp0(icon_name, USER_ITEM_ICON_DEFAULT) != 0 && g_file_test(icon_name, G_FILE_TEST_EXISTS)) { gint width, height; gtk_icon_size_lookup(GTK_ICON_SIZE_MENU, &width, &height); @@ -256,10 +252,18 @@ new_user_item (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, DbusmenuCl if (error == NULL) { usericon = gtk_image_new_from_pixbuf(pixbuf); + g_object_unref(pixbuf); } else { + g_warning("Unable to load user icon '%s': %s", icon_name, error->message); g_error_free(error); } } + + if (usericon == NULL) { + GIcon * gicon = g_themed_icon_new_with_default_fallbacks("stock_person-panel"); + usericon = gtk_image_new_from_gicon(gicon, GTK_ICON_SIZE_MENU); + g_object_unref(gicon); + } } if (usericon != NULL) { gtk_misc_set_alignment(GTK_MISC(usericon), 0.0, 0.5); -- cgit v1.2.3 From 57f27aacb9ad4d60491a2bb65910a599fce23e0b Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 24 Mar 2010 16:39:57 -0500 Subject: Adding in a check to see if the translator would like to fallback to not using the username. --- src/indicator-session.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/indicator-session.c b/src/indicator-session.c index b54a5d9..9167a03 100644 --- a/src/indicator-session.c +++ b/src/indicator-session.c @@ -300,11 +300,20 @@ switch_property_change (DbusmenuMenuitem * item, const gchar * property, const G GtkMenuItem * gmi = dbusmenu_gtkclient_menuitem_get(DBUSMENU_GTKCLIENT(user_data), item); gchar * finalstring = NULL; gboolean set_ellipsize = FALSE; + gboolean no_name_in_lang = FALSE; + + /* TRANSLATORS: Translate the '1' below into anything other than + '1' if "Switch From %s..." doesn't make sense in your language. + Instead, the string "Switch User..." will be used. */ + const gchar * translate = C_("session_menu:switchfrom", "1"); + if (g_strcmp0(translate, "1") != 0) { + no_name_in_lang = TRUE; + } /* If there's a NULL string of some type, then we want to go back to our old 'Switch User' which isn't great but eh, this error condition should never happen. */ - if (value == NULL || g_value_get_string(value) == NULL || g_value_get_string(value)[0] == '\0') { + if (value == NULL || g_value_get_string(value) == NULL || g_value_get_string(value)[0] == '\0' || no_name_in_lang) { finalstring = _("Switch User..."); set_ellipsize = FALSE; } -- cgit v1.2.3 From e100d5583e340fa96f4e8c4aefae2d106c17a082 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 25 Mar 2010 13:09:23 -0500 Subject: Changing the menu item to 'Suspend' --- src/session-service.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/session-service.c b/src/session-service.c index c1c2e57..3b3106a 100644 --- a/src/session-service.c +++ b/src/session-service.c @@ -637,7 +637,7 @@ rebuild_items (DbusmenuMenuitem *root, if (can_suspend && allow_suspend) { suspend_mi = dbusmenu_menuitem_new(); - dbusmenu_menuitem_property_set(suspend_mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Sleep")); + dbusmenu_menuitem_property_set(suspend_mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Suspend")); dbusmenu_menuitem_child_append(root, suspend_mi); g_signal_connect(G_OBJECT(suspend_mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(machine_sleep), "Suspend"); } -- cgit v1.2.3 From cbbb96c5255b9842546c8480c0b2b60da3955560 Mon Sep 17 00:00:00 2001 From: Gabor Kelemen Date: Mon, 29 Mar 2010 14:08:16 -0500 Subject: Use contexts properly --- src/dialog.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/dialog.c b/src/dialog.c index fba8013..51b1682 100644 --- a/src/dialog.c +++ b/src/dialog.c @@ -174,7 +174,7 @@ logout_dialog_new (LogoutDialogType type) "icon-name", icon_strings[type], "modal", TRUE, "resizable", FALSE, - "title", _(title_strings[type]), + "title", g_dpgettext2 (NULL, "title", title_strings[type]), "window-position", GTK_WIN_POS_CENTER_ALWAYS, /* Message Dialog */ "buttons", GTK_BUTTONS_NONE, @@ -197,9 +197,9 @@ logout_dialog_new (LogoutDialogType type) const gchar * button_text; if (allowed) { - button_text = _(button_strings[type]); + button_text = g_dpgettext2 (NULL, "button", button_strings[type]); } else { - button_text = _(button_auth_strings[type]); + button_text = g_dpgettext2 (NULL, "button auth", button_auth_strings[type]); } if (restart_required) { -- cgit v1.2.3 From 953b64bb904c94718ef822fc7ba3a2e71c64e147 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 1 Apr 2010 21:27:28 -0500 Subject: Seems that the message isn't always valid --- src/gtk-logout-helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/gtk-logout-helper.c b/src/gtk-logout-helper.c index 64fba14..b8923c6 100644 --- a/src/gtk-logout-helper.c +++ b/src/gtk-logout-helper.c @@ -68,7 +68,7 @@ consolekit_fallback (LogoutDialogType action) g_object_unref(proxy); if (error != NULL) { - g_error("Unable to signal ConsoleKit: %s", error->message); + g_error("Unable to signal ConsoleKit"); g_error_free(error); } -- cgit v1.2.3 From a8a52218ac55b27ed2b27ae44993bf2f35165e4d Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 6 Apr 2010 11:49:10 -0500 Subject: Actually pass the service in the callback --- src/session-service.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/session-service.c b/src/session-service.c index 3b3106a..c522748 100644 --- a/src/session-service.c +++ b/src/session-service.c @@ -545,7 +545,7 @@ rebuild_items (DbusmenuMenuitem *root, dbusmenu_menuitem_property_set (guest_mi, USER_ITEM_PROP_NAME, _("Guest Session")); dbusmenu_menuitem_property_set_bool (guest_mi, USER_ITEM_PROP_LOGGED_IN, FALSE); dbusmenu_menuitem_child_append (root, guest_mi); - g_signal_connect (G_OBJECT (guest_mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK (activate_guest_session), NULL); + g_signal_connect (G_OBJECT (guest_mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK (activate_guest_session), service); users_service_dbus_set_guest_item(service, guest_mi); } -- cgit v1.2.3 From 7a7161a2640f3b833ec4180c3c658de33042b011 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 6 Apr 2010 11:58:16 -0500 Subject: Adding some protection. We should always use protection. --- src/users-service-dbus.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src') diff --git a/src/users-service-dbus.c b/src/users-service-dbus.c index 86007c3..58490de 100644 --- a/src/users-service-dbus.c +++ b/src/users-service-dbus.c @@ -550,6 +550,7 @@ static void add_sessions_for_user (UsersServiceDbus *self, UserData *user) { + g_return_if_fail(IS_USERS_SERVICE_DBUS(self)); UsersServiceDbusPrivate *priv = USERS_SERVICE_DBUS_GET_PRIVATE (self); GError *error; GPtrArray *sessions; @@ -582,6 +583,7 @@ seat_proxy_session_added (DBusGProxy *seat_proxy, const gchar *session_id, UsersServiceDbus *service) { + g_return_if_fail(IS_USERS_SERVICE_DBUS(service)); UsersServiceDbusPrivate *priv = USERS_SERVICE_DBUS_GET_PRIVATE (service); uid_t uid; gboolean res; @@ -627,6 +629,7 @@ seat_proxy_session_removed (DBusGProxy *seat_proxy, const gchar *session_id, UsersServiceDbus *service) { + g_return_if_fail(IS_USERS_SERVICE_DBUS(service)); UsersServiceDbusPrivate *priv = USERS_SERVICE_DBUS_GET_PRIVATE (service); UserData *user; gchar *username; @@ -671,6 +674,7 @@ seat_proxy_session_removed (DBusGProxy *seat_proxy, static void sync_users (UsersServiceDbus *self) { + g_return_if_fail(IS_USERS_SERVICE_DBUS(self)); UsersServiceDbusPrivate *priv = USERS_SERVICE_DBUS_GET_PRIVATE (self); if (g_hash_table_size (priv->users) > 0) @@ -770,6 +774,7 @@ static gboolean session_is_login_window (UsersServiceDbus *self, const char *ssid) { + g_return_val_if_fail(IS_USERS_SERVICE_DBUS(self), FALSE); UsersServiceDbusPrivate *priv = USERS_SERVICE_DBUS_GET_PRIVATE (self); DBusGProxy *proxy = NULL; GError *error = NULL; @@ -805,6 +810,7 @@ session_is_login_window (UsersServiceDbus *self, static char * get_login_session (UsersServiceDbus *self) { + g_return_val_if_fail(IS_USERS_SERVICE_DBUS(self), NULL); UsersServiceDbusPrivate *priv = USERS_SERVICE_DBUS_GET_PRIVATE (self); gboolean can_activate; GError *error = NULL; @@ -871,6 +877,7 @@ activate_user_session (UsersServiceDbus *self, const char *seat, const char *ssid) { + g_return_val_if_fail(IS_USERS_SERVICE_DBUS(self), FALSE); UsersServiceDbusPrivate *priv = USERS_SERVICE_DBUS_GET_PRIVATE (self); DBusMessage *message = NULL; DBusMessage *reply = NULL; @@ -1057,6 +1064,8 @@ user_updated (DBusGProxy *proxy, gint users_service_dbus_get_user_count (UsersServiceDbus *self) { + g_return_val_if_fail(IS_USERS_SERVICE_DBUS(self), 0); + UsersServiceDbusPrivate *priv = USERS_SERVICE_DBUS_GET_PRIVATE (self); return priv->count; @@ -1065,6 +1074,8 @@ users_service_dbus_get_user_count (UsersServiceDbus *self) GList * users_service_dbus_get_user_list (UsersServiceDbus *self) { + g_return_val_if_fail(IS_USERS_SERVICE_DBUS(self), NULL); + UsersServiceDbusPrivate *priv = USERS_SERVICE_DBUS_GET_PRIVATE (self); return g_hash_table_get_values (priv->users); @@ -1074,6 +1085,7 @@ users_service_dbus_get_user_list (UsersServiceDbus *self) gboolean users_service_dbus_activate_guest_session (UsersServiceDbus *self) { + g_return_val_if_fail(IS_USERS_SERVICE_DBUS(self), FALSE); UsersServiceDbusPrivate *priv = USERS_SERVICE_DBUS_GET_PRIVATE (self); return org_gnome_DisplayManager_LocalDisplayFactory_switch_to_user(priv->gdm_local_proxy, "guest", NULL, NULL); } @@ -1083,6 +1095,7 @@ gboolean users_service_dbus_activate_user_session (UsersServiceDbus *self, UserData *user) { + g_return_val_if_fail(IS_USERS_SERVICE_DBUS(self), FALSE); UsersServiceDbusPrivate *priv = USERS_SERVICE_DBUS_GET_PRIVATE (self); return org_gnome_DisplayManager_LocalDisplayFactory_switch_to_user(priv->gdm_local_proxy, user->user_name, NULL, NULL); } @@ -1090,6 +1103,7 @@ users_service_dbus_activate_user_session (UsersServiceDbus *self, gboolean users_service_dbus_can_activate_session (UsersServiceDbus *self) { + g_return_val_if_fail(IS_USERS_SERVICE_DBUS(self), FALSE); UsersServiceDbusPrivate *priv = USERS_SERVICE_DBUS_GET_PRIVATE (self); gboolean can_activate = FALSE; GError *error = NULL; @@ -1124,6 +1138,7 @@ users_service_dbus_can_activate_session (UsersServiceDbus *self) void users_service_dbus_set_guest_item (UsersServiceDbus * self, DbusmenuMenuitem * mi) { + g_return_if_fail(IS_USERS_SERVICE_DBUS(self)); UsersServiceDbusPrivate *priv = USERS_SERVICE_DBUS_GET_PRIVATE (self); priv->guest_item = mi; -- cgit v1.2.3 From 07dcd3f24ee57e0ee895e457f1b07bd126c2facf Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 6 Apr 2010 17:24:42 -0500 Subject: Adding the restart and shutdown keys and functions to check them. --- src/gconf-helper.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/gconf-helper.h b/src/gconf-helper.h index 6f9bcb7..505c24f 100644 --- a/src/gconf-helper.h +++ b/src/gconf-helper.h @@ -36,6 +36,8 @@ with this program. If not, see . #define GLOBAL_DIR "/apps/indicator-session" #define SUPPRESS_KEY GLOBAL_DIR "/suppress_logout_restart_shutdown" #define LOGOUT_KEY GLOBAL_DIR "/suppress_logout_menuitem" +#define RESTART_KEY GLOBAL_DIR "/suppress_restart_menuitem" +#define SHUTDOWN_KEY GLOBAL_DIR "/suppress_shutdown_menuitem" typedef struct _RestartShutdownLogoutMenuItems { @@ -45,8 +47,10 @@ typedef struct _RestartShutdownLogoutMenuItems } RestartShutdownLogoutMenuItems; -void update_menu_entries(RestartShutdownLogoutMenuItems*, DbusmenuMenuitem * logoutitem); +void update_menu_entries(RestartShutdownLogoutMenuItems*); gboolean supress_confirmations (void); gboolean show_logout (void); +gboolean show_restart (void); +gboolean show_shutdown (void); #endif /* __GCONF_HELPER__ */ -- cgit v1.2.3 From 234ca9cd5a231b6beee298539203b4de4d27e5bc Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 6 Apr 2010 17:25:05 -0500 Subject: Filling out everything to check and update the shutdown/restart items --- src/gconf-helper.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/gconf-helper.c b/src/gconf-helper.c index 29d8526..4911dcb 100644 --- a/src/gconf-helper.c +++ b/src/gconf-helper.c @@ -36,6 +36,8 @@ with this program. If not, see . static GConfClient * gconf_client = NULL; static guint confirmation_notify = 0; static guint logout_notify = 0; +static guint restart_notify = 0; +static guint shutdown_notify = 0; gboolean supress_confirmations (void) { @@ -53,6 +55,22 @@ show_logout (void) { return !gconf_client_get_bool (gconf_client, LOGOUT_KEY, NULL) ; } +gboolean +show_restart (void) { + if(!gconf_client) { + gconf_client = gconf_client_get_default (); + } + return !gconf_client_get_bool (gconf_client, RESTART_KEY, NULL) ; +} + +gboolean +show_shutdown (void) { + if(!gconf_client) { + gconf_client = gconf_client_get_default (); + } + return !gconf_client_get_bool (gconf_client, SHUTDOWN_KEY, NULL) ; +} + static void update_menu_entries_callback (GConfClient *client, guint cnxn_id, GConfEntry *entry, gpointer data) { RestartShutdownLogoutMenuItems * restart_shutdown_logout_mi = (RestartShutdownLogoutMenuItems*) data; GConfValue * value = gconf_entry_get_value (entry); @@ -82,8 +100,30 @@ update_logout_callback (GConfClient *client, guint cnxn_id, GConfEntry *entry, } } +static void +update_restart_callback (GConfClient *client, guint cnxn_id, GConfEntry *entry, gpointer data) { + DbusmenuMenuitem * mi = (DbusmenuMenuitem*) data; + GConfValue * value = gconf_entry_get_value (entry); + const gchar * key = gconf_entry_get_key (entry); + + if(g_strcmp0 (key, RESTART_KEY) == 0) { + dbusmenu_menuitem_property_set_bool(mi, DBUSMENU_MENUITEM_PROP_VISIBLE, !gconf_value_get_bool(value)); + } +} + +static void +update_shutdown_callback (GConfClient *client, guint cnxn_id, GConfEntry *entry, gpointer data) { + DbusmenuMenuitem * mi = (DbusmenuMenuitem*) data; + GConfValue * value = gconf_entry_get_value (entry); + const gchar * key = gconf_entry_get_key (entry); + + if(g_strcmp0 (key, SHUTDOWN_KEY) == 0) { + dbusmenu_menuitem_property_set_bool(mi, DBUSMENU_MENUITEM_PROP_VISIBLE, !gconf_value_get_bool(value)); + } +} + void -update_menu_entries(RestartShutdownLogoutMenuItems * restart_shutdown_logout_mi, DbusmenuMenuitem * logoutitem) { +update_menu_entries(RestartShutdownLogoutMenuItems * restart_shutdown_logout_mi) { /* If we don't have a client, build one. */ if(!gconf_client) { gconf_client = gconf_client_get_default (); @@ -106,9 +146,25 @@ update_menu_entries(RestartShutdownLogoutMenuItems * restart_shutdown_logout_mi, logout_notify = 0; } + if (restart_notify != 0) { + gconf_client_notify_remove (gconf_client, restart_notify); + restart_notify = 0; + } + + if (shutdown_notify != 0) { + gconf_client_notify_remove (gconf_client, shutdown_notify); + shutdown_notify = 0; + } + confirmation_notify = gconf_client_notify_add (gconf_client, SUPPRESS_KEY, update_menu_entries_callback, restart_shutdown_logout_mi, NULL, NULL); logout_notify = gconf_client_notify_add (gconf_client, LOGOUT_KEY, - update_logout_callback, logoutitem, NULL, NULL); + update_logout_callback, restart_shutdown_logout_mi->logout_mi, NULL, NULL); + restart_notify = gconf_client_notify_add (gconf_client, RESTART_KEY, + update_restart_callback, restart_shutdown_logout_mi->restart_mi, NULL, NULL); + shutdown_notify = gconf_client_notify_add (gconf_client, SHUTDOWN_KEY, + update_shutdown_callback, restart_shutdown_logout_mi->shutdown_mi, NULL, NULL); + + return; } -- cgit v1.2.3 From 54f8f8b90005978ed2376d695bb22947f0878c0b Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 6 Apr 2010 17:25:22 -0500 Subject: Changing prototype to not have the same info twice. --- src/session-service.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/session-service.c b/src/session-service.c index c522748..054bb17 100644 --- a/src/session-service.c +++ b/src/session-service.c @@ -673,7 +673,7 @@ rebuild_items (DbusmenuMenuitem *root, restart_shutdown_logout_mi->restart_mi = restart_mi; restart_shutdown_logout_mi->shutdown_mi = shutdown_mi; - update_menu_entries(restart_shutdown_logout_mi, logout_mi); + update_menu_entries(restart_shutdown_logout_mi); if (g_file_test(DESKTOP_FILE, G_FILE_TEST_EXISTS)) { GAppInfo * appinfo = G_APP_INFO(g_desktop_app_info_new_from_filename(DESKTOP_FILE)); -- cgit v1.2.3 From 58cb1d4475110e662fa2d67717daa5b263c3331e Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 6 Apr 2010 17:26:41 -0500 Subject: Check to see if the shutdown and restart items should be shown on first run. --- src/session-service.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src') diff --git a/src/session-service.c b/src/session-service.c index 054bb17..4fc12a1 100644 --- a/src/session-service.c +++ b/src/session-service.c @@ -656,6 +656,7 @@ rebuild_items (DbusmenuMenuitem *root, } else { dbusmenu_menuitem_property_set(restart_mi, RESTART_ITEM_LABEL, _("Restart...")); } + dbusmenu_menuitem_property_set_bool(restart_mi, DBUSMENU_MENUITEM_PROP_VISIBLE, show_restart()); dbusmenu_menuitem_child_append(root, restart_mi); g_signal_connect(G_OBJECT(restart_mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(show_dialog), "restart"); @@ -665,6 +666,7 @@ rebuild_items (DbusmenuMenuitem *root, } else { dbusmenu_menuitem_property_set(shutdown_mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Shut Down...")); } + dbusmenu_menuitem_property_set_bool(shutdown_mi, DBUSMENU_MENUITEM_PROP_VISIBLE, show_shutdown()); dbusmenu_menuitem_child_append(root, shutdown_mi); g_signal_connect(G_OBJECT(shutdown_mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(show_dialog), "shutdown"); -- cgit v1.2.3