# HG changeset patch # User Gary Kramlich # Date 1646113680 21600 # Node ID 0e835d051f5c5580c3770eda399a44dcb1a3cc6f # Parent 4160c570866d51cd534f6a76e5a0c481b984eec9 Update gtkdialogs.c for GTK4 I also removed an old easter egg in this as it was the prime offender and we can always add it back in another shape or form. Testing Done: Compiled verified the warnings/errors for the file are gone. Reviewed at https://reviews.imfreedom.org/r/1311/ diff -r 4160c570866d -r 0e835d051f5c ChangeLog.API --- a/ChangeLog.API Tue Feb 22 19:44:31 2022 -0600 +++ b/ChangeLog.API Mon Feb 28 23:48:00 2022 -0600 @@ -936,6 +936,7 @@ * pidgin_dialog_get_vbox * pidgin_dialog_get_vbox_with_properties * pidgin_dialogs_alias_contact + * pidgin_dialogs_destroy_all * pidgin_dialogs_log * pidgin_get_dim_grey_string * pidgin_gdk_pixbuf_make_round, use purple_gdk_pixbuf_make_round instead. diff -r 4160c570866d -r 0e835d051f5c pidgin/gtkconn.c --- a/pidgin/gtkconn.c Tue Feb 22 19:44:31 2022 -0600 +++ b/pidgin/gtkconn.c Mon Feb 28 23:48:00 2022 -0600 @@ -60,8 +60,6 @@ { if (purple_connections_get_all() != NULL) return; - - pidgin_dialogs_destroy_all(); } static void diff -r 4160c570866d -r 0e835d051f5c pidgin/gtkdialogs.c --- a/pidgin/gtkdialogs.c Tue Feb 22 19:44:31 2022 -0600 +++ b/pidgin/gtkdialogs.c Mon Feb 28 23:48:00 2022 -0600 @@ -42,20 +42,11 @@ #include "pidgincore.h" #include "pidgindialog.h" -static GList *dialogwindows = NULL; - struct _PidginGroupMergeObject { PurpleGroup* parent; char *new_name; }; -void -pidgin_dialogs_destroy_all() -{ - g_list_free_full(dialogwindows, (GDestroyNotify)gtk_widget_destroy); - dialogwindows = NULL; -} - static void pidgin_dialogs_im_cb(gpointer data, PurpleRequestFields *fields) { @@ -146,93 +137,23 @@ purple_conversation_present(im); } -static gboolean -pidgin_dialogs_ee(const char *ee) -{ - GtkWidget *window; - GtkWidget *hbox; - GtkWidget *label; - GtkWidget *img; - gchar *norm = purple_strreplace(ee, "rocksmyworld", ""); - - label = gtk_label_new(NULL); - if (purple_strequal(norm, "zilding")) - gtk_label_set_markup(GTK_LABEL(label), - "Amazing! Simply Amazing!"); - else if (purple_strequal(norm, "robflynn")) - gtk_label_set_markup(GTK_LABEL(label), - "Pimpin\' Penguin Style! *Waddle Waddle*"); - else if (purple_strequal(norm, "flynorange")) - gtk_label_set_markup(GTK_LABEL(label), - "You should be me. I'm so cute!"); - else if (purple_strequal(norm, "ewarmenhoven")) - gtk_label_set_markup(GTK_LABEL(label), - "Now that's what I like!"); - else if (purple_strequal(norm, "markster97")) - gtk_label_set_markup(GTK_LABEL(label), - "Ahh, and excellent choice!"); - else if (purple_strequal(norm, "seanegn")) - gtk_label_set_markup(GTK_LABEL(label), - "Every time you click my name, an angel gets its wings."); - else if (purple_strequal(norm, "chipx86")) - gtk_label_set_markup(GTK_LABEL(label), - "This sunflower seed taste like pizza."); - else if (purple_strequal(norm, "markdoliner")) - gtk_label_set_markup(GTK_LABEL(label), - "Hey! I was in that tumbleweed!"); - else if (purple_strequal(norm, "lschiere")) - gtk_label_set_markup(GTK_LABEL(label), - "I'm not anything."); - g_free(norm); - - if (strlen(gtk_label_get_label(GTK_LABEL(label))) <= 0) - return FALSE; - - window = gtk_dialog_new_with_buttons(PIDGIN_ALERT_TITLE, NULL, 0, - _("_Close"), GTK_RESPONSE_OK, NULL); - gtk_dialog_set_default_response (GTK_DIALOG(window), GTK_RESPONSE_OK); - g_signal_connect(G_OBJECT(window), "response", G_CALLBACK(gtk_widget_destroy), NULL); - - gtk_container_set_border_width (GTK_CONTAINER(window), 6); - gtk_window_set_resizable(GTK_WINDOW(window), FALSE); - gtk_box_set_spacing(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(window))), - 12); - gtk_container_set_border_width(GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(window))), - 6); - - hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 12); - gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(window))), hbox); - img = gtk_image_new_from_icon_name("dialog-cool", GTK_ICON_SIZE_DIALOG); - gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); - - gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); - gtk_label_set_xalign(GTK_LABEL(label), 0); - gtk_label_set_yalign(GTK_LABEL(label), 0); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); - - gtk_widget_show_all(window); - return TRUE; -} - static void pidgin_dialogs_info_cb(gpointer data, PurpleRequestFields *fields) { char *username; - gboolean found = FALSE; PurpleAccount *account; + const gchar *screenname = NULL; - account = purple_request_fields_get_account(fields, "account"); + account = purple_request_fields_get_account(fields, "account"); - username = g_strdup(purple_normalize(account, - purple_request_fields_get_string(fields, "screenname"))); + screenname = purple_request_fields_get_string(fields, "screenname"); + username = g_strdup(purple_normalize(account, screenname)); - if (username != NULL && g_str_has_suffix(username, "rocksmyworld")) { - found = pidgin_dialogs_ee(username); + if(username != NULL && *username != '\0' && account != NULL) { + pidgin_retrieve_user_info(purple_account_get_connection(account), + username); } - if (!found && username != NULL && *username != '\0' && account != NULL) - pidgin_retrieve_user_info(purple_account_get_connection(account), username); - g_free(username); } diff -r 4160c570866d -r 0e835d051f5c pidgin/gtkdialogs.h --- a/pidgin/gtkdialogs.h Tue Feb 22 19:44:31 2022 -0600 +++ b/pidgin/gtkdialogs.h Mon Feb 28 23:48:00 2022 -0600 @@ -30,9 +30,6 @@ G_BEGIN_DECLS -/* Functions in gtkdialogs.c (these should actually stay in this file) */ -void pidgin_dialogs_destroy_all(void); - void pidgin_dialogs_im(void); void pidgin_dialogs_im_with_user(PurpleAccount *account, const char *username); void pidgin_dialogs_info(void);