diff options
author | William Jon McCann <mccann@jhu.edu> | 2007-10-02 15:09:18 +0000 |
---|---|---|
committer | William Jon McCann <mccann@src.gnome.org> | 2007-10-02 15:09:18 +0000 |
commit | 169a989da19c29ab93d7aa47649c0fe31bed7283 (patch) | |
tree | eebdb832c209726095645e1cd8b407af7530d372 /gui/simple-greeter/gdm-user-chooser-widget.c | |
parent | 1d6d2e1b5d502ae980313300fac2c00573cd25ad (diff) | |
download | gdm-169a989da19c29ab93d7aa47649c0fe31bed7283.tar.gz |
Use a custom scrolling widget for user list. Adapted from eog-thumb-nav.
2007-10-02 William Jon McCann <mccann@jhu.edu>
* gui/simple-greeter/Makefile.am:
* gui/simple-greeter/gdm-icon-nav.c: (gdm_icon_nav_scroll_event),
(gdm_icon_nav_adj_changed), (gdm_icon_nav_adj_value_changed),
(gdm_icon_nav_scroll_step), (gdm_icon_nav_button_clicked),
(gdm_icon_nav_start_scroll), (gdm_icon_nav_stop_scroll),
(gdm_icon_nav_get_property), (gdm_icon_nav_set_property),
(gdm_icon_nav_constructor), (gdm_icon_nav_class_init),
(gdm_icon_nav_init), (gdm_icon_nav_new),
(gdm_icon_nav_get_show_buttons), (gdm_icon_nav_set_show_buttons),
(gdm_icon_nav_get_mode), (gdm_icon_nav_set_mode):
* gui/simple-greeter/gdm-icon-nav.h:
* gui/simple-greeter/gdm-user-chooser-widget.c:
(gdm_user_chooser_widget_init):
Use a custom scrolling widget for user list. Adapted
from eog-thumb-nav.
svn path=/branches/mccann-gobject/; revision=5327
Diffstat (limited to 'gui/simple-greeter/gdm-user-chooser-widget.c')
-rw-r--r-- | gui/simple-greeter/gdm-user-chooser-widget.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/gui/simple-greeter/gdm-user-chooser-widget.c b/gui/simple-greeter/gdm-user-chooser-widget.c index 69919861..46f5f6ae 100644 --- a/gui/simple-greeter/gdm-user-chooser-widget.c +++ b/gui/simple-greeter/gdm-user-chooser-widget.c @@ -33,6 +33,8 @@ #include <glib/gstdio.h> #include <gtk/gtk.h> +#include "gdm-icon-nav.h" + #include "gdm-user-chooser-widget.h" enum { @@ -53,6 +55,7 @@ struct GdmUserChooserWidgetPrivate { GtkWidget *iconview; + GtkWidget *nav; GHashTable *available_users; char *current_user; }; @@ -492,20 +495,12 @@ compare_user (GtkTreeModel *model, static void gdm_user_chooser_widget_init (GdmUserChooserWidget *widget) { - GtkWidget *scrolled; GtkTreeModel *model; widget->priv = GDM_USER_CHOOSER_WIDGET_GET_PRIVATE (widget); widget->priv->available_users = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, (GDestroyNotify)chooser_user_free); - scrolled = gtk_scrolled_window_new (NULL, NULL); - gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled), - GTK_SHADOW_IN); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled), - GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - gtk_box_pack_start (GTK_BOX (widget), scrolled, TRUE, TRUE, 0); - widget->priv->iconview = gtk_icon_view_new (); gtk_icon_view_set_selection_mode (GTK_ICON_VIEW (widget->priv->iconview), GTK_SELECTION_SINGLE); gtk_icon_view_set_orientation (GTK_ICON_VIEW (widget->priv->iconview), GTK_ORIENTATION_VERTICAL); @@ -517,8 +512,11 @@ gdm_user_chooser_widget_init (GdmUserChooserWidget *widget) "selection-changed", G_CALLBACK (on_selection_changed), widget); - gtk_container_add (GTK_CONTAINER (scrolled), widget->priv->iconview); + widget->priv->nav = gdm_icon_nav_new (widget->priv->iconview, + GDM_ICON_NAV_MODE_ONE_ROW, + TRUE); + gtk_box_pack_start (GTK_BOX (widget), widget->priv->nav, TRUE, TRUE, 0); model = (GtkTreeModel *)gtk_list_store_new (3, GDK_TYPE_PIXBUF, |