summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElliott Sales de Andrade <quantum.analyst@gmail.com>2023-03-31 00:40:44 -0500
committerElliott Sales de Andrade <quantum.analyst@gmail.com>2023-03-31 00:40:44 -0500
commit0087ad8239a9f32042199848028d19b2dcde6a9c (patch)
tree014491fbaa7503ac7a8f28cb8ff1e317d7751563
parenteeff6135a6c7090ff7934a5310d00be6eb389fdb (diff)
downloadpidgin-0087ad8239a9f32042199848028d19b2dcde6a9c.tar.gz
Migrate away from AdwActionRow:icon-name
This is deprecated in Adwaita 1.3 Testing Done: Triggered connection error and buddy request in Demo protocol; not sure how to check authorization. Reviewed at https://reviews.imfreedom.org/r/2410/
-rw-r--r--pidgin/pidginnotificationaddcontact.c10
-rw-r--r--pidgin/pidginnotificationauthorizationrequest.c10
-rw-r--r--pidgin/pidginnotificationconnectionerror.c10
-rw-r--r--pidgin/pidginnotificationlist.c10
-rw-r--r--pidgin/resources/Notifications/addcontact.ui7
-rw-r--r--pidgin/resources/Notifications/authorizationrequest.ui7
-rw-r--r--pidgin/resources/Notifications/connectionerror.ui7
7 files changed, 50 insertions, 11 deletions
diff --git a/pidgin/pidginnotificationaddcontact.c b/pidgin/pidginnotificationaddcontact.c
index 746ab0c0f9..0469d0696b 100644
--- a/pidgin/pidginnotificationaddcontact.c
+++ b/pidgin/pidginnotificationaddcontact.c
@@ -33,6 +33,7 @@ struct _PidginNotificationAddContact {
PurpleNotification *notification;
+ GtkWidget *icon;
GtkWidget *add;
GtkWidget *message;
};
@@ -64,7 +65,7 @@ pidgin_notification_add_contact_update(PidginNotificationAddContact *add_contact
adw_preferences_row_set_title(ADW_PREFERENCES_ROW(add_contact),
_("Notification missing"));
- adw_action_row_set_icon_name(ADW_ACTION_ROW(add_contact), NULL);
+ gtk_image_set_from_icon_name(GTK_IMAGE(add_contact->icon), NULL);
adw_action_row_set_subtitle(ADW_ACTION_ROW(add_contact), NULL);
gtk_widget_hide(add_contact->add);
@@ -78,7 +79,7 @@ pidgin_notification_add_contact_update(PidginNotificationAddContact *add_contact
adw_preferences_row_set_title(ADW_PREFERENCES_ROW(add_contact),
_("Notification is missing an account"));
- adw_action_row_set_icon_name(ADW_ACTION_ROW(add_contact), NULL);
+ gtk_image_set_from_icon_name(GTK_IMAGE(add_contact->icon), NULL);
adw_action_row_set_subtitle(ADW_ACTION_ROW(add_contact), NULL);
gtk_widget_hide(add_contact->add);
@@ -101,7 +102,7 @@ pidgin_notification_add_contact_update(PidginNotificationAddContact *add_contact
icon_name = "dialog-question";
}
}
- adw_action_row_set_icon_name(ADW_ACTION_ROW(add_contact), icon_name);
+ gtk_image_set_from_icon_name(GTK_IMAGE(add_contact->icon), icon_name);
title = purple_notification_get_title(add_contact->notification);
adw_preferences_row_set_title(ADW_PREFERENCES_ROW(add_contact), title);
@@ -269,6 +270,9 @@ pidgin_notification_add_contact_class_init(PidginNotificationAddContactClass *kl
gtk_widget_class_bind_template_child(widget_class,
PidginNotificationAddContact,
+ icon);
+ gtk_widget_class_bind_template_child(widget_class,
+ PidginNotificationAddContact,
add);
gtk_widget_class_bind_template_child(widget_class,
PidginNotificationAddContact,
diff --git a/pidgin/pidginnotificationauthorizationrequest.c b/pidgin/pidginnotificationauthorizationrequest.c
index 7d08ed320e..eed8d3190f 100644
--- a/pidgin/pidginnotificationauthorizationrequest.c
+++ b/pidgin/pidginnotificationauthorizationrequest.c
@@ -33,6 +33,7 @@ struct _PidginNotificationAuthorizationRequest {
PurpleNotification *notification;
+ GtkWidget *icon;
GtkWidget *accept;
GtkWidget *deny;
GtkWidget *message;
@@ -64,7 +65,7 @@ pidgin_notification_authorization_request_update(PidginNotificationAuthorization
adw_preferences_row_set_title(ADW_PREFERENCES_ROW(request),
_("Notification missing"));
- adw_action_row_set_icon_name(ADW_ACTION_ROW(request), NULL);
+ gtk_image_set_from_icon_name(GTK_IMAGE(request->icon), NULL);
adw_action_row_set_subtitle(ADW_ACTION_ROW(request), NULL);
gtk_widget_hide(request->accept);
@@ -79,7 +80,7 @@ pidgin_notification_authorization_request_update(PidginNotificationAuthorization
adw_preferences_row_set_title(ADW_PREFERENCES_ROW(request),
_("Notification is missing an account"));
- adw_action_row_set_icon_name(ADW_ACTION_ROW(request), NULL);
+ gtk_image_set_from_icon_name(GTK_IMAGE(request->icon), NULL);
adw_action_row_set_subtitle(ADW_ACTION_ROW(request), NULL);
gtk_widget_hide(request->accept);
@@ -103,7 +104,7 @@ pidgin_notification_authorization_request_update(PidginNotificationAuthorization
icon_name = "dialog-question";
}
}
- adw_action_row_set_icon_name(ADW_ACTION_ROW(request), icon_name);
+ gtk_image_set_from_icon_name(GTK_IMAGE(request->icon), icon_name);
title = purple_notification_get_title(request->notification);
adw_preferences_row_set_title(ADW_PREFERENCES_ROW(request), title);
@@ -300,6 +301,9 @@ pidgin_notification_authorization_request_class_init(PidginNotificationAuthoriza
gtk_widget_class_bind_template_child(widget_class,
PidginNotificationAuthorizationRequest,
+ icon);
+ gtk_widget_class_bind_template_child(widget_class,
+ PidginNotificationAuthorizationRequest,
accept);
gtk_widget_class_bind_template_child(widget_class,
PidginNotificationAuthorizationRequest,
diff --git a/pidgin/pidginnotificationconnectionerror.c b/pidgin/pidginnotificationconnectionerror.c
index 21c6216ddc..57007927d6 100644
--- a/pidgin/pidginnotificationconnectionerror.c
+++ b/pidgin/pidginnotificationconnectionerror.c
@@ -31,6 +31,7 @@ struct _PidginNotificationConnectionError {
PurpleNotification *notification;
+ GtkWidget *icon;
GtkWidget *reconnect;
GtkWidget *reenable;
GtkWidget *modify;
@@ -62,7 +63,7 @@ pidgin_notification_connection_error_update(PidginNotificationConnectionError *e
adw_preferences_row_set_title(ADW_PREFERENCES_ROW(error),
_("Notification missing"));
- adw_action_row_set_icon_name(ADW_ACTION_ROW(error), NULL);
+ gtk_image_set_from_icon_name(GTK_IMAGE(error->icon), NULL);
adw_action_row_set_subtitle(ADW_ACTION_ROW(error), NULL);
gtk_widget_hide(error->reconnect);
@@ -77,7 +78,7 @@ pidgin_notification_connection_error_update(PidginNotificationConnectionError *e
adw_preferences_row_set_title(ADW_PREFERENCES_ROW(error),
_("Notification is missing an account"));
- adw_action_row_set_icon_name(ADW_ACTION_ROW(error), NULL);
+ gtk_image_set_from_icon_name(GTK_IMAGE(error->icon), NULL);
adw_action_row_set_subtitle(ADW_ACTION_ROW(error), NULL);
gtk_widget_hide(error->reconnect);
@@ -99,7 +100,7 @@ pidgin_notification_connection_error_update(PidginNotificationConnectionError *e
/* Set the icon name if one was specified. */
icon_name = purple_notification_get_icon_name(error->notification);
if(icon_name != NULL) {
- adw_action_row_set_icon_name(ADW_ACTION_ROW(error), icon_name);
+ gtk_image_set_from_icon_name(GTK_IMAGE(error->icon), icon_name);
}
enabled = purple_account_get_enabled(account);
@@ -240,6 +241,9 @@ pidgin_notification_connection_error_class_init(PidginNotificationConnectionErro
gtk_widget_class_bind_template_child(widget_class,
PidginNotificationConnectionError,
+ icon);
+ gtk_widget_class_bind_template_child(widget_class,
+ PidginNotificationConnectionError,
reconnect);
gtk_widget_class_bind_template_child(widget_class,
PidginNotificationConnectionError,
diff --git a/pidgin/pidginnotificationlist.c b/pidgin/pidginnotificationlist.c
index c9db9e04f4..bf353fb108 100644
--- a/pidgin/pidginnotificationlist.c
+++ b/pidgin/pidginnotificationlist.c
@@ -78,12 +78,18 @@ pidgin_notification_list_unknown_notification(PurpleNotification *notification)
static GtkWidget *
pidgin_notification_generic_new(PurpleNotification *notification) {
GtkWidget *row = NULL;
+ GtkWidget *icon = NULL;
+
+ icon = gtk_image_new();
+ gtk_image_set_icon_size(GTK_IMAGE(icon), GTK_ICON_SIZE_LARGE);
+ g_object_bind_property(notification, "icon-name", icon, "icon-name",
+ G_BINDING_SYNC_CREATE);
row = adw_action_row_new();
+ adw_action_row_add_prefix(ADW_ACTION_ROW(row), icon);
+
g_object_bind_property(notification, "title", row, "title",
G_BINDING_SYNC_CREATE);
- g_object_bind_property(notification, "icon-name", row, "icon-name",
- G_BINDING_SYNC_CREATE);
g_object_bind_property_full(notification, "data", row, "subtitle",
G_BINDING_SYNC_CREATE,
pidgin_notification_gpointer_to_char,
diff --git a/pidgin/resources/Notifications/addcontact.ui b/pidgin/resources/Notifications/addcontact.ui
index 4f6be8b34d..261576bcf1 100644
--- a/pidgin/resources/Notifications/addcontact.ui
+++ b/pidgin/resources/Notifications/addcontact.ui
@@ -30,6 +30,13 @@ along with this program; if not, see <https://www.gnu.org/licenses/>.
<property name="activatable">0</property>
<property name="title-lines">3</property>
<property name="subtitle-lines">3</property>
+ <child type="prefix">
+ <object class="GtkImage" id="icon">
+ <property name="icon-size">large</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ </object>
+ </child>
<child>
<object class="GtkButton" id="add">
<property name="label" translatable="1">Add</property>
diff --git a/pidgin/resources/Notifications/authorizationrequest.ui b/pidgin/resources/Notifications/authorizationrequest.ui
index ac2f7451bd..5443170caa 100644
--- a/pidgin/resources/Notifications/authorizationrequest.ui
+++ b/pidgin/resources/Notifications/authorizationrequest.ui
@@ -30,6 +30,13 @@ along with this program; if not, see <https://www.gnu.org/licenses/>.
<property name="activatable">0</property>
<property name="title-lines">3</property>
<property name="subtitle-lines">3</property>
+ <child type="prefix">
+ <object class="GtkImage" id="icon">
+ <property name="icon-size">large</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ </object>
+ </child>
<child>
<object class="GtkButton" id="accept">
<property name="label" translatable="1">Accept</property>
diff --git a/pidgin/resources/Notifications/connectionerror.ui b/pidgin/resources/Notifications/connectionerror.ui
index c2cc671b01..913ef85549 100644
--- a/pidgin/resources/Notifications/connectionerror.ui
+++ b/pidgin/resources/Notifications/connectionerror.ui
@@ -27,6 +27,13 @@ along with this library; if not, see <https://www.gnu.org/licenses/>.
<property name="focusable">1</property>
<property name="activatable">0</property>
<property name="subtitle-lines">3</property>
+ <child type="prefix">
+ <object class="GtkImage" id="icon">
+ <property name="icon-size">large</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ </object>
+ </child>
<child>
<object class="GtkButton" id="reconnect">
<property name="label" translatable="1">Reconnect</property>