comparison src/multi.c @ 1817:b367beee6448

[gaim-migrate @ 1827] reworked autorecon.c. committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Sun, 06 May 2001 10:08:40 +0000
parents 896432d66303
children 75643b9f4261
comparison
equal deleted inserted replaced
1816:aa2bb1bfbd4b 1817:b367beee6448
611 #endif /* USE_APPLET */ 611 #endif /* USE_APPLET */
612 gtk_clist_set_text(GTK_CLIST(list), row, 1, "Attempting"); 612 gtk_clist_set_text(GTK_CLIST(list), row, 1, "Attempting");
613 serv_login(u); 613 serv_login(u);
614 } 614 }
615 } else { 615 } else {
616 u->gc->wants_to_die = TRUE;
616 signoff(u->gc); 617 signoff(u->gc);
617 } 618 }
618 } 619 }
619 } 620 }
620 621
625 if (GTK_CLIST(list)->selection) 626 if (GTK_CLIST(list)->selection)
626 row = (int)GTK_CLIST(list)->selection->data; 627 row = (int)GTK_CLIST(list)->selection->data;
627 if (row != -1) { 628 if (row != -1) {
628 u = g_list_nth_data(aim_users, row); 629 u = g_list_nth_data(aim_users, row);
629 if (u) { 630 if (u) {
630 if (u->gc) 631 if (u->gc) {
632 u->gc->wants_to_die = TRUE;
631 signoff(u->gc); 633 signoff(u->gc);
634 }
632 aim_users = g_list_remove(aim_users, u); 635 aim_users = g_list_remove(aim_users, u);
633 save_prefs(); 636 save_prefs();
634 } 637 }
635 gtk_clist_remove(GTK_CLIST(list), row); 638 gtk_clist_remove(GTK_CLIST(list), row);
636 } 639 }
782 } 785 }
783 } 786 }
784 787
785 static void cancel_signon(GtkWidget *button, struct gaim_connection *gc) 788 static void cancel_signon(GtkWidget *button, struct gaim_connection *gc)
786 { 789 {
790 gc->wants_to_die = TRUE;
787 signoff(gc); 791 signoff(gc);
788 } 792 }
789 793
790 static gint meter_destroy(GtkWidget *meter, GdkEvent *evt, struct gaim_connection *gc) 794 static gint meter_destroy(GtkWidget *meter, GdkEvent *evt, struct gaim_connection *gc)
791 { 795 {
841 gtk_progress_bar_update(GTK_PROGRESS_BAR(gc->progress), howfar / LOGIN_STEPS); 845 gtk_progress_bar_update(GTK_PROGRESS_BAR(gc->progress), howfar / LOGIN_STEPS);
842 gtk_statusbar_pop(GTK_STATUSBAR(gc->status), 1); 846 gtk_statusbar_pop(GTK_STATUSBAR(gc->status), 1);
843 gtk_statusbar_push(GTK_STATUSBAR(gc->status), 1, message); 847 gtk_statusbar_push(GTK_STATUSBAR(gc->status), 1, message);
844 } 848 }
845 849
850 static void set_kick_null(GtkObject *obj, struct aim_user *u)
851 {
852 u->kick_dlg = NULL;
853 }
854
846 void hide_login_progress(struct gaim_connection *gc, char *why) 855 void hide_login_progress(struct gaim_connection *gc, char *why)
847 { 856 {
848 char buf[2048]; 857 char buf[2048];
849 sprintf(buf, _("%s\n%s was unable to sign on: %s"), full_date(), gc->username, why); 858 sprintf(buf, _("%s\n%s was unable to sign on: %s"), full_date(), gc->username, why);
850 do_error_dialog(buf, _("Signon Error")); 859 if (gc->user->kick_dlg)
860 gtk_widget_destroy(gc->user->kick_dlg);
861 gc->user->kick_dlg = do_error_dialog(buf, _("Signon Error"));
862 gtk_signal_connect(GTK_OBJECT(gc->user->kick_dlg), "destroy",
863 GTK_SIGNAL_FUNC(set_kick_null), gc->user);
851 if (gc->meter) 864 if (gc->meter)
852 gtk_widget_destroy(gc->meter); 865 gtk_widget_destroy(gc->meter);
853 gc->meter = NULL; 866 gc->meter = NULL;
854 } 867 }
855 868