Mercurial > pidgin.yaz
comparison src/gtkconn.c @ 10159:952fb08c60b0
[gaim-migrate @ 11240]
Here's the deal:
I got tired of inconsistency with respect to signon v. login, so I picked
one. I picked "Log In" and "Login." I think they're more common and
make more sense.
"Log In" is the verb form, and should be used on things like a button
that causes you to log in, places that say "You're logging in,
please wait."
"Login" is the nounish form, and should be used in places like,
"Login name:" "Login Window" "login time"
Sound good?
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Fri, 05 Nov 2004 05:55:48 +0000 |
parents | 006410d0ae0c |
children | bce48f8324b3 |
comparison
equal
deleted
inserted
replaced
10158:5dd9c1df6459 | 10159:952fb08c60b0 |
---|---|
34 #include "gtkutils.h" | 34 #include "gtkutils.h" |
35 | 35 |
36 /* | 36 /* |
37 * The next couple of functions deal with the connection dialog | 37 * The next couple of functions deal with the connection dialog |
38 */ | 38 */ |
39 struct signon_meter { | 39 struct login_meter { |
40 GaimAccount *account; | 40 GaimAccount *account; |
41 GtkWidget *button; | 41 GtkWidget *button; |
42 GtkWidget *progress; | 42 GtkWidget *progress; |
43 GtkWidget *status; | 43 GtkWidget *status; |
44 }; | 44 }; |
50 gint active_count; | 50 gint active_count; |
51 GSList *meters; | 51 GSList *meters; |
52 }; | 52 }; |
53 struct meter_window *meter_win = NULL; | 53 struct meter_window *meter_win = NULL; |
54 | 54 |
55 static void kill_meter(struct signon_meter *meter, const char *text) | 55 static void kill_meter(struct login_meter *meter, const char *text) |
56 { | 56 { |
57 if(gtk_progress_bar_get_fraction(GTK_PROGRESS_BAR(meter->progress)) == 1) | 57 if(gtk_progress_bar_get_fraction(GTK_PROGRESS_BAR(meter->progress)) == 1) |
58 return; | 58 return; |
59 | 59 |
60 gtk_widget_set_sensitive(meter->button, FALSE); | 60 gtk_widget_set_sensitive(meter->button, FALSE); |
67 g_free(meter_win); | 67 g_free(meter_win); |
68 meter_win = NULL; | 68 meter_win = NULL; |
69 } | 69 } |
70 } | 70 } |
71 | 71 |
72 static void cancel_signon(GtkWidget *button, struct signon_meter *meter) | 72 static void cancel_login(GtkWidget *button, struct login_meter *meter) |
73 { | 73 { |
74 if (meter->account->gc != NULL) { | 74 if (meter->account->gc != NULL) { |
75 meter->account->gc->wants_to_die = TRUE; | 75 meter->account->gc->wants_to_die = TRUE; |
76 gaim_connection_destroy(meter->account->gc); | 76 gaim_connection_destroy(meter->account->gc); |
77 } else { | 77 } else { |
88 } | 88 } |
89 | 89 |
90 static void cancel_all () | 90 static void cancel_all () |
91 { | 91 { |
92 GSList *m = meter_win ? meter_win->meters : NULL; | 92 GSList *m = meter_win ? meter_win->meters : NULL; |
93 struct signon_meter *meter; | 93 struct login_meter *meter; |
94 | 94 |
95 while (m) { | 95 while (m) { |
96 meter = m->data; | 96 meter = m->data; |
97 if (gaim_connection_get_state(meter->account->gc) != GAIM_CONNECTED) | 97 if (gaim_connection_get_state(meter->account->gc) != GAIM_CONNECTED) |
98 cancel_signon(NULL, meter); | 98 cancel_login(NULL, meter); |
99 m = m->next; | 99 m = m->next; |
100 } | 100 } |
101 } | 101 } |
102 | 102 |
103 static gint meter_destroy(GtkWidget *window, GdkEvent *evt, struct signon_meter *meter) | 103 static gint meter_destroy(GtkWidget *window, GdkEvent *evt, struct login_meter *meter) |
104 { | 104 { |
105 return TRUE; | 105 return TRUE; |
106 } | 106 } |
107 | 107 |
108 static struct signon_meter *find_signon_meter(GaimConnection *gc) | 108 static struct login_meter *find_login_meter(GaimConnection *gc) |
109 { | 109 { |
110 GSList *m = meter_win ? meter_win->meters : NULL; | 110 GSList *m = meter_win ? meter_win->meters : NULL; |
111 struct signon_meter *meter; | 111 struct login_meter *meter; |
112 | 112 |
113 while (m) { | 113 while (m) { |
114 meter = m->data; | 114 meter = m->data; |
115 if (meter->account == gaim_connection_get_account(gc)) | 115 if (meter->account == gaim_connection_get_account(gc)) |
116 return m->data; | 116 return m->data; |
129 g_object_unref(G_OBJECT(pb)); | 129 g_object_unref(G_OBJECT(pb)); |
130 g_object_unref(G_OBJECT(scale)); | 130 g_object_unref(G_OBJECT(scale)); |
131 return image; | 131 return image; |
132 } | 132 } |
133 | 133 |
134 static struct signon_meter * | 134 static struct login_meter * |
135 new_meter(GaimConnection *gc, GtkWidget *widget, | 135 new_meter(GaimConnection *gc, GtkWidget *widget, |
136 GtkWidget *table, gint *rows) | 136 GtkWidget *table, gint *rows) |
137 { | 137 { |
138 GtkWidget *graphic; | 138 GtkWidget *graphic; |
139 GtkWidget *label; | 139 GtkWidget *label; |
140 GtkWidget *nest_vbox; | 140 GtkWidget *nest_vbox; |
141 GString *name_to_print; | 141 GString *name_to_print; |
142 struct signon_meter *meter; | 142 struct login_meter *meter; |
143 | 143 |
144 | 144 |
145 meter = g_new0(struct signon_meter, 1); | 145 meter = g_new0(struct login_meter, 1); |
146 | 146 |
147 meter->account = gaim_connection_get_account(gc); | 147 meter->account = gaim_connection_get_account(gc); |
148 name_to_print = g_string_new(gaim_account_get_username(meter->account)); | 148 name_to_print = g_string_new(gaim_account_get_username(meter->account)); |
149 | 149 |
150 (*rows)++; | 150 (*rows)++; |
152 | 152 |
153 graphic = create_meter_pixmap(gc); | 153 graphic = create_meter_pixmap(gc); |
154 | 154 |
155 nest_vbox = gtk_vbox_new (FALSE, 0); | 155 nest_vbox = gtk_vbox_new (FALSE, 0); |
156 | 156 |
157 g_string_prepend(name_to_print, _("Signon: ")); | 157 g_string_prepend(name_to_print, _("Logging in: ")); |
158 label = gtk_label_new (name_to_print->str); | 158 label = gtk_label_new (name_to_print->str); |
159 g_string_free(name_to_print, TRUE); | 159 g_string_free(name_to_print, TRUE); |
160 gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); | 160 gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); |
161 | 161 |
162 meter->status = gtk_label_new(""); | 162 meter->status = gtk_label_new(""); |
165 | 165 |
166 meter->progress = gtk_progress_bar_new (); | 166 meter->progress = gtk_progress_bar_new (); |
167 | 167 |
168 meter->button = gaim_pixbuf_button_from_stock (_("Cancel"), GTK_STOCK_CANCEL, GAIM_BUTTON_HORIZONTAL); | 168 meter->button = gaim_pixbuf_button_from_stock (_("Cancel"), GTK_STOCK_CANCEL, GAIM_BUTTON_HORIZONTAL); |
169 g_signal_connect(G_OBJECT (meter->button), "clicked", | 169 g_signal_connect(G_OBJECT (meter->button), "clicked", |
170 G_CALLBACK (cancel_signon), meter); | 170 G_CALLBACK (cancel_login), meter); |
171 | 171 |
172 gtk_table_attach (GTK_TABLE (table), graphic, 0, 1, *rows, *rows+1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); | 172 gtk_table_attach (GTK_TABLE (table), graphic, 0, 1, *rows, *rows+1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); |
173 gtk_table_attach (GTK_TABLE (table), nest_vbox, 1, 2, *rows, *rows+1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); | 173 gtk_table_attach (GTK_TABLE (table), nest_vbox, 1, 2, *rows, *rows+1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); |
174 gtk_box_pack_start (GTK_BOX (nest_vbox), GTK_WIDGET (label), FALSE, FALSE, 0); | 174 gtk_box_pack_start (GTK_BOX (nest_vbox), GTK_WIDGET (label), FALSE, FALSE, 0); |
175 gtk_box_pack_start (GTK_BOX (nest_vbox), GTK_WIDGET (meter->status), FALSE, FALSE, 0); | 175 gtk_box_pack_start (GTK_BOX (nest_vbox), GTK_WIDGET (meter->status), FALSE, FALSE, 0); |
184 } | 184 } |
185 | 185 |
186 static void gaim_gtk_connection_connect_progress(GaimConnection *gc, | 186 static void gaim_gtk_connection_connect_progress(GaimConnection *gc, |
187 const char *text, size_t step, size_t step_count) | 187 const char *text, size_t step, size_t step_count) |
188 { | 188 { |
189 struct signon_meter *meter; | 189 struct login_meter *meter; |
190 | 190 |
191 if(!meter_win) { | 191 if(!meter_win) { |
192 GtkWidget *vbox; | 192 GtkWidget *vbox; |
193 GtkWidget *cancel_button; | 193 GtkWidget *cancel_button; |
194 | 194 |
196 gtk_widget_hide(mainwindow); | 196 gtk_widget_hide(mainwindow); |
197 | 197 |
198 meter_win = g_new0(struct meter_window, 1); | 198 meter_win = g_new0(struct meter_window, 1); |
199 meter_win->window = gtk_window_new(GTK_WINDOW_TOPLEVEL); | 199 meter_win->window = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
200 gtk_window_set_resizable(GTK_WINDOW(meter_win->window), FALSE); | 200 gtk_window_set_resizable(GTK_WINDOW(meter_win->window), FALSE); |
201 gtk_window_set_role(GTK_WINDOW(meter_win->window), "signon"); | 201 gtk_window_set_role(GTK_WINDOW(meter_win->window), "logging_in"); |
202 gtk_container_set_border_width(GTK_CONTAINER(meter_win->window), 5); | 202 gtk_container_set_border_width(GTK_CONTAINER(meter_win->window), 5); |
203 gtk_window_set_title(GTK_WINDOW(meter_win->window), _("Signon")); | 203 gtk_window_set_title(GTK_WINDOW(meter_win->window), _("Logging In")); |
204 | 204 |
205 vbox = gtk_vbox_new (FALSE, 0); | 205 vbox = gtk_vbox_new (FALSE, 0); |
206 gtk_container_add(GTK_CONTAINER(meter_win->window), vbox); | 206 gtk_container_add(GTK_CONTAINER(meter_win->window), vbox); |
207 | 207 |
208 meter_win->table = gtk_table_new(1, 4, FALSE); | 208 meter_win->table = gtk_table_new(1, 4, FALSE); |
221 | 221 |
222 g_signal_connect(G_OBJECT(meter_win->window), "delete_event", | 222 g_signal_connect(G_OBJECT(meter_win->window), "delete_event", |
223 G_CALLBACK(meter_destroy), NULL); | 223 G_CALLBACK(meter_destroy), NULL); |
224 } | 224 } |
225 | 225 |
226 meter = find_signon_meter(gc); | 226 meter = find_login_meter(gc); |
227 if(!meter) { | 227 if(!meter) { |
228 meter = new_meter(gc, meter_win->window, meter_win->table, | 228 meter = new_meter(gc, meter_win->window, meter_win->table, |
229 &meter_win->rows); | 229 &meter_win->rows); |
230 | 230 |
231 meter_win->meters = g_slist_append(meter_win->meters, meter); | 231 meter_win->meters = g_slist_append(meter_win->meters, meter); |
236 gtk_label_set_text(GTK_LABEL(meter->status), text); | 236 gtk_label_set_text(GTK_LABEL(meter->status), text); |
237 } | 237 } |
238 | 238 |
239 static void gaim_gtk_connection_connected(GaimConnection *gc) | 239 static void gaim_gtk_connection_connected(GaimConnection *gc) |
240 { | 240 { |
241 struct signon_meter *meter = find_signon_meter(gc); | 241 struct login_meter *meter = find_login_meter(gc); |
242 | 242 |
243 gaim_setup(gc); | 243 gaim_setup(gc); |
244 | 244 |
245 #if 0 /* XXX CORE/UI */ | 245 #if 0 /* XXX CORE/UI */ |
246 do_away_menu(); | 246 do_away_menu(); |
251 kill_meter(meter, _("Done.")); | 251 kill_meter(meter, _("Done.")); |
252 } | 252 } |
253 | 253 |
254 static void gaim_gtk_connection_disconnected(GaimConnection *gc) | 254 static void gaim_gtk_connection_disconnected(GaimConnection *gc) |
255 { | 255 { |
256 struct signon_meter *meter = find_signon_meter(gc); | 256 struct login_meter *meter = find_login_meter(gc); |
257 | 257 |
258 #if 0 /* XXX CORE/UI */ | 258 #if 0 /* XXX CORE/UI */ |
259 do_away_menu(); | 259 do_away_menu(); |
260 #endif | 260 #endif |
261 gaim_gtk_blist_update_protocol_actions(); | 261 gaim_gtk_blist_update_protocol_actions(); |
392 l_del = g_list_append(l_del, del_row); | 392 l_del = g_list_append(l_del, del_row); |
393 gtk_tree_path_free(path); | 393 gtk_tree_path_free(path); |
394 | 394 |
395 gtk_tree_model_get(model, &iter, 4, &account, -1); | 395 gtk_tree_model_get(model, &iter, 4, &account, -1); |
396 if (!gaim_account_is_connected(account) && g_list_find(l_accts, account) == NULL) | 396 if (!gaim_account_is_connected(account) && g_list_find(l_accts, account) == NULL) |
397 l_accts = g_list_append(l_accts, account); | 397 l_accts = g_list_append(l_accts, account); |
398 } while (gtk_tree_model_iter_next(model, &iter)); | 398 } while (gtk_tree_model_iter_next(model, &iter)); |
399 | 399 |
400 /* remove all rows */ | 400 /* remove all rows */ |
401 /* We could just do the following, but we only want to remove accounts | 401 /* We could just do the following, but we only want to remove accounts |
402 * that are going to be reconnected, not accounts that have already | 402 * that are going to be reconnected, not accounts that have already |
490 } | 490 } |
491 | 491 |
492 /* | 492 /* |
493 * Called whenever a different account is selected in the GtkListWhatever. | 493 * Called whenever a different account is selected in the GtkListWhatever. |
494 */ | 494 */ |
495 static void disconnect_tree_cb(GtkTreeSelection *sel, GtkTreeModel *model) | 495 static void disconnect_tree_cb(GtkTreeSelection *sel, GtkTreeModel *model) |
496 { | 496 { |
497 disconnect_window_update_buttons(model); | 497 disconnect_window_update_buttons(model); |
498 } | 498 } |
499 | 499 |
500 /* | 500 /* |
501 * Update the icon next to the account in the disconnect dialog, and | 501 * Update the icon next to the account in the disconnect dialog, and |
502 * gray the Reconnect All button if there is only 1 disconnected account. | 502 * gray the Reconnect All button if there is only 1 disconnected account. |
503 */ | 503 */ |
504 static void disconnect_connection_change_cb(GaimConnection *gc, void *data) { | 504 static void disconnect_connection_change_cb(GaimConnection *gc, void *data) { |
505 GaimAccount *account = gaim_connection_get_account(gc); | 505 GaimAccount *account = gaim_connection_get_account(gc); |
506 GtkTreeIter iter; | 506 GtkTreeIter iter; |
507 GtkTreeModel *model; | 507 GtkTreeModel *model; |
508 GdkPixbuf *icon; | 508 GdkPixbuf *icon; |
509 GdkPixbuf *scale; | 509 GdkPixbuf *scale; |
510 GList *l_disc_accts = NULL; | 510 GList *l_disc_accts = NULL; |
529 gtk_list_store_set(GTK_LIST_STORE(model), &iter, 0, scale, -1); | 529 gtk_list_store_set(GTK_LIST_STORE(model), &iter, 0, scale, -1); |
530 | 530 |
531 /* Add */ | 531 /* Add */ |
532 if (!gaim_account_is_connected(account2) | 532 if (!gaim_account_is_connected(account2) |
533 && g_list_find(l_disc_accts, account2) == NULL) | 533 && g_list_find(l_disc_accts, account2) == NULL) |
534 l_disc_accts = g_list_append(l_disc_accts, account2); | 534 l_disc_accts = g_list_append(l_disc_accts, account2); |
535 } while (gtk_tree_model_iter_next(model, &iter)); | 535 } while (gtk_tree_model_iter_next(model, &iter)); |
536 | 536 |
537 gtk_dialog_set_response_sensitive( | 537 gtk_dialog_set_response_sensitive( |
538 GTK_DIALOG(disconnect_window->window), | 538 GTK_DIALOG(disconnect_window->window), |
539 GTK_RESPONSE_APPLY, | 539 GTK_RESPONSE_APPLY, |