gdm r5976 - in trunk: . gui/simple-greeter
- From: halfline svn gnome org
- To: svn-commits-list gnome org
- Subject: gdm r5976 - in trunk: . gui/simple-greeter
- Date: Sun, 9 Mar 2008 21:57:19 +0000 (GMT)
Author: halfline
Date: Sun Mar 9 21:57:19 2008
New Revision: 5976
URL: http://svn.gnome.org/viewvc/gdm?rev=5976&view=rev
Log:
2008-03-09 Ray Strode <rstrode redhat com>
* gui/simple-greeter/gdm-greeter-login-window.c:
(GdmGreeterLoginWindowPrivate),
(_gdm_greeter_login_window_set_interactive),
(timed_login_timer), (on_button_clicked_answer_query),
(on_login_button_clicked_timed_login), (do_cancel),
(gdm_greeter_login_window_set_property),
(gdm_greeter_login_window_get_property),
(gdm_greeter_login_window_class_init)):
Make "is-interactive" property to replace "interactive"
signal, since we're going to need to track it's state
from within the login window.
* gui/simple-greeter/gdm-greeter-session.c:
(GdmGreeterSessionPrivate), (on_reset):
Don't track interactive state here anymore, we'll
rely on the login window to tell us when to start
the session instead of trying to figure it out
ourselves
Modified:
trunk/ChangeLog
trunk/gui/simple-greeter/gdm-greeter-login-window.c
trunk/gui/simple-greeter/gdm-greeter-session.c
Modified: trunk/gui/simple-greeter/gdm-greeter-login-window.c
==============================================================================
--- trunk/gui/simple-greeter/gdm-greeter-login-window.c (original)
+++ trunk/gui/simple-greeter/gdm-greeter-login-window.c Sun Mar 9 21:57:19 2008
@@ -112,7 +112,8 @@
GtkWidget *user_chooser;
GtkWidget *auth_capslock_label;
GtkWidget *auth_banner_label;
- gboolean display_is_local;
+ guint display_is_local : 1;
+ guint is_interactive : 1;
GConfClient *client;
gboolean caps_lock_on;
@@ -133,6 +134,7 @@
enum {
PROP_0,
PROP_DISPLAY_IS_LOCAL,
+ PROP_IS_INTERACTIVE,
};
enum {
@@ -143,7 +145,6 @@
USER_SELECTED,
DISCONNECTED,
CANCELLED,
- INTERACTIVE,
LAST_SIGNAL
};
@@ -257,14 +258,25 @@
}
}
+static void
+_gdm_greeter_login_window_set_interactive (GdmGreeterLoginWindow *login_window,
+ gboolean is_interactive)
+{
+
+ if (login_window->priv->is_interactive != is_interactive) {
+ login_window->priv->is_interactive = is_interactive;
+ g_object_notify (G_OBJECT (login_window), "is-interactive");
+ }
+}
+
static gboolean
timed_login_timer (GdmGreeterLoginWindow *login_window)
{
set_sensitive (login_window, FALSE);
set_message (login_window, _("Automatically logging in..."));
- g_debug ("GdmGreeterLoginWindow: emitting interactive");
- g_signal_emit (login_window, signals[INTERACTIVE], 0);
+ g_debug ("GdmGreeterLoginWindow: timer expired");
+ _gdm_greeter_login_window_set_interactive (login_window, TRUE);
login_window->priv->timed_login_timeout_id = 0;
return FALSE;
@@ -349,7 +361,7 @@
entry = glade_xml_get_widget (login_window->priv->xml, "auth-prompt-entry");
text = gtk_entry_get_text (GTK_ENTRY (entry));
- g_signal_emit (login_window, signals[INTERACTIVE], 0);
+ _gdm_greeter_login_window_set_interactive (login_window, TRUE);
g_signal_emit (login_window, signals[QUERY_ANSWER], 0, text);
}
@@ -360,7 +372,7 @@
set_busy (login_window);
set_sensitive (login_window, FALSE);
- g_signal_emit (login_window, signals[INTERACTIVE], 0);
+ _gdm_greeter_login_window_set_interactive (login_window, TRUE);
}
static void
@@ -524,6 +536,7 @@
set_sensitive (login_window, FALSE);
set_message (login_window, "");
remove_timed_login_timeout (login_window);
+ _gdm_greeter_login_window_set_interactive (login_window, FALSE);
g_signal_emit (login_window, signals[CANCELLED], 0);
@@ -710,6 +723,9 @@
case PROP_DISPLAY_IS_LOCAL:
_gdm_greeter_login_window_set_display_is_local (self, g_value_get_boolean (value));
break;
+ case PROP_IS_INTERACTIVE:
+ _gdm_greeter_login_window_set_interactive (self, g_value_get_boolean (value));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -730,6 +746,10 @@
case PROP_DISPLAY_IS_LOCAL:
g_value_set_boolean (value, self->priv->display_is_local);
break;
+ case PROP_IS_INTERACTIVE:
+ g_value_set_boolean (value, self->priv->is_interactive);
+ break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -1596,6 +1616,13 @@
"display is local",
FALSE,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+ g_object_class_install_property (object_class,
+ PROP_IS_INTERACTIVE,
+ g_param_spec_boolean ("is-interactive",
+ "Is Interactive",
+ "Use has had an oppurtunity to interact with window",
+ FALSE,
+ G_PARAM_READABLE));
g_type_class_add_private (klass, sizeof (GdmGreeterLoginWindowPrivate));
}
Modified: trunk/gui/simple-greeter/gdm-greeter-session.c
==============================================================================
--- trunk/gui/simple-greeter/gdm-greeter-session.c (original)
+++ trunk/gui/simple-greeter/gdm-greeter-session.c Sun Mar 9 21:57:19 2008
@@ -63,8 +63,6 @@
GtkWidget *login_window;
GtkWidget *panel;
-
- guint was_interactive : 1;
};
enum {
@@ -116,8 +114,6 @@
gdm_greeter_panel_reset (GDM_GREETER_PANEL (session->priv->panel));
gdm_greeter_login_window_reset (GDM_GREETER_LOGIN_WINDOW (session->priv->login_window));
-
- session->priv->was_interactive = FALSE;
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]