# HG changeset patch
# Node ID 6f90610c8dae
# Parent  482ba61e5123
diff --git a/pidgin/resources/ContactList/widget.ui b/pidgin/resources/ContactList/widget.ui
--- a/pidgin/resources/ContactList/widget.ui
+++ b/pidgin/resources/ContactList/widget.ui
@@ -43,107 +43,7 @@
         <property name="vexpand">1</property>
         <property name="factory">
           <object class="GtkBuilderListItemFactory">
-            <property name="bytes">
-<![CDATA[
-<?xml version="1.0" encoding="UTF-8"?>
-<interface>
-  <template class="GtkListItem">
-    <property name="child">
-      <object class="GtkBox">
-        <property name="orientation">horizontal</property>
-        <property name="spacing">6</property>
-        <child>
-          <object class="GtkGestureClick">
-            <property name="button">3</property>
-            <!-- this has to turn off swapped otherwise we get the contact list or something. -->
-            <signal name="released" handler="pidgin_contact_list_context_cb" object="GtkListItem" swapped="no"/>
-          </object>
-        </child>
-        <child>
-          <!-- switch to a PidginAvatar when that can take a PurpleAvatar -->
-          <object class="GtkImage" id="avatar">
-            <property name="icon-size">large</property>
-            <binding name="paintable">
-              <closure type="GdkTexture" function="pidgin_contact_list_avatar_cb">
-                <lookup name="item">GtkListItem</lookup>
-              </closure>
-            </binding>
-          </object>
-        </child>
-        <child>
-          <object class="GtkBox">
-            <property name="hexpand">1</property>
-            <property name="orientation">vertical</property>
-            <property name="vexpand">1</property>
-            <property name="valign">center</property>
-            <child>
-              <object class="GtkBox">
-                <property name="orientation">horizontal</property>
-
-                <child>
-                  <object class="GtkLabel">
-                    <property name="xalign">0</property>
-                    <property name="use-markup">1</property>
-                    <binding name="label">
-                      <lookup name="name-for-display" type="PurplePerson">
-                        <lookup name="item">GtkListItem</lookup>
-                      </lookup>
-                    </binding>
-                  </object>
-                </child>
-                <child>
-                  <object class="GtkLabel">
-                    <property name="xalign">0</property>
-                    <binding name="label">
-                      <closure type="gchararray" function="pidgin_contact_list_get_primitive_as_string">
-                        <lookup name="presence" type="PurpleContactInfo">
-                          <lookup name="priority-contact-info" type="PurplePerson">
-                            <lookup name="item">GtkListItem</lookup>
-                          </lookup>
-                        </lookup>
-                      </closure>
-                    </binding>
-                  </object>
-                </child>
-              </object>
-            </child>
-            <child>
-              <object class="GtkLabel" id="status_message">
-                <style>
-                  <class name="dim-label"/>
-                </style>
-                <property name="xalign">0</property>
-                <property name="ellipsize">end</property>
-                <binding name="label">
-                  <lookup name="message" type="PurplePresence">
-                    <lookup name="presence" type="PurpleContactInfo">
-                      <lookup name="priority-contact-info" type="PurplePerson">
-                        <lookup name="item">GtkListItem</lookup>
-                      </lookup>
-                    </lookup>
-                  </lookup>
-                </binding>
-                <binding name="visible">
-                  <closure type="gboolean" function="pidgin_contact_list_message_visible_cb">
-                    <lookup name="message" type="PurplePresence">
-                      <lookup name="presence" type="PurpleContactInfo">
-                        <lookup name="priority-contact-info" type="PurplePerson">
-                          <lookup name="item">GtkListItem</lookup>
-                        </lookup>
-                      </lookup>
-                    </lookup>
-                  </closure>
-                </binding>
-              </object>
-            </child>
-          </object>
-        </child>
-      </object>
-    </property>
-  </template>
-</interface>
-]]>
-            </property>
+            <property name="resource">/im/pidgin/Pidgin3/contactlistitem.ui</property>
           </object>
         </property>
         <property name="model">
