| 228 static void |
228 static void |
| 229 type_changed_cb(GtkComboBox *combo, PidginPrivacyDialog *dialog) |
229 type_changed_cb(GtkComboBox *combo, PidginPrivacyDialog *dialog) |
| 230 { |
230 { |
| 231 int new_type = menu_entries[gtk_combo_box_get_active(combo)].num; |
231 int new_type = menu_entries[gtk_combo_box_get_active(combo)].num; |
| 232 |
232 |
| 233 dialog->account->perm_deny = new_type; |
233 purple_account_set_privacy_type(dialog->account, new_type); |
| 234 serv_set_permit_deny(purple_account_get_connection(dialog->account)); |
234 serv_set_permit_deny(purple_account_get_connection(dialog->account)); |
| 235 |
235 |
| 236 gtk_widget_hide(dialog->allow_widget); |
236 gtk_widget_hide(dialog->allow_widget); |
| 237 gtk_widget_hide(dialog->block_widget); |
237 gtk_widget_hide(dialog->block_widget); |
| 238 gtk_widget_hide(dialog->button_box); |
238 gtk_widget_hide_all(dialog->button_box); |
| 239 |
239 |
| 240 if (new_type == PURPLE_PRIVACY_ALLOW_USERS) { |
240 if (new_type == PURPLE_PRIVACY_ALLOW_USERS) { |
| 241 gtk_widget_show(dialog->allow_widget); |
241 gtk_widget_show(dialog->allow_widget); |
| 242 gtk_widget_show_all(dialog->button_box); |
242 gtk_widget_show_all(dialog->button_box); |
| 243 dialog->in_allow_list = TRUE; |
243 dialog->in_allow_list = TRUE; |
| 361 G_CALLBACK(select_account_cb), NULL, dialog); |
361 G_CALLBACK(select_account_cb), NULL, dialog); |
| 362 pidgin_add_widget_to_vbox(GTK_BOX(vbox), _("Set privacy for:"), NULL, dropdown, TRUE, NULL); |
362 pidgin_add_widget_to_vbox(GTK_BOX(vbox), _("Set privacy for:"), NULL, dropdown, TRUE, NULL); |
| 363 dialog->account = pidgin_account_option_menu_get_selected(dropdown); |
363 dialog->account = pidgin_account_option_menu_get_selected(dropdown); |
| 364 |
364 |
| 365 /* Add the drop-down list with the allow/block types. */ |
365 /* Add the drop-down list with the allow/block types. */ |
| 366 dialog->type_menu = gtk_combo_box_text_new(); |
366 dialog->type_menu = gtk_combo_box_new_text(); |
| 367 gtk_box_pack_start(GTK_BOX(vbox), dialog->type_menu, FALSE, FALSE, 0); |
367 gtk_box_pack_start(GTK_BOX(vbox), dialog->type_menu, FALSE, FALSE, 0); |
| 368 gtk_widget_show(dialog->type_menu); |
368 gtk_widget_show(dialog->type_menu); |
| 369 |
369 |
| 370 for (i = 0; i < menu_entry_count; i++) { |
370 for (i = 0; i < menu_entry_count; i++) { |
| 371 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(dialog->type_menu), |
371 gtk_combo_box_append_text(GTK_COMBO_BOX(dialog->type_menu), |
| 372 _(menu_entries[i].text)); |
372 _(menu_entries[i].text)); |
| 373 |
373 |
| 374 if (menu_entries[i].num == dialog->account->perm_deny) |
374 if (menu_entries[i].num == purple_account_get_privacy_type(dialog->account)) |
| 375 selected = i; |
375 selected = i; |
| 376 } |
376 } |
| 377 |
377 |
| 378 gtk_combo_box_set_active(GTK_COMBO_BOX(dialog->type_menu), selected); |
378 gtk_combo_box_set_active(GTK_COMBO_BOX(dialog->type_menu), selected); |
| 379 |
379 |
| 409 button = pidgin_dialog_add_button(GTK_DIALOG(dialog->win), GTK_STOCK_CLOSE, G_CALLBACK(close_cb), dialog); |
409 button = pidgin_dialog_add_button(GTK_DIALOG(dialog->win), GTK_STOCK_CLOSE, G_CALLBACK(close_cb), dialog); |
| 410 dialog->close_button = button; |
410 dialog->close_button = button; |
| 411 |
411 |
| 412 type_changed_cb(GTK_COMBO_BOX(dialog->type_menu), dialog); |
412 type_changed_cb(GTK_COMBO_BOX(dialog->type_menu), dialog); |
| 413 #if 0 |
413 #if 0 |
| 414 if (dialog->account->perm_deny == PURPLE_PRIVACY_ALLOW_USERS) { |
414 if (purple_account_get_privacy_type(dialog->account) == PURPLE_PRIVACY_ALLOW_USERS) { |
| 415 gtk_widget_show(dialog->allow_widget); |
415 gtk_widget_show(dialog->allow_widget); |
| 416 gtk_widget_show(dialog->button_box); |
416 gtk_widget_show(dialog->button_box); |
| 417 dialog->in_allow_list = TRUE; |
417 dialog->in_allow_list = TRUE; |
| 418 } |
418 } |
| 419 else if (dialog->account->perm_deny == PURPLE_PRIVACY_DENY_USERS) { |
419 else if (purple_account_get_privacy_type(dialog->account) == PURPLE_PRIVACY_DENY_USERS) { |
| 420 gtk_widget_show(dialog->block_widget); |
420 gtk_widget_show(dialog->block_widget); |
| 421 gtk_widget_show(dialog->button_box); |
421 gtk_widget_show(dialog->button_box); |
| 422 dialog->in_allow_list = FALSE; |
422 dialog->in_allow_list = FALSE; |
| 423 } |
423 } |
| 424 #endif |
424 #endif |
| 432 |
432 |
| 433 if (privacy_dialog == NULL) |
433 if (privacy_dialog == NULL) |
| 434 privacy_dialog = privacy_dialog_new(); |
434 privacy_dialog = privacy_dialog_new(); |
| 435 |
435 |
| 436 gtk_widget_show(privacy_dialog->win); |
436 gtk_widget_show(privacy_dialog->win); |
| 437 gdk_window_raise(gtk_widget_get_window(privacy_dialog->win)); |
437 gdk_window_raise(privacy_dialog->win->window); |
| 438 } |
438 } |
| 439 |
439 |
| 440 void |
440 void |
| 441 pidgin_privacy_dialog_hide(void) |
441 pidgin_privacy_dialog_hide(void) |
| 442 { |
442 { |