[gdm] Hide control-center item from user switch if unavailable
- From: Ray Strode <halfline src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gdm] Hide control-center item from user switch if unavailable
- Date: Wed, 16 Jun 2010 16:19:41 +0000 (UTC)
commit 2696ee79767d58ed0236f3a08d6d5af272a58ef5
Author: Ray Strode <rstrode redhat com>
Date: Wed Jun 16 10:20:59 2010 -0400
Hide control-center item from user switch if unavailable
Some distributions don't ship the control-center shell, or
ship it in a subpackage. In those cases, we want to gracefully
handle it not being available.
gui/user-switch-applet/applet.c | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
---
diff --git a/gui/user-switch-applet/applet.c b/gui/user-switch-applet/applet.c
index d4efc26..a3e0881 100644
--- a/gui/user-switch-applet/applet.c
+++ b/gui/user-switch-applet/applet.c
@@ -597,7 +597,16 @@ static gboolean
menu_expose_cb (GtkWidget *menu,
gpointer data)
{
+ char *program;
+ GdmAppletData *adata = data;
+ program = g_find_program_in_path ("gnome-control-center");
+ if (program != NULL) {
+ gtk_widget_show (adata->control_panel_item);
+ } else {
+ gtk_widget_hide (adata->control_panel_item);
+ }
+ g_free (program);
return FALSE;
}
@@ -1131,8 +1140,6 @@ create_sub_menu (GdmAppletData *adata)
G_CALLBACK (menuitem_style_set_cb), adata);
g_signal_connect (adata->control_panel_item, "activate",
G_CALLBACK (on_control_panel_activate), adata);
- gtk_widget_show (adata->control_panel_item);
-
item = gtk_separator_menu_item_new ();
gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), item);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]