--- a/pidgin/gtkprivacy.c Sat Dec 21 16:40:52 2019 -0500
+++ b/pidgin/gtkprivacy.c Fri Dec 27 01:06:53 2019 -0500
@@ -46,7 +46,6 @@
GtkWidget *removeall_button;
@@ -165,27 +164,32 @@
PurpleAccountPrivacyType new_type =
menu_entries[gtk_combo_box_get_active(combo)].type;
+ gboolean buttons_sensitive; purple_account_set_privacy_type(dialog->account, new_type);
purple_serv_set_permit_deny(purple_account_get_connection(dialog->account));
gtk_widget_hide(dialog->allow_widget);
gtk_widget_hide(dialog->block_widget);
- gtk_widget_hide(dialog->button_box);
+ buttons_sensitive = FALSE; if (new_type == PURPLE_ACCOUNT_PRIVACY_ALLOW_USERS) {
gtk_widget_show(dialog->allow_widget);
- gtk_widget_show_all(dialog->button_box);
+ buttons_sensitive = TRUE; dialog->in_allow_list = TRUE;
else if (new_type == PURPLE_ACCOUNT_PRIVACY_DENY_USERS) {
gtk_widget_show(dialog->block_widget);
- gtk_widget_show_all(dialog->button_box);
+ buttons_sensitive = TRUE; dialog->in_allow_list = FALSE;
+ gtk_widget_set_sensitive(dialog->add_button, buttons_sensitive); + /* dialog->remove_button is enabled when a user is selected. */ + gtk_widget_set_sensitive(dialog->remove_button, FALSE); + gtk_widget_set_sensitive(dialog->removeall_button, buttons_sensitive); gtk_widget_show_all(dialog->close_button);
- gtk_widget_show(dialog->button_box);
purple_blist_schedule_save();
pidgin_blist_refresh(purple_blist_get_default());
@@ -282,8 +286,6 @@
gtk_widget_class_bind_template_child(widget_class, PidginPrivacyDialog,
gtk_widget_class_bind_template_child(widget_class, PidginPrivacyDialog,
- gtk_widget_class_bind_template_child(widget_class, PidginPrivacyDialog,
gtk_widget_class_bind_template_child(widget_class, PidginPrivacyDialog,
@@ -326,18 +328,6 @@
rebuild_block_list(dialog);
type_changed_cb(GTK_COMBO_BOX(dialog->type_menu), dialog);
- if (purple_account_get_privacy_type(dialog->account) == PURPLE_ACCOUNT_PRIVACY_ALLOW_USERS) {
- gtk_widget_show(dialog->allow_widget);
- gtk_widget_show(dialog->button_box);
- dialog->in_allow_list = TRUE;
- else if (purple_account_get_privacy_type(dialog->account) == PURPLE_ACCOUNT_PRIVACY_DENY_USERS) {
- gtk_widget_show(dialog->block_widget);
- gtk_widget_show(dialog->button_box);
- dialog->in_allow_list = FALSE;
--- a/pidgin/resources/Privacy/dialog.ui Sat Dec 21 16:40:52 2019 -0500
+++ b/pidgin/resources/Privacy/dialog.ui Fri Dec 27 01:06:53 2019 -0500
@@ -53,7 +53,7 @@
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child internal-child="action_area">
- <object class="GtkButtonBox" id="button_box">
+ <object class="GtkButtonBox"> <property name="can_focus">False</property>
<property name="layout_style">end</property>