Mercurial > pidgin
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 |