diff --git a/pidgin/resources/contactlistitem.ui b/pidgin/resources/contactlistitem.ui
new file mode 100644
--- /dev/null
+++ b/pidgin/resources/contactlistitem.ui
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Pidgin - Internet Messenger
+Copyright (C) Pidgin Developers <devel@pidgin.im>
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this library; if not, see <https://www.gnu.org/licenses/>.
+-->
+<interface>
+  <template class="GtkListItem">
+    <property name="child">
+      <object class="GtkBox">
+        <property name="orientation">horizontal</property>
+        <property name="spacing">6</property>
+        <child>
+          <object class="GtkGestureClick">
+            <property name="button">3</property>
+            <signal name="released" handler="pidgin_contact_list_context_cb"/>
+          </object>
+        </child>
+        <child>
+          <!-- switch to a PidginAvatar when that can take a PurpleAvatar -->
+          <object class="GtkImage" id="avatar">
+            <property name="icon-size">large</property>
+            <binding name="paintable">
+              <closure type="GdkTexture" function="pidgin_contact_list_avatar_cb">
+                <lookup name="item">GtkListItem</lookup>
+              </closure>
+            </binding>
+          </object>
+        </child>
+        <child>
+          <object class="GtkBox">
+            <property name="hexpand">1</property>
+            <property name="orientation">vertical</property>
+            <property name="vexpand">1</property>
+            <property name="valign">center</property>
+            <child>
+              <object class="GtkBox">
+                <property name="orientation">horizontal</property>
+                <child>
+                  <object class="GtkLabel">
+                    <property name="xalign">0</property>
+                    <property name="use-markup">1</property>
+                    <binding name="label">
+                      <lookup name="name-for-display" type="PurplePerson">
+                        <lookup name="item">GtkListItem</lookup>
+                      </lookup>
+                    </binding>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkLabel">
+                    <property name="xalign">0</property>
+                    <binding name="label">
+                      <closure type="gchararray" function="pidgin_contact_list_get_primitive_as_string">
+                        <lookup name="presence" type="PurpleContactInfo">
+                          <lookup name="priority-contact-info" type="PurplePerson">
+                            <lookup name="item">GtkListItem</lookup>
+                          </lookup>
+                        </lookup>
+                      </closure>
+                    </binding>
+                  </object>
+                </child>
+              </object>
+            </child>
+            <child>
+              <object class="GtkLabel" id="status_message">
+                <style>
+                  <class name="dim-label"/>
+                </style>
+                <property name="xalign">0</property>
+                <property name="ellipsize">end</property>
+                <binding name="label">
+                  <lookup name="message" type="PurplePresence">
+                    <lookup name="presence" type="PurpleContactInfo">
+                      <lookup name="priority-contact-info" type="PurplePerson">
+                        <lookup name="item">GtkListItem</lookup>
+                      </lookup>
+                    </lookup>
+                  </lookup>
+                </binding>
+                <binding name="visible">
+                  <closure type="gboolean" function="pidgin_contact_list_message_visible_cb">
+                    <lookup name="message" type="PurplePresence">
+                      <lookup name="presence" type="PurpleContactInfo">
+                        <lookup name="priority-contact-info" type="PurplePerson">
+                          <lookup name="item">GtkListItem</lookup>
+                        </lookup>
+                      </lookup>
+                    </lookup>
+                  </closure>
+                </binding>
+              </object>
+            </child>
+          </object>
+        </child>
+      </object>
+    </property>
+  </template>
+</interface>
diff --git a/pidgin/resources/pidgin.gresource.xml b/pidgin/resources/pidgin.gresource.xml
--- a/pidgin/resources/pidgin.gresource.xml
+++ b/pidgin/resources/pidgin.gresource.xml
@@ -46,6 +46,7 @@
     <file compressed="true" preprocess="xml-stripblanks">gtk/menus.ui</file>
     <file compressed="true" preprocess="xml-stripblanks">account-row.ui</file>
     <file compressed="true" preprocess="xml-stripblanks">channeljoindialog.ui</file>
+    <file compressed="true" preprocess="xml-stripblanks">contactlistitem.ui</file>
     <file compressed="true" preprocess="xml-stripblanks">presenceicon.ui</file>
     <file compressed="true" preprocess="xml-stripblanks">statusprimitivechooser.ui</file>
     <file>icons/16x16/status/pidgin-user-available.png</file>
diff --git a/po/POTFILES.in b/po/POTFILES.in
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -329,6 +329,7 @@
 pidgin/resources/Xfer/xfer.ui
 pidgin/resources/gtk/menus.ui
 pidgin/resources/account-row.ui
+pidgin/resources/contactlistitem.ui
 pidgin/win32/gtkwin32dep.c
 pidgin/win32/winpidgin.c
 purple-history/purplehistorycore.c
