--- a/pidgin/resources/Status/box.ui Mon Apr 03 23:09:36 2023 -0500 +++ b/pidgin/resources/Status/box.ui Mon Apr 03 23:11:34 2023 -0500 @@ -24,54 +24,59 @@ <!-- interface-name Pidgin --> <!-- interface-description Internet Messenger --> <!-- interface-copyright Pidgin Developers <devel@pidgin.im> --> - <object class="GtkListStore" id="model"> - <columns> - <!-- column-name id --> - <column type="gchararray"/> - <!-- column-name type --> - <column type="gint"/> - <!-- column-name icon-name --> - <column type="gchararray"/> - <!-- column-name primitive --> - <column type="gint"/> - <!-- column-name text --> - <column type="gchararray"/> - <!-- column-name data --> - <column type="gpointer"/> - <!-- column-name emblem-visible --> - <column type="gboolean"/> - </columns> - </object> <template class="PidginStatusBox" parent="GtkBox"> <property name="focusable">1</property> <property name="orientation">vertical</property> <child> - <object class="GtkComboBox" id="combo"> + <object class="GtkMenuButton" id="button"> <property name="focusable">1</property> - <property name="model">model</property> - <property name="id-column">0</property> - <signal name="changed" handler="pidgin_status_box_combo_changed_cb" object="PidginStatusBox" swapped="no"/> - <child> - <object class="GtkCellRendererPixbuf" id="icon"/> - <attributes> - <attribute name="icon-name">2</attribute> - </attributes> - </child> - <child> - <object class="GtkCellRendererText" id="text"/> - <attributes> - <attribute name="markup">4</attribute> - </attributes> - </child> - <child> - <object class="GtkCellRendererPixbuf" id="emblem"> - <property name="icon-name">document-save</property> - </object> - <attributes> - <attribute name="visible">6</attribute> - </attributes> - </child> + <property name="always-show-arrow">1</property> + <property name="child"> + <object class="PidginStatusDisplay" id="display"/> + </property> + <property name="menu-model">menu</property> </object> </child> </template> + <menu id="menu"> + <section id="primitives"> + <!-- NOTE: labels are automatically set for primitives from the target primitive. --> + <item> + <attribute name="action">status.set-primitive</attribute> + <attribute name="target">available</attribute> + <attribute name="custom">available</attribute> + </item> + <item> + <attribute name="action">status.set-primitive</attribute> + <attribute name="target">away</attribute> + <attribute name="custom">away</attribute> + </item> + <item> + <attribute name="action">status.set-primitive</attribute> + <attribute name="target">unavailable</attribute> + <attribute name="custom">unavailable</attribute> + </item> + <item> + <attribute name="action">status.set-primitive</attribute> + <attribute name="target">invisible</attribute> + <attribute name="custom">invisible</attribute> + </item> + <item> + <attribute name="action">status.set-primitive</attribute> + <attribute name="target">offline</attribute> + <attribute name="custom">offline</attribute> + </item> + </section> + <section id="saved_statuses"/> + <section id="actions"> + <item> + <attribute name="label" translatable="1">New Status...</attribute> + <attribute name="action">app.new-status</attribute> + </item> + <item> + <attribute name="label" translatable="1">Saved Statuses...</attribute> + <attribute name="action">app.status-manager</attribute> + </item> + </section> + </menu> </interface>