# HG changeset patch # User Gary Kramlich # Date 1661486029 18000 # Node ID 46a6267a35e6b4c999b50425ffea9a0cb70cd357 # Parent 2f0fec76cfbcf996603224292353ed4ed4e47311 Port the media window to GTK4 Testing Done: Compiled and ran, but there's no way to start a call at the moment. Reviewed at https://reviews.imfreedom.org/r/1642/ diff -r 2f0fec76cfbc -r 46a6267a35e6 pidgin/gtkmedia.c --- a/pidgin/gtkmedia.c Thu Aug 25 22:45:58 2022 -0500 +++ b/pidgin/gtkmedia.c Thu Aug 25 22:53:49 2022 -0500 @@ -116,12 +116,14 @@ }; static gboolean -pidgin_media_delete_event_cb(GtkWidget *widget, - GdkEvent *event, PidginMedia *media) -{ - if (media->priv->media) +pidgin_media_close_request_cb(GtkWindow *window, gpointer data) { + PidginMedia *media = data; + + if(media->priv->media) { g_action_group_activate_action(G_ACTION_GROUP(media), "Hangup", NULL); + } + return FALSE; } @@ -160,7 +162,7 @@ statusbar); gtk_widget_class_bind_template_callback(widget_class, - pidgin_media_delete_event_cb); + pidgin_media_close_request_cb); } diff -r 2f0fec76cfbc -r 46a6267a35e6 pidgin/gtkrequest.c --- a/pidgin/gtkrequest.c Thu Aug 25 22:45:58 2022 -0500 +++ b/pidgin/gtkrequest.c Thu Aug 25 22:53:49 2022 -0500 @@ -318,8 +318,7 @@ } static gboolean -destroy_multifield_cb(GtkWidget *dialog, GdkEvent *event, - PidginRequestData *data) +destroy_multifield_cb(GtkWidget *self, PidginRequestData *data) { multifield_cancel_cb(NULL, data); return FALSE; @@ -1262,10 +1261,8 @@ static GtkWidget * create_choice_field(PurpleRequestField *field, - PurpleRequestCommonParameters *cpar) + PurpleRequestCommonParameters *cpar) { -#warning please rewrite me -#if 0 GtkWidget *widget; GList *elements = purple_request_field_choice_get_elements(field); guint num_labels = g_list_length(elements); @@ -1361,7 +1358,6 @@ g_object_set_data_full(G_OBJECT(widget), "values", values, g_free); return widget; -#endif return NULL; } @@ -1944,7 +1940,7 @@ data->dialog = win = pidgin_dialog_new(title, 12, "multifield", TRUE) ; - g_signal_connect(G_OBJECT(win), "delete_event", + g_signal_connect(G_OBJECT(win), "close-request", G_CALLBACK(destroy_multifield_cb), data); /* Setup the main horizontal box */ diff -r 2f0fec76cfbc -r 46a6267a35e6 pidgin/resources/Media/window.ui --- a/pidgin/resources/Media/window.ui Thu Aug 25 22:45:58 2022 -0500 +++ b/pidgin/resources/Media/window.ui Thu Aug 25 22:53:49 2022 -0500 @@ -1,6 +1,5 @@ - - +