pidgin/resources/contactlistitem.ui

Sun, 10 Aug 2025 23:44:08 +0800

author
Gong Zhile <gongzl@stu.hebust.edu.cn>
date
Sun, 10 Aug 2025 23:44:08 +0800
branch
purple_conversation_find_message_by_id
changeset 43309
099e1dfb856b
parent 42516
9ac4a8394577
permissions
-rw-r--r--

Add Purple.Conversation.find_message_by_id

The method was added so that a protocol or plugin could easily lookup
for the reference for a message. This will be especially useful when a
protocol received a quoted message but only with an id.

<?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>

mercurial