--- a/pidgin/pidginprotocolchooser.c Thu Sep 15 23:33:56 2022 -0500
+++ b/pidgin/pidginprotocolchooser.c Thu Sep 15 23:38:08 2022 -0500
@@ -34,9 +34,8 @@
*****************************************************************************/
struct _PidginProtocolChooser {
@@ -56,7 +55,8 @@
/******************************************************************************
*****************************************************************************/
-G_DEFINE_TYPE(PidginProtocolChooser, pidgin_protocol_chooser, ADW_TYPE_BIN)
+G_DEFINE_TYPE(PidginProtocolChooser, pidgin_protocol_chooser, pidgin_protocol_chooser_get_property(GObject *obj, guint prop_id,
@@ -121,8 +121,6 @@
"/im/pidgin/Pidgin3/Protocols/chooser.ui");
gtk_widget_class_bind_template_child(widget_class, PidginProtocolChooser,
- gtk_widget_class_bind_template_child(widget_class, PidginProtocolChooser,
gtk_widget_class_bind_template_callback(widget_class, dropdown_changed_cb);
@@ -153,7 +151,7 @@
g_return_val_if_fail(PIDGIN_IS_PROTOCOL_CHOOSER(chooser), NULL);
- protocol = gtk_drop_down_get_selected_item(chooser->dropdown);
+ protocol = adw_combo_row_get_selected_item(ADW_COMBO_ROW(chooser)); @@ -167,7 +165,7 @@
g_return_if_fail(PIDGIN_IS_PROTOCOL_CHOOSER(chooser));
- GListModel *model = gtk_drop_down_get_model(chooser->dropdown);
+ GListModel *model = adw_combo_row_get_model(ADW_COMBO_ROW(chooser)); guint count = g_list_model_get_n_items(model);
for(guint i = 0; i < count; i++) {
@@ -182,5 +180,5 @@
- gtk_drop_down_set_selected(chooser->dropdown, position);
+ adw_combo_row_set_selected(ADW_COMBO_ROW(chooser), position); --- a/pidgin/pidginprotocolchooser.h Thu Sep 15 23:33:56 2022 -0500
+++ b/pidgin/pidginprotocolchooser.h Thu Sep 15 23:38:08 2022 -0500
@@ -38,7 +38,7 @@
#define PIDGIN_TYPE_PROTOCOL_CHOOSER (pidgin_protocol_chooser_get_type())
G_DECLARE_FINAL_TYPE(PidginProtocolChooser, pidgin_protocol_chooser, PIDGIN,
- PROTOCOL_CHOOSER, AdwBin)
+ PROTOCOL_CHOOSER, AdwComboRow) * pidgin_protocol_chooser_new:
--- a/pidgin/resources/Accounts/editor.ui Thu Sep 15 23:33:56 2022 -0500
+++ b/pidgin/resources/Accounts/editor.ui Thu Sep 15 23:38:08 2022 -0500
@@ -47,17 +47,10 @@
<object class="AdwPreferencesGroup" id="login_options">
<property name="title" translatable="1">Login Options</property>
- <object class="AdwActionRow">
- <property name="activatable-widget">protocol</property>
+ <object class="PidginProtocolChooser" id="protocol"> <property name="title" translatable="1">Pro_tocol</property>
<property name="use-underline">1</property>
- <object class="PidginProtocolChooser" id="protocol">
- <property name="hexpand">1</property>
- <property name="valign">center</property>
- <signal name="notify::protocol" handler="pidgin_account_editor_protocol_changed_cb" object="PidginAccountEditor" swapped="no"/>
+ <signal name="notify::protocol" handler="pidgin_account_editor_protocol_changed_cb" object="PidginAccountEditor" swapped="no"/> --- a/pidgin/resources/Protocols/chooser.ui Thu Sep 15 23:33:56 2022 -0500
+++ b/pidgin/resources/Protocols/chooser.ui Thu Sep 15 23:38:08 2022 -0500
@@ -24,12 +24,10 @@
<!-- interface-name Pidgin -->
<!-- interface-description Internet Messenger -->
<!-- interface-copyright Pidgin Developers <devel@pidgin.im> -->
- <template class="PidginProtocolChooser" parent="AdwBin">
- <property name="child">
- <object class="GtkDropDown" id="dropdown">
- <property name="factory">
- <object class="GtkBuilderListItemFactory">
- <property name="bytes">
+ <template class="PidginProtocolChooser" parent="AdwComboRow"> + <property name="factory"> + <object class="GtkBuilderListItemFactory"> + <property name="bytes"> <?xml version="1.0" encoding="UTF-8"?>
@@ -62,22 +60,20 @@
+ <property name="model"> + <object class="GtkSortListModel" id="sort"> + <property name="sorter"> + <object class="GtkStringSorter"> + <property name="expression"> + <lookup name="name" type="PurpleProtocol"/> - <property name="model">
- <object class="GtkSortListModel" id="sort">
- <property name="sorter">
- <object class="GtkStringSorter">
- <property name="expression">
- <lookup name="name" type="PurpleProtocol"/>
- <signal name="notify::selected" handler="dropdown_changed_cb" object="PidginProtocolChooser" swapped="no"/>
+ <signal name="notify::selected" handler="dropdown_changed_cb" object="PidginProtocolChooser" swapped="no"/>