comparison src/prpl.c @ 1252:46c09828e929

[gaim-migrate @ 1262] still need to do buddy.c, conversation.c, dialogs.c, prefs.c. committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Wed, 13 Dec 2000 22:12:02 +0000
parents 265abea9db72
children b332d8f46b84
comparison
equal deleted inserted replaced
1251:2d12541cedb1 1252:46c09828e929
42 } 42 }
43 43
44 return NULL; 44 return NULL;
45 } 45 }
46 46
47 static gint proto_compare(struct prpl *a, struct prpl *b) { 47 static gint proto_compare(struct prpl *a, struct prpl *b)
48 {
48 /* neg if a before b, 0 if equal, pos if a after b */ 49 /* neg if a before b, 0 if equal, pos if a after b */
49 return a->protocol - b->protocol; 50 return a->protocol - b->protocol;
50 } 51 }
51 52
52 void load_protocol(proto_init pi) 53 void load_protocol(proto_init pi)
57 if ((old = find_prpl(p->protocol)) == NULL) 58 if ((old = find_prpl(p->protocol)) == NULL)
58 unload_protocol(old); 59 unload_protocol(old);
59 protocols = g_slist_insert_sorted(protocols, p, (GCompareFunc)proto_compare); 60 protocols = g_slist_insert_sorted(protocols, p, (GCompareFunc)proto_compare);
60 } 61 }
61 62
62 void unload_protocol(struct prpl *p) { 63 void unload_protocol(struct prpl *p)
64 {
63 GSList *c = connections; 65 GSList *c = connections;
64 struct gaim_connection *g; 66 struct gaim_connection *g;
65 while (c) { 67 while (c) {
66 g = (struct gaim_connection *)c->data; 68 g = (struct gaim_connection *)c->data;
67 if (g->prpl == p) { 69 if (g->prpl == p) {
68 char buf[256]; 70 char buf[256];
69 g_snprintf(buf, sizeof buf, _("%s was using %s, which got removed." 71 g_snprintf(buf, sizeof buf, _("%s was using %s, which got removed."
70 " %s is now offline."), g->username, 72 " %s is now offline."), g->username,
71 (*p->name)(), g->username); 73 (*p->name)(), g->username);
72 do_error_dialog(buf, _("Disconnect")); 74 do_error_dialog(buf, _("Disconnect"));
73 signoff(g); 75 signoff(g);
74 c = connections; 76 c = connections;
75 } else 77 } else
76 c = c->next; 78 c = c->next;
85 #ifndef DYNAMIC_OSCAR 87 #ifndef DYNAMIC_OSCAR
86 load_protocol(oscar_init); 88 load_protocol(oscar_init);
87 #endif 89 #endif
88 } 90 }
89 91
90 static void des_win(GtkWidget *a, GtkWidget *b) { 92 static void des_win(GtkWidget *a, GtkWidget *b)
93 {
91 gtk_widget_destroy(b); 94 gtk_widget_destroy(b);
92 } 95 }
93 96
94 static int rem_win(GtkObject *a, GtkWidget *b) { 97 static int rem_win(GtkObject * a, GtkWidget *b)
98 {
95 gpointer d = gtk_object_get_user_data(a); 99 gpointer d = gtk_object_get_user_data(a);
96 gtk_signal_disconnect_by_data(GTK_OBJECT(b), d); 100 gtk_signal_disconnect_by_data(GTK_OBJECT(b), d);
97 gtk_widget_destroy(b); 101 gtk_widget_destroy(b);
98 return TRUE; 102 return TRUE;
99 } 103 }
107 GtkWidget *button; 111 GtkWidget *button;
108 112
109 window = gtk_window_new(GTK_WINDOW_DIALOG); 113 window = gtk_window_new(GTK_WINDOW_DIALOG);
110 gtk_window_set_wmclass(GTK_WINDOW(window), "accept", "Gaim"); 114 gtk_window_set_wmclass(GTK_WINDOW(window), "accept", "Gaim");
111 gtk_window_set_policy(GTK_WINDOW(window), FALSE, TRUE, TRUE); 115 gtk_window_set_policy(GTK_WINDOW(window), FALSE, TRUE, TRUE);
112 gtk_window_set_title(GTK_WINDOW(window), _("Accept?")); 116 gtk_window_set_title(GTK_WINDOW(window), _("Accept?"));
113 gtk_widget_realize(window); 117 gtk_widget_realize(window);
114 aol_icon(window->window); 118 aol_icon(window->window);
115 if (dont) 119 if (dont)
116 gtk_signal_connect(GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(dont), data); 120 gtk_signal_connect(GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(dont), data);
117 121
118 vbox = gtk_vbox_new(FALSE, 5); 122 vbox = gtk_vbox_new(FALSE, 5);
119 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); 123 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5);
120 gtk_container_add(GTK_CONTAINER(window), vbox); 124 gtk_container_add(GTK_CONTAINER(window), vbox);
121 125
122 label = gtk_label_new(text); 126 label = gtk_label_new(text);
123 gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 0); 127 gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 0);
124 128