gdm r6760 - in trunk: . gui/user-switch-applet
- From: halfline svn gnome org
- To: svn-commits-list gnome org
- Subject: gdm r6760 - in trunk: . gui/user-switch-applet
- Date: Wed, 11 Mar 2009 16:56:14 +0000 (UTC)
Author: halfline
Date: Wed Mar 11 16:56:14 2009
New Revision: 6760
URL: http://svn.gnome.org/viewvc/gdm?rev=6760&view=rev
Log:
2009-03-11 Ray Strode <rstrode redhat com>
gui/user-switch-applet/applet.c (GdmAppletData),
(gdm_applet_data_free), (on_user_item_activate),
(on_menu_key_press_event), (update_label),
(*status*), (create_sub_menu), (reset_icon),
(fill_applet): Don't build user presense stuff
for now until some of the peices that make it
useful get fleshed out.
Modified:
trunk/ChangeLog
trunk/gui/user-switch-applet/applet.c
Modified: trunk/gui/user-switch-applet/applet.c
==============================================================================
--- trunk/gui/user-switch-applet/applet.c (original)
+++ trunk/gui/user-switch-applet/applet.c Wed Mar 11 16:56:14 2009
@@ -64,7 +64,9 @@
GtkWidget *menubar;
GtkWidget *menuitem;
GtkWidget *menu;
+#ifdef BUILD_PRESENSE_STUFF
GtkWidget *user_item;
+#endif
GtkWidget *control_panel_item;
GtkWidget *account_item;
GtkWidget *lock_screen_item;
@@ -81,7 +83,9 @@
gint8 pixel_size;
gint panel_size;
GtkIconSize icon_size;
+#ifdef BUILD_PRESENSE_STUFF
DBusGProxy *presence_proxy;
+#endif
} GdmAppletData;
typedef struct _SelectorResponseData
@@ -478,9 +482,11 @@
g_signal_handler_disconnect (adata->user, adata->user_notify_id);
g_signal_handler_disconnect (adata->user, adata->user_icon_changed_id);
+#ifdef BUILD_PRESENSE_STUFF
if (adata->presence_proxy != NULL) {
g_object_unref (adata->presence_proxy);
}
+#endif
if (adata->user != NULL) {
g_object_unref (adata->user);
@@ -734,12 +740,14 @@
update_switch_user (adata);
}
+#ifdef BUILD_PRESENSE_STUFF
static void
on_user_item_activate (GtkMenuItem *item,
GdmAppletData *adata)
{
g_signal_stop_emission_by_name (item, "activate");
}
+#endif
static void
on_control_panel_activate (GtkMenuItem *item,
@@ -878,6 +886,7 @@
g_free (args[0]);
}
+#ifdef BUILD_PRESENSE_STUFF
static gboolean
on_menu_key_press_event (GtkWidget *widget,
GdkEventKey *event,
@@ -959,6 +968,7 @@
{ "user-busy", N_("Busy"), on_status_busy_activate, NULL },
{ "user-away", N_("Away"), NULL, NULL },
};
+#endif
static void
update_label (GdmAppletData *adata)
@@ -968,13 +978,19 @@
label = gtk_bin_get_child (GTK_BIN (adata->menuitem));
+#ifdef BUILD_PRESENSE_STUFF
markup = g_strdup_printf ("<b>%s</b> <small>(%s)</small>",
gdm_user_get_real_name (GDM_USER (adata->user)),
_(statuses[adata->current_status].display_name));
+#else
+ markup = g_strdup_printf ("<b>%s</b>",
+ gdm_user_get_real_name (GDM_USER (adata->user)));
+#endif
gtk_label_set_markup (GTK_LABEL (label), markup);
g_free (markup);
}
+#ifdef BUILD_PRESENSE_STUFF
static void
save_status_text (GdmAppletData *adata)
{
@@ -1017,19 +1033,24 @@
{
save_status_text (adata);
}
+#endif
static void
create_sub_menu (GdmAppletData *adata)
{
GtkWidget *item;
+#ifdef BUILD_PRESENSE_STUFF
int i;
GSList *radio_group;
+#endif
adata->menu = gtk_menu_new ();
+#ifdef BUILD_PRESENSE_STUFF
g_signal_connect (adata->menu,
"key-press-event",
G_CALLBACK (on_menu_key_press_event),
adata);
+#endif
gtk_menu_item_set_submenu (GTK_MENU_ITEM (adata->menuitem), adata->menu);
g_signal_connect (adata->menu, "style-set",
G_CALLBACK (menu_style_set_cb), adata);
@@ -1050,6 +1071,7 @@
G_CALLBACK (on_manager_user_added),
adata);
+#ifdef BUILD_PRESENSE_STUFF
adata->user_item = gdm_entry_menu_item_new ();
gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu),
adata->user_item);
@@ -1102,6 +1124,7 @@
item = gtk_separator_menu_item_new ();
gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), item);
gtk_widget_show (item);
+#endif
adata->account_item = gtk_image_menu_item_new_with_label (_("Account Information..."));
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (adata->account_item),
@@ -1225,6 +1248,7 @@
return;
}
+#ifdef BUILD_PRESENSE_STUFF
if (adata->user_item != NULL) {
image = gdm_entry_menu_item_get_image (GDM_ENTRY_MENU_ITEM (adata->user_item));
pixbuf = gdm_user_render_icon (adata->user, adata->panel_size * 3);
@@ -1235,6 +1259,17 @@
gtk_image_set_from_pixbuf (GTK_IMAGE (image), pixbuf);
g_object_unref (pixbuf);
}
+#else
+ pixbuf = gdm_user_render_icon (adata->user, adata->panel_size);
+
+ if (pixbuf == NULL) {
+ return;
+ }
+
+ image = gtk_image_menu_item_get_image (GTK_IMAGE_MENU_ITEM (adata->menuitem));
+ gtk_image_set_from_pixbuf (GTK_IMAGE (image), pixbuf);
+ g_object_unref (pixbuf);
+#endif
}
static void
@@ -1260,6 +1295,10 @@
}
adata->menuitem = gtk_image_menu_item_new_with_label (name);
+#ifndef BUILD_PRESENSE_STUFF
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (adata->menuitem),
+ gtk_image_new ());
+#endif
label = GTK_BIN (adata->menuitem)->child;
gtk_menu_shell_append (GTK_MENU_SHELL (adata->menubar), adata->menuitem);
gtk_widget_show (adata->menuitem);
@@ -1282,6 +1321,7 @@
}
}
+#ifdef BUILD_PRESENSE_STUFF
static void
set_status (GdmAppletData *adata,
guint status)
@@ -1334,6 +1374,7 @@
{
set_status_text (adata, status_text);
}
+#endif
static gboolean
fill_applet (PanelApplet *applet)
@@ -1482,6 +1523,7 @@
goto done;
}
+#ifdef BUILD_PRESENSE_STUFF
adata->presence_proxy = dbus_g_proxy_new_for_name (bus,
"org.gnome.SessionManager",
"/org/gnome/SessionManager/Presence",
@@ -1562,6 +1604,7 @@
} else {
g_warning ("Failed to get session presence proxy");
}
+#endif
done:
gtk_widget_show (GTK_WIDGET (adata->applet));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]