Sun, 30 Oct 2022 03:29:33 -0500
Move PidginAccountChooser to GtkDropDown
The chooser connects to the default account manager automatically.
Additionally, re-parent the `GtkTreeModelFilter` subclasses to `GtkFilter`, and use them on the `filter` property.
This also means the previous `filter_func` that was moved to `GtkFilter` in /r/1995 are now used again.
Testing Done:
Opened most of the affected dialogs. Disabled XMPP account and saw that it was removed from all connected-only filtered choosers. Re-enabled account and it was back in the choosers.
Confirmed that only XMPP, and not Demo accounts appeared in the two XMPP-specific plugins.
Request API is still only compile-tested.
Reviewed at https://reviews.imfreedom.org/r/1992/
<?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 program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. --> <interface> <requires lib="gtk" version="4.0"/> <!-- interface-license-type gplv2 --> <!-- interface-name Pidgin --> <!-- interface-description Internet Messenger --> <!-- interface-copyright Pidgin Developers <devel@pidgin.im> --> <menu id="menu"> <section> <item> <attribute name="label" translatable="yes">Save Avatar As...</attribute> <attribute name="action">avatar.save-avatar</attribute> </item> <item> <attribute name="label" translatable="yes">Set Custom Avatar...</attribute> <attribute name="action">avatar.set-custom-avatar</attribute> </item> <item> <attribute name="label" translatable="yes">Clear Custom Avatar</attribute> <attribute name="action">avatar.clear-custom-avatar</attribute> </item> </section> </menu> </interface>