| 26 #include "gtkaccount.h" |
26 #include "gtkaccount.h" |
| 27 #include "gtkblist.h" |
27 #include "gtkblist.h" |
| 28 #include "gtkprivacy.h" |
28 #include "gtkprivacy.h" |
| 29 #include "gtkutils.h" |
29 #include "gtkutils.h" |
| 30 #include "pidginaccountchooser.h" |
30 #include "pidginaccountchooser.h" |
| |
31 #include "pidginaccountstore.h" |
| 31 |
32 |
| 32 #define PIDGIN_TYPE_PRIVACY_DIALOG (pidgin_privacy_dialog_get_type()) |
33 #define PIDGIN_TYPE_PRIVACY_DIALOG (pidgin_privacy_dialog_get_type()) |
| 33 G_DECLARE_FINAL_TYPE(PidginPrivacyDialog, pidgin_privacy_dialog, PIDGIN, |
34 G_DECLARE_FINAL_TYPE(PidginPrivacyDialog, pidgin_privacy_dialog, PIDGIN, |
| 34 PRIVACY_DIALOG, GtkDialog) |
35 PRIVACY_DIALOG, GtkDialog) |
| 35 |
36 |
| 117 { |
118 { |
| 118 gtk_widget_set_sensitive(dialog->remove_button, TRUE); |
119 gtk_widget_set_sensitive(dialog->remove_button, TRUE); |
| 119 } |
120 } |
| 120 |
121 |
| 121 static void |
122 static void |
| 122 select_account_cb(GtkWidget *chooser, PidginPrivacyDialog *dialog) |
123 select_account_cb(GtkWidget *w, PidginPrivacyDialog *dialog) { |
| 123 { |
124 PidginAccountChooser *chooser = PIDGIN_ACCOUNT_CHOOSER(w); |
| 124 PurpleAccount *account = pidgin_account_chooser_get_selected(chooser); |
125 PurpleAccount *account = pidgin_account_chooser_get_selected(chooser); |
| 125 gsize i; |
126 gsize i; |
| 126 |
127 |
| 127 dialog->account = account; |
128 dialog->account = account; |
| 128 |
129 |
| 298 gtk_widget_class_bind_template_callback(widget_class, type_changed_cb); |
299 gtk_widget_class_bind_template_callback(widget_class, type_changed_cb); |
| 299 gtk_widget_class_bind_template_callback(widget_class, user_selected_cb); |
300 gtk_widget_class_bind_template_callback(widget_class, user_selected_cb); |
| 300 } |
301 } |
| 301 |
302 |
| 302 static void |
303 static void |
| 303 pidgin_privacy_dialog_init(PidginPrivacyDialog *dialog) |
304 pidgin_privacy_dialog_init(PidginPrivacyDialog *dialog) { |
| 304 { |
305 PidginAccountChooser *chooser = NULL; |
| 305 gssize selected = -1; |
306 gssize selected = -1; |
| 306 gsize i; |
307 gsize i; |
| 307 |
308 |
| 308 gtk_widget_init_template(GTK_WIDGET(dialog)); |
309 gtk_widget_init_template(GTK_WIDGET(dialog)); |
| 309 |
310 |
| 310 dialog->account = |
311 chooser = PIDGIN_ACCOUNT_CHOOSER(dialog->account_chooser); |
| 311 pidgin_account_chooser_get_selected(dialog->account_chooser); |
312 dialog->account = pidgin_account_chooser_get_selected(chooser); |
| 312 |
313 |
| 313 /* Add the drop-down list with the allow/block types. */ |
314 /* Add the drop-down list with the allow/block types. */ |
| 314 for (i = 0; i < menu_entry_count; i++) { |
315 for (i = 0; i < menu_entry_count; i++) { |
| 315 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(dialog->type_menu), |
316 gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(dialog->type_menu), |
| 316 _(menu_entries[i].text)); |
317 _(menu_entries[i].text)); |