From: Robert Ancell Date: Tue, 12 Jul 2011 07:45:17 +0000 (+1000) Subject: show-message signal now has a MessageType field and takes over behaviour of show... X-Git-Url: http://rtime.felk.cvut.cz/gitweb/sojka/lightdm.git/commitdiff_plain/aa11455560bd1bae651152afe6f0bd5b79a93f18 show-message signal now has a MessageType field and takes over behaviour of show-error signal --- diff --git a/NEWS b/NEWS index c6e786a1..cd8ed36e 100644 --- a/NEWS +++ b/NEWS @@ -6,7 +6,9 @@ Overview of changes in lightdm 0.4.4 * liblightdm API changes: - Rename ldm_greeter_provide_secret to ldm_greeter_respond - responses may not be secrets. - - show_prompt signal now has a PromptType field + - show-prompt signal now has a PromptType field + - show-message signal now has a MessageType field and takes over + behaviour of show-error signal * Fix error where an authentication failure from a previous session could be interpreted as a failure in the current session. * Simplify Vala bindings and add missing methods diff --git a/doc/tmpl/greeter.sgml b/doc/tmpl/greeter.sgml index 9a98c1b2..a2ac426d 100644 --- a/doc/tmpl/greeter.sgml +++ b/doc/tmpl/greeter.sgml @@ -101,14 +101,6 @@ g_object_connect (G_OBJECT (greeter), "quit", G_CALLBACK (quit_cb), NULL); @ldmgreeter: the object which received the signal. - - - - - -@ldmgreeter: the object which received the signal. -@arg1: - @@ -116,6 +108,7 @@ g_object_connect (G_OBJECT (greeter), "quit", G_CALLBACK (quit_cb), NULL); @ldmgreeter: the object which received the signal. @arg1: +@Param3: diff --git a/greeters/gtk/lightdm-example-gtk-greeter.c b/greeters/gtk/lightdm-example-gtk-greeter.c index fe4e54a1..f10c3f32 100644 --- a/greeters/gtk/lightdm-example-gtk-greeter.c +++ b/greeters/gtk/lightdm-example-gtk-greeter.c @@ -165,7 +165,7 @@ show_prompt_cb (LdmGreeter *greeter, const gchar *text, LdmPromptType type) } static void -show_message_cb (LdmGreeter *greeter, const gchar *text) +show_message_cb (LdmGreeter *greeter, const gchar *text, LdmMessageType type) { gtk_label_set_text (GTK_LABEL (message_label), text); gtk_widget_show (message_label); @@ -605,7 +605,6 @@ main(int argc, char **argv) g_signal_connect (G_OBJECT (greeter), "connected", G_CALLBACK (connect_cb), NULL); g_signal_connect (G_OBJECT (greeter), "show-prompt", G_CALLBACK (show_prompt_cb), NULL); g_signal_connect (G_OBJECT (greeter), "show-message", G_CALLBACK (show_message_cb), NULL); - g_signal_connect (G_OBJECT (greeter), "show-error", G_CALLBACK (show_message_cb), NULL); g_signal_connect (G_OBJECT (greeter), "authentication-complete", G_CALLBACK (authentication_complete_cb), NULL); g_signal_connect (G_OBJECT (greeter), "timed-login", G_CALLBACK (timed_login_cb), NULL); g_signal_connect (G_OBJECT (greeter), "user-added", G_CALLBACK (user_added_cb), NULL); diff --git a/greeters/python-gtk/lightdm-example-python-gtk-greeter b/greeters/python-gtk/lightdm-example-python-gtk-greeter index e8e545f7..082052c8 100755 --- a/greeters/python-gtk/lightdm-example-python-gtk-greeter +++ b/greeters/python-gtk/lightdm-example-python-gtk-greeter @@ -12,7 +12,6 @@ class Greeter: self.greeter.connect('connected', self.connect_cb) self.greeter.connect('show-prompt', self.show_prompt_cb) self.greeter.connect('show-message', self.show_message_cb) - self.greeter.connect('show-error', self.show_message_cb) self.greeter.connect('authentication-complete', self.authentication_complete_cb) self.greeter.connect('timed-login', self.timed_login_cb) self.greeter.connect('quit', self.quit_cb) @@ -244,7 +243,7 @@ class Greeter: self.prompt_entry.set_visibility(type != LightDM.PROMPT_TYPE_SECRET) self.prompt_entry.grab_focus() - def show_message_cb(self, greeter, text): + def show_message_cb(self, greeter, text, type): self.message_label.show() self.message_label.set_text(text) diff --git a/greeters/vala-gtk/lightdm-example-vala-gtk-greeter.vala b/greeters/vala-gtk/lightdm-example-vala-gtk-greeter.vala index dc333608..2ec6c0bd 100644 --- a/greeters/vala-gtk/lightdm-example-vala-gtk-greeter.vala +++ b/greeters/vala-gtk/lightdm-example-vala-gtk-greeter.vala @@ -11,7 +11,6 @@ class Greeter greeter.connected.connect (connect_cb); greeter.show_prompt.connect (show_prompt_cb); greeter.show_message.connect (show_message_cb); - greeter.show_error.connect (show_message_cb); greeter.authentication_complete.connect (authentication_complete_cb); greeter.timed_login.connect (timed_login_cb); greeter.quit.connect (quit_cb); @@ -83,7 +82,7 @@ class Greeter password_entry.grab_focus (); } - private void show_message_cb (LightDM.Greeter greeter, string text) + private void show_message_cb (LightDM.Greeter greeter, string text, LightDM.MessageType type) { message_label.label = text; message_label.show (); diff --git a/liblightdm-gobject/greeter-protocol.h b/liblightdm-gobject/greeter-protocol.h index 2b2e1f92..5d8701bc 100644 --- a/liblightdm-gobject/greeter-protocol.h +++ b/liblightdm-gobject/greeter-protocol.h @@ -30,10 +30,4 @@ typedef enum GREETER_MESSAGE_USER_DEFAULTS = 106 } GreeterMessage; -typedef enum -{ - GREETER_PROMPT_QUESTION, - GREETER_PROMPT_SECRET -} GreeterPromptType; - #endif /* _GREETER_PROTOCOL_H_ */ diff --git a/liblightdm-gobject/greeter.c b/liblightdm-gobject/greeter.c index 1f3333d1..f0d9fbf0 100644 --- a/liblightdm-gobject/greeter.c +++ b/liblightdm-gobject/greeter.c @@ -48,7 +48,6 @@ enum { CONNECTED, SHOW_PROMPT, SHOW_MESSAGE, - SHOW_ERROR, AUTHENTICATION_COMPLETE, TIMED_LOGIN, USER_ADDED, @@ -259,16 +258,16 @@ handle_prompt_authentication (LdmGreeter *greeter, gsize *offset) switch (msg_style) { case PAM_PROMPT_ECHO_OFF: - g_signal_emit (G_OBJECT (greeter), signals[SHOW_PROMPT], 0, msg, GREETER_PROMPT_SECRET); + g_signal_emit (G_OBJECT (greeter), signals[SHOW_PROMPT], 0, msg, LDM_PROMPT_TYPE_SECRET); break; case PAM_PROMPT_ECHO_ON: - g_signal_emit (G_OBJECT (greeter), signals[SHOW_PROMPT], 0, msg, GREETER_PROMPT_QUESTION); + g_signal_emit (G_OBJECT (greeter), signals[SHOW_PROMPT], 0, msg, LDM_PROMPT_TYPE_QUESTION); break; case PAM_ERROR_MSG: - g_signal_emit (G_OBJECT (greeter), signals[SHOW_ERROR], 0, msg); + g_signal_emit (G_OBJECT (greeter), signals[SHOW_MESSAGE], 0, msg, LDM_MESSAGE_TYPE_ERROR); break; case PAM_TEXT_INFO: - g_signal_emit (G_OBJECT (greeter), signals[SHOW_MESSAGE], 0, msg); + g_signal_emit (G_OBJECT (greeter), signals[SHOW_MESSAGE], 0, msg, LDM_MESSAGE_TYPE_INFO); break; } @@ -1932,6 +1931,7 @@ ldm_greeter_class_init (LdmGreeterClass *klass) * LdmGreeter::show-prompt: * @greeter: A #LdmGreeter * @text: Prompt text + * @type: Prompt type * * The ::show-prompt signal gets emitted when the greeter should show a * prompt to the user. The given text should be displayed and an input @@ -1953,9 +1953,10 @@ ldm_greeter_class_init (LdmGreeterClass *klass) * LdmGreeter::show-message: * @greeter: A #LdmGreeter * @text: Message text + * @type: Message type * * The ::show-message signal gets emitted when the greeter - * should show an informational message to the user. + * should show a message to the user. **/ signals[SHOW_MESSAGE] = g_signal_new ("show-message", @@ -1963,25 +1964,8 @@ ldm_greeter_class_init (LdmGreeterClass *klass) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (LdmGreeterClass, show_message), NULL, NULL, - g_cclosure_marshal_VOID__STRING, - G_TYPE_NONE, 1, G_TYPE_STRING); - - /** - * LdmGreeter::show-error: - * @greeter: A #LdmGreeter - * @text: Message text - * - * The ::show-error signal gets emitted when the greeter - * should show an error message to the user. - **/ - signals[SHOW_ERROR] = - g_signal_new ("show-error", - G_TYPE_FROM_CLASS (klass), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (LdmGreeterClass, show_error), - NULL, NULL, - g_cclosure_marshal_VOID__STRING, - G_TYPE_NONE, 1, G_TYPE_STRING); + marshal_VOID__STRING_INT, + G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_INT); /** * LdmGreeter::authentication-complete: diff --git a/liblightdm-gobject/liblightdm-gobject-0.vapi b/liblightdm-gobject/liblightdm-gobject-0.vapi index 39607472..6f8463f4 100644 --- a/liblightdm-gobject/liblightdm-gobject-0.vapi +++ b/liblightdm-gobject/liblightdm-gobject-0.vapi @@ -3,8 +3,7 @@ namespace LightDM { public class Greeter : GLib.Object { public Greeter (); public virtual signal void connected (); - public virtual signal void show_error (string text); - public virtual signal void show_message (string text); + public virtual signal void show_message (string text, MessageType type); public virtual signal void show_prompt (string text, PromptType type); public virtual signal void timed_login (string username); public virtual signal void authentication_complete (); @@ -52,6 +51,10 @@ namespace LightDM { public void start_session (string? session); public void start_default_session (); } + public enum MessageType { + INFO, + ERROR + } public enum PromptType { QUESTION, SECRET diff --git a/liblightdm-gobject/lightdm/greeter.h b/liblightdm-gobject/lightdm/greeter.h index 86eccab8..b92cb0ee 100644 --- a/liblightdm-gobject/lightdm/greeter.h +++ b/liblightdm-gobject/lightdm/greeter.h @@ -38,6 +38,12 @@ typedef enum LDM_PROMPT_TYPE_SECRET } LdmPromptType; +typedef enum +{ + LDM_MESSAGE_TYPE_INFO, + LDM_MESSAGE_TYPE_ERROR +} LdmMessageType; + struct _LdmGreeter { GObject parent_instance; @@ -51,8 +57,7 @@ struct _LdmGreeterClass void (*connected)(LdmGreeter *greeter); void (*show_prompt)(LdmGreeter *greeter, const gchar *text, LdmPromptType type); - void (*show_message)(LdmGreeter *greeter, const gchar *text); - void (*show_error)(LdmGreeter *greeter, const gchar *text); + void (*show_message)(LdmGreeter *greeter, const gchar *text, LdmMessageType type); void (*authentication_complete)(LdmGreeter *greeter); void (*timed_login)(LdmGreeter *greeter, const gchar *username); void (*user_added)(LdmGreeter *greeter, LdmUser *user);