summaryrefslogtreecommitdiff
path: root/gui/simple-greeter/gdm-user-chooser-widget.c
diff options
context:
space:
mode:
authorWilliam Jon McCann <mccann@jhu.edu>2007-10-02 15:09:18 +0000
committerWilliam Jon McCann <mccann@src.gnome.org>2007-10-02 15:09:18 +0000
commit169a989da19c29ab93d7aa47649c0fe31bed7283 (patch)
treeeebdb832c209726095645e1cd8b407af7530d372 /gui/simple-greeter/gdm-user-chooser-widget.c
parent1d6d2e1b5d502ae980313300fac2c00573cd25ad (diff)
downloadgdm-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.c16
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,