# HG changeset patch
# Node ID 48950cc4e455
# Parent  1927694accdb
diff --git a/pidgin/pidginnotificationaddcontact.c b/pidgin/pidginnotificationaddcontact.c
--- 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(P
 		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(P
 		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(P
 			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_in
 
 	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
--- a/pidgin/pidginnotificationauthorizationrequest.c
+++ b/pidgin/pidginnotificationauthorizationrequest.c
@@ -33,6 +33,7 @@ struct _PidginNotificationAuthorizationR
 
 	PurpleNotification *notification;
 
+	GtkWidget *icon;
 	GtkWidget *accept;
 	GtkWidget *deny;
 	GtkWidget *message;
@@ -64,7 +65,7 @@ pidgin_notification_authorization_reques
 		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_reques
 		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_reques
 			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_reques
 
 	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
--- a/pidgin/pidginnotificationconnectionerror.c
+++ b/pidgin/pidginnotificationconnectionerror.c
@@ -31,6 +31,7 @@ struct _PidginNotificationConnectionErro
 
 	PurpleNotification *notification;
 
+	GtkWidget *icon;
 	GtkWidget *reconnect;
 	GtkWidget *reenable;
 	GtkWidget *modify;
@@ -62,7 +63,7 @@ pidgin_notification_connection_error_upd
 		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_upd
 		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_upd
 	/* 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_cla
 
 	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
--- a/pidgin/pidginnotificationlist.c
+++ b/pidgin/pidginnotificationlist.c
@@ -78,12 +78,18 @@ pidgin_notification_list_unknown_notific
 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
--- a/pidgin/resources/Notifications/addcontact.ui
+++ b/pidgin/resources/Notifications/addcontact.ui
@@ -30,6 +30,13 @@ along with this program; if not, see <ht
     <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
--- a/pidgin/resources/Notifications/authorizationrequest.ui
+++ b/pidgin/resources/Notifications/authorizationrequest.ui
@@ -30,6 +30,13 @@ along with this program; if not, see <ht
     <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
--- a/pidgin/resources/Notifications/connectionerror.ui
+++ b/pidgin/resources/Notifications/connectionerror.ui
@@ -27,6 +27,13 @@ along with this library; if not, see <ht
     <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>
