Changeset 2053

Show
Ignore:
Timestamp:
05/27/07 22:37:25
Author:
pvanhoof
Message:

Bugfixes

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/ChangeLog

    r2050 r2053  
     12007-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 
    172007-05-26  Philip Van Hoof  <pvanhoof@gnome.org> 
    28 
    39        * Experimental connection recovery for IMAP 
    4         * Letting IDLE support cope with connection failures 
     10        * Letting IDLE/PushE-mail support code cope with connection failures 
    511 
    6122007-05-25  Philip Van Hoof  <pvanhoof@gnome.org> 
  • trunk/libtinymail-olpc/tny-olpc-account-store.c

    r2043 r2053  
    6767 
    6868static gchar*  
     69 
    6970per_account_get_pass_func (TnyAccount *account, const gchar *prompt, gboolean *cancel) 
    7071{ 
  • trunk/libtinymail-olpc/tny-olpc-platform-factory.c

    r1783 r2053  
    9292tny_olpc_platform_factory_finalize (GObject *object) 
    9393{ 
    94         TnyOlpcPlatformFactory *self = (TnyOlpcPlatformFactory *)object;        
     94        TnyOlpcPlatformFactory *self = (TnyOlpcPlatformFactory *)object; 
    9595 
    9696        (*parent_class->finalize) (object); 
  • trunk/libtinymailui-gtk/tny-gtk-password-dialog.c

    r1920 r2053  
    3131 
    3232static GObjectClass *parent_class = NULL; 
    33  
    34 typedef struct _TnyGtkPasswordDialogPriv TnyGtkPasswordDialogPriv; 
    35  
    36 struct _TnyGtkPasswordDialogPriv 
    37 { 
    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  
    4533static GHashTable *passwords = NULL; 
    46  
    47  
    4834 
    4935static const gchar* 
    5036tny_gtk_password_dialog_get_password (TnyPasswordGetter *self, const gchar *aid, const gchar *prompt, gboolean *cancel) 
    5137{ 
    52         TnyGtkPasswordDialogPriv *priv = TNY_GTK_PASSWORD_DIALOG_GET_PRIVATE (self); 
    53         GtkDialog *dialog = (GtkDialog *) self; 
    5438        const gchar *accountid = aid; 
    5539        const gchar *retval = NULL; 
     
    6145        if (G_UNLIKELY (!retval)) 
    6246        { 
    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); 
    6476 
    6577                if (G_LIKELY (gtk_dialog_run (dialog) == GTK_RESPONSE_OK)) 
    6678                { 
    67                         const gchar *pwd = gtk_entry_get_text (priv->pwd_entry); 
     79                        const gchar *pwd = gtk_entry_get_text (pwd_entry); 
    6880                        retval = g_strdup (pwd); 
    6981                        mlock (pwd, strlen (pwd)); 
     
    7385                        *cancel = TRUE; 
    7486                } 
     87 
    7588                gtk_widget_destroy (GTK_WIDGET (dialog)); 
     89 
    7690                while (gtk_events_pending ()) 
    7791                        gtk_main_iteration (); 
     
    109123 * Return value: A new #GtkDialog password dialog instance implemented for Gtk+ 
    110124 **/ 
    111 GtkDialog
     125TnyPasswordGetter
    112126tny_gtk_password_dialog_new (void) 
    113127{ 
    114128        TnyGtkPasswordDialog *self = g_object_new (TNY_TYPE_GTK_PASSWORD_DIALOG, NULL); 
    115129 
    116         return GTK_DIALOG (self); 
     130        return TNY_PASSWORD_GETTER (self); 
    117131} 
    118132 
     
    120134tny_gtk_password_dialog_instance_init (GTypeInstance *instance, gpointer g_class) 
    121135{ 
    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  
    146136        return; 
    147137} 
     
    161151{ 
    162152        TnyPasswordGetterIface *klass = (TnyPasswordGetterIface *)g; 
    163  
    164153        klass->forget_password_func = tny_gtk_password_dialog_forget_password; 
    165154        klass->get_password_func = tny_gtk_password_dialog_get_password; 
     
    172161        GObjectClass *object_class; 
    173162 
    174         /* parent_class = g_type_class_peek_parent (class); */ 
    175  
     163        parent_class = g_type_class_peek_parent (class); 
    176164        object_class = (GObjectClass*) class; 
    177  
    178165        object_class->finalize = tny_gtk_password_dialog_finalize; 
    179  
    180         g_type_class_add_private (object_class, sizeof (TnyGtkPasswordDialogPriv)); 
    181166 
    182167        return; 
     
    203188                }; 
    204189 
    205                 type = g_type_register_static (GTK_TYPE_DIALOG
     190                type = g_type_register_static (G_TYPE_OBJECT
    206191                        "TnyGtkPasswordDialog", 
    207192                        &info, 0); 
     
    216201                g_type_add_interface_static (type, TNY_TYPE_PASSWORD_GETTER,  
    217202                        &tny_password_getter_info); 
    218  
    219                 parent_class = g_type_class_ref (gtk_dialog_get_type()); 
    220203        } 
    221204 
  • trunk/libtinymailui-gtk/tny-gtk-password-dialog.h

    r1783 r2053  
    4040struct _TnyGtkPasswordDialog 
    4141{ 
    42         GtkDialog parent; 
     42        GObject parent; 
    4343}; 
    4444 
    4545struct _TnyGtkPasswordDialogClass 
    4646{ 
    47         GtkDialogClass parent_class; 
     47        GObjectClass parent_class; 
    4848}; 
    4949 
    5050GType tny_gtk_password_dialog_get_type (void); 
    51 GtkDialog* tny_gtk_password_dialog_new (void); 
     51TnyPasswordGetter* tny_gtk_password_dialog_new (void); 
    5252 
    5353G_END_DECLS