pidgin/pidgin

0cb7833d756b
Parents 67b0fe9f32f3
Children 0067a0ff5b74
Convert more manual cases of PidginAccountChooser away from GtkComboBox

These were missed in /r/1991, but needed a bit of refactoring anyway in /r/1997.

Testing Done:
Tried out the Join a Chat dialog, but only compiled for the request stuff.

Reviewed at https://reviews.imfreedom.org/r/1998/
--- a/pidgin/gtkblist.c Sat Oct 29 01:40:10 2022 -0500
+++ b/pidgin/gtkblist.c Sat Oct 29 01:42:13 2022 -0500
@@ -1054,7 +1054,7 @@
g_object_unref(custom_filter);
pidgin_add_widget_to_vbox(GTK_BOX(vbox), _("A_ccount"), data->sg, data->account_menu, TRUE, NULL);
- g_signal_connect(data->account_menu, "changed",
+ g_signal_connect(data->account_menu, "notify::account",
G_CALLBACK(callback_func), data);
data->vbox = GTK_BOX(gtk_box_new(GTK_ORIENTATION_VERTICAL, 5));
@@ -1154,9 +1154,11 @@
}
static void
-chat_select_account_cb(GObject *w, PidginChatData *data)
+chat_select_account_cb(GObject *obj, G_GNUC_UNUSED GParamSpec *pspec,
+ gpointer user_data)
{
- PidginAccountChooser *chooser = PIDGIN_ACCOUNT_CHOOSER(w);
+ PidginChatData *data = user_data;
+ PidginAccountChooser *chooser = PIDGIN_ACCOUNT_CHOOSER(obj);
PurpleAccount *account = pidgin_account_chooser_get_selected(chooser);
g_return_if_fail(data != NULL);
--- a/pidgin/gtkrequest.c Sat Oct 29 01:40:10 2022 -0500
+++ b/pidgin/gtkrequest.c Sat Oct 29 01:42:13 2022 -0500
@@ -302,14 +302,15 @@
}
static void
-field_account_cb(GObject *w, PurpleRequestField *field)
+field_account_cb(GObject *obj, G_GNUC_UNUSED GParamSpec *pspec, gpointer data)
{
- PidginAccountChooser *chooser = PIDGIN_ACCOUNT_CHOOSER(w);
+ PurpleRequestField *field = data;
+ PidginAccountChooser *chooser = PIDGIN_ACCOUNT_CHOOSER(obj);
purple_request_field_account_set_value(
field, pidgin_account_chooser_get_selected(chooser));
- req_field_changed_common(GTK_WIDGET(w), field);
+ req_field_changed_common(GTK_WIDGET(obj), field);
}
static void
@@ -1435,7 +1436,7 @@
GTK_FILTER(custom_filter));
g_object_unref(custom_filter);
- g_signal_connect(widget, "changed", G_CALLBACK(field_account_cb),
+ g_signal_connect(widget, "notify::account", G_CALLBACK(field_account_cb),
field);
gtk_widget_set_tooltip_text(widget, purple_request_field_get_tooltip(field));