gdm r6120 - in trunk: . gui/simple-greeter
- From: halfline svn gnome org
- To: svn-commits-list gnome org
- Subject: gdm r6120 - in trunk: . gui/simple-greeter
- Date: Mon, 7 Apr 2008 07:03:57 +0100 (BST)
Author: halfline
Date: Mon Apr 7 07:03:57 2008
New Revision: 6120
URL: http://svn.gnome.org/viewvc/gdm?rev=6120&view=rev
Log:
2008-04-07 Ray Strode <rstrode redhat com>
* gui/simple-greeter/gdm-chooser-widget.[ch]:
(on_grow_animation_complete),
(gdm_chooser_widget_grab_focus),
(skip_resize_animation): fix warnings
(on_row_activated):
(gdm_chooser_widget_activate_selected_item):
make activate_select_item external so language dialog can
call it
(on_button_release): don't activate on single-click if
we aren't in resize-on-click mode
* gui/simple-greeter/gdm-language-chooser-dialog.c:
(gdm_language_chooser_dialog_response),
(gdm_language_chooser_dialog_class_init),
(gdm_language_chooser_dialog_init):
activate the selected item when the user presses OK.
Modified:
trunk/ChangeLog
trunk/gui/simple-greeter/gdm-chooser-widget.c
trunk/gui/simple-greeter/gdm-chooser-widget.h
trunk/gui/simple-greeter/gdm-language-chooser-dialog.c
Modified: trunk/gui/simple-greeter/gdm-chooser-widget.c
==============================================================================
--- trunk/gui/simple-greeter/gdm-chooser-widget.c (original)
+++ trunk/gui/simple-greeter/gdm-chooser-widget.c Mon Apr 7 07:03:57 2008
@@ -546,7 +546,7 @@
widget->priv->state = GDM_CHOOSER_WIDGET_STATE_GROWN;
widget->priv->was_fully_grown = TRUE;
- gtk_widget_grab_focus (widget);
+ gtk_widget_grab_focus (GTK_WIDGET (widget));
}
static int
@@ -647,7 +647,7 @@
set_inactive_items_visible (GDM_CHOOSER_WIDGET (widget), TRUE);
widget->priv->state = GDM_CHOOSER_WIDGET_STATE_GROWN;
widget->priv->was_fully_grown = FALSE;
- gtk_widget_grab_focus (widget);
+ gtk_widget_grab_focus (GTK_WIDGET (widget));
}
}
@@ -774,8 +774,8 @@
g_signal_emit (widget, signals[DEACTIVATED], 0);
}
-static void
-activate_selected_item (GdmChooserWidget *widget)
+void
+gdm_chooser_widget_activate_selected_item (GdmChooserWidget *widget)
{
GtkTreeRowReference *row;
GtkTreeSelection *selection;
@@ -982,9 +982,9 @@
}
static void
-gdm_chooser_widget_grab_focus (GdmChooserWidget *widget)
+gdm_chooser_widget_grab_focus (GtkWidget *widget)
{
- gtk_widget_grab_focus (widget->priv->items_view);
+ gtk_widget_grab_focus (GDM_CHOOSER_WIDGET (widget)->priv->items_view);
}
static void
@@ -1051,7 +1051,7 @@
GtkTreeViewColumn *tree_column,
GdmChooserWidget *widget)
{
- activate_selected_item (widget);
+ gdm_chooser_widget_activate_selected_item (widget);
}
static gboolean
@@ -1382,6 +1382,10 @@
GtkTreeIter iter;
GtkTreeSelection *selection;
+ if (!widget->priv->should_hide_inactive_items) {
+ return FALSE;
+ }
+
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget->priv->items_view));
if (gtk_tree_selection_get_selected (selection, &model, &iter)) {
GtkTreePath *path;
Modified: trunk/gui/simple-greeter/gdm-chooser-widget.h
==============================================================================
--- trunk/gui/simple-greeter/gdm-chooser-widget.h (original)
+++ trunk/gui/simple-greeter/gdm-chooser-widget.h Mon Apr 7 07:03:57 2008
@@ -123,6 +123,9 @@
GdmChooserWidgetPosition position);
void gdm_chooser_widget_set_hide_inactive_items (GdmChooserWidget *widget,
gboolean should_hide);
+
+void gdm_chooser_widget_activate_selected_item (GdmChooserWidget *widget);
+
G_END_DECLS
#endif /* __GDM_CHOOSER_WIDGET_H */
Modified: trunk/gui/simple-greeter/gdm-language-chooser-dialog.c
==============================================================================
--- trunk/gui/simple-greeter/gdm-language-chooser-dialog.c (original)
+++ trunk/gui/simple-greeter/gdm-language-chooser-dialog.c Mon Apr 7 07:03:57 2008
@@ -97,13 +97,30 @@
}
static void
+gdm_language_chooser_dialog_response (GtkDialog *dialog,
+ int response_id)
+{
+ GdmLanguageChooserDialog *chooser_dialog;
+
+ chooser_dialog = GDM_LANGUAGE_CHOOSER_DIALOG (dialog);
+
+ if (response_id == GTK_RESPONSE_OK) {
+ gdm_chooser_widget_activate_selected_item (GDM_CHOOSER_WIDGET (chooser_dialog->priv->chooser_widget));
+ }
+}
+
+static void
gdm_language_chooser_dialog_class_init (GdmLanguageChooserDialogClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
+ GtkDialogClass *dialog_class = GTK_DIALOG_CLASS (klass);
object_class->finalize = gdm_language_chooser_dialog_finalize;
widget_class->size_request = gdm_language_chooser_dialog_size_request;
+#ifdef I_COULD_GO_BACK_IN_TIME_AND_MAKE_RESPONSE_RUN_FIRST
+ dialog_class->response = gdm_language_chooser_dialog_response;
+#endif
g_type_class_add_private (klass, sizeof (GdmLanguageChooserDialogPrivate));
}
@@ -115,10 +132,16 @@
dialog->priv = GDM_LANGUAGE_CHOOSER_DIALOG_GET_PRIVATE (dialog);
dialog->priv->chooser_widget = gdm_language_chooser_widget_new ();
+ gdm_chooser_widget_set_hide_inactive_items (GDM_CHOOSER_WIDGET (dialog->priv->chooser_widget),
+ FALSE);
gtk_widget_show (dialog->priv->chooser_widget);
+
+#ifndef I_COULD_GO_BACK_IN_TIME_AND_MAKE_RESPONSE_RUN_FIRST
+ g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (gdm_language_chooser_dialog_response), NULL);
+#endif
+
gdm_language_chooser_widget_set_current_language_name (GDM_LANGUAGE_CHOOSER_WIDGET (dialog->priv->chooser_widget),
setlocale (LC_MESSAGES, NULL));
-
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), dialog->priv->chooser_widget);
gtk_dialog_add_buttons (GTK_DIALOG (dialog),
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]