Changeset 2053
- Timestamp:
- 05/27/07 22:37:25
- Files:
-
- trunk/ChangeLog (modified) (1 diff)
- trunk/libtinymail-olpc/tny-olpc-account-store.c (modified) (1 diff)
- trunk/libtinymail-olpc/tny-olpc-platform-factory.c (modified) (1 diff)
- trunk/libtinymailui-gtk/tny-gtk-password-dialog.c (modified) (9 diffs)
- trunk/libtinymailui-gtk/tny-gtk-password-dialog.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/ChangeLog
r2050 r2053 1 2007-05-27 Philip Van Hoof <pvanhoof@gnome.org> 2 3 * Refactored the TnyGtkPasswordDialog 4 * Various fixes for the OLPC build 5 * Various fixes for the Maemo mistal and gregale builds 6 1 7 2007-05-26 Philip Van Hoof <pvanhoof@gnome.org> 2 8 3 9 * Experimental connection recovery for IMAP 4 * Letting IDLE supportcope with connection failures10 * Letting IDLE/PushE-mail support code cope with connection failures 5 11 6 12 2007-05-25 Philip Van Hoof <pvanhoof@gnome.org> trunk/libtinymail-olpc/tny-olpc-account-store.c
r2043 r2053 67 67 68 68 static gchar* 69 69 70 per_account_get_pass_func (TnyAccount *account, const gchar *prompt, gboolean *cancel) 70 71 { trunk/libtinymail-olpc/tny-olpc-platform-factory.c
r1783 r2053 92 92 tny_olpc_platform_factory_finalize (GObject *object) 93 93 { 94 TnyOlpcPlatformFactory *self = (TnyOlpcPlatformFactory *)object; 94 TnyOlpcPlatformFactory *self = (TnyOlpcPlatformFactory *)object; 95 95 96 96 (*parent_class->finalize) (object); trunk/libtinymailui-gtk/tny-gtk-password-dialog.c
r1920 r2053 31 31 32 32 static GObjectClass *parent_class = NULL; 33 34 typedef struct _TnyGtkPasswordDialogPriv TnyGtkPasswordDialogPriv;35 36 struct _TnyGtkPasswordDialogPriv37 {38 GtkEntry *pwd_entry;39 GtkLabel *prompt_label;40 };41 42 #define TNY_GTK_PASSWORD_DIALOG_GET_PRIVATE(o) \43 (G_TYPE_INSTANCE_GET_PRIVATE ((o), TNY_TYPE_GTK_PASSWORD_DIALOG, TnyGtkPasswordDialogPriv))44 45 33 static GHashTable *passwords = NULL; 46 47 48 34 49 35 static const gchar* 50 36 tny_gtk_password_dialog_get_password (TnyPasswordGetter *self, const gchar *aid, const gchar *prompt, gboolean *cancel) 51 37 { 52 TnyGtkPasswordDialogPriv *priv = TNY_GTK_PASSWORD_DIALOG_GET_PRIVATE (self);53 GtkDialog *dialog = (GtkDialog *) self;54 38 const gchar *accountid = aid; 55 39 const gchar *retval = NULL; … … 61 45 if (G_UNLIKELY (!retval)) 62 46 { 63 gtk_label_set_text (priv->prompt_label, prompt); 47 GtkDialog *dialog = NULL; 48 GtkEntry *pwd_entry; 49 GtkLabel *prompt_label; 50 51 dialog = GTK_DIALOG (gtk_dialog_new_with_buttons (_("Password input"), NULL, 52 GTK_DIALOG_MODAL, 53 GTK_STOCK_OK, GTK_RESPONSE_OK, 54 GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, 55 NULL)); 56 57 gtk_window_set_title (GTK_WINDOW (dialog), _("Password input")); 58 59 /* TODO: Add key icon or something */ 60 61 pwd_entry = GTK_ENTRY (gtk_entry_new ()); 62 prompt_label = GTK_LABEL (gtk_label_new ("")); 63 64 gtk_entry_set_visibility (pwd_entry, FALSE); 65 66 gtk_widget_show (GTK_WIDGET (pwd_entry)); 67 gtk_widget_show (GTK_WIDGET (prompt_label)); 68 69 gtk_box_pack_start (GTK_BOX (dialog->vbox), 70 GTK_WIDGET (prompt_label), TRUE, TRUE, 0); 71 72 gtk_box_pack_start (GTK_BOX (dialog->vbox), 73 GTK_WIDGET (pwd_entry), TRUE, TRUE, 0); 74 75 gtk_label_set_text (prompt_label, prompt); 64 76 65 77 if (G_LIKELY (gtk_dialog_run (dialog) == GTK_RESPONSE_OK)) 66 78 { 67 const gchar *pwd = gtk_entry_get_text (p riv->pwd_entry);79 const gchar *pwd = gtk_entry_get_text (pwd_entry); 68 80 retval = g_strdup (pwd); 69 81 mlock (pwd, strlen (pwd)); … … 73 85 *cancel = TRUE; 74 86 } 87 75 88 gtk_widget_destroy (GTK_WIDGET (dialog)); 89 76 90 while (gtk_events_pending ()) 77 91 gtk_main_iteration (); … … 109 123 * Return value: A new #GtkDialog password dialog instance implemented for Gtk+ 110 124 **/ 111 GtkDialog*125 TnyPasswordGetter* 112 126 tny_gtk_password_dialog_new (void) 113 127 { 114 128 TnyGtkPasswordDialog *self = g_object_new (TNY_TYPE_GTK_PASSWORD_DIALOG, NULL); 115 129 116 return GTK_DIALOG(self);130 return TNY_PASSWORD_GETTER (self); 117 131 } 118 132 … … 120 134 tny_gtk_password_dialog_instance_init (GTypeInstance *instance, gpointer g_class) 121 135 { 122 TnyGtkPasswordDialog *self = (TnyGtkPasswordDialog *)instance;123 TnyGtkPasswordDialogPriv *priv = TNY_GTK_PASSWORD_DIALOG_GET_PRIVATE (self);124 125 gtk_dialog_add_buttons (GTK_DIALOG (self), GTK_STOCK_OK, GTK_RESPONSE_OK,126 GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL);127 128 gtk_window_set_title (GTK_WINDOW (self), _("Password input"));129 130 /* TODO: Add key icon or something */131 132 priv->pwd_entry = GTK_ENTRY (gtk_entry_new ());133 priv->prompt_label = GTK_LABEL (gtk_label_new (""));134 135 gtk_entry_set_visibility (priv->pwd_entry, FALSE);136 137 gtk_widget_show (GTK_WIDGET (priv->pwd_entry));138 gtk_widget_show (GTK_WIDGET (priv->prompt_label));139 140 gtk_box_pack_start (GTK_BOX (GTK_DIALOG (self)->vbox),141 GTK_WIDGET (priv->prompt_label), TRUE, TRUE, 0);142 143 gtk_box_pack_start (GTK_BOX (GTK_DIALOG (self)->vbox),144 GTK_WIDGET (priv->pwd_entry), TRUE, TRUE, 0);145 146 136 return; 147 137 } … … 161 151 { 162 152 TnyPasswordGetterIface *klass = (TnyPasswordGetterIface *)g; 163 164 153 klass->forget_password_func = tny_gtk_password_dialog_forget_password; 165 154 klass->get_password_func = tny_gtk_password_dialog_get_password; … … 172 161 GObjectClass *object_class; 173 162 174 /* parent_class = g_type_class_peek_parent (class); */ 175 163 parent_class = g_type_class_peek_parent (class); 176 164 object_class = (GObjectClass*) class; 177 178 165 object_class->finalize = tny_gtk_password_dialog_finalize; 179 180 g_type_class_add_private (object_class, sizeof (TnyGtkPasswordDialogPriv));181 166 182 167 return; … … 203 188 }; 204 189 205 type = g_type_register_static (G TK_TYPE_DIALOG,190 type = g_type_register_static (G_TYPE_OBJECT, 206 191 "TnyGtkPasswordDialog", 207 192 &info, 0); … … 216 201 g_type_add_interface_static (type, TNY_TYPE_PASSWORD_GETTER, 217 202 &tny_password_getter_info); 218 219 parent_class = g_type_class_ref (gtk_dialog_get_type());220 203 } 221 204 trunk/libtinymailui-gtk/tny-gtk-password-dialog.h
r1783 r2053 40 40 struct _TnyGtkPasswordDialog 41 41 { 42 G tkDialogparent;42 GObject parent; 43 43 }; 44 44 45 45 struct _TnyGtkPasswordDialogClass 46 46 { 47 G tkDialogClass parent_class;47 GObjectClass parent_class; 48 48 }; 49 49 50 50 GType tny_gtk_password_dialog_get_type (void); 51 GtkDialog* tny_gtk_password_dialog_new (void);51 TnyPasswordGetter* tny_gtk_password_dialog_new (void); 52 52 53 53 G_END_DECLS
