diff options
author | Elliott Sales de Andrade <quantum.analyst@gmail.com> | 2023-03-10 17:37:15 -0600 |
---|---|---|
committer | Elliott Sales de Andrade <quantum.analyst@gmail.com> | 2023-03-10 17:37:15 -0600 |
commit | ce9173bdcf6fad2c97fc53527ceea6b475b1497a (patch) | |
tree | e5a4f9a762aba8ab8f45423f2e0431b472860044 /pidgin | |
parent | 5c503c835674765e6bddb94ef34e931a02d930fe (diff) | |
download | pidgin-ce9173bdcf6fad2c97fc53527ceea6b475b1497a.tar.gz |
Make PurpleRequestFieldImage into a GObject
I'm not sure taking a `char*` and `gsize` is the best constructor; we can probably move this to `GdkPixbuf` or something now. Plus the properties would be nicer, and then it could change images on the fly. But that can happen later.
Testing Done:
Compiled and opened Request Fields from the Demo protocol
Reviewed at https://reviews.imfreedom.org/r/2339/
Diffstat (limited to 'pidgin')
-rw-r--r-- | pidgin/gtkrequest.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/pidgin/gtkrequest.c b/pidgin/gtkrequest.c index 08b5bffda1..bdb88586cd 100644 --- a/pidgin/gtkrequest.c +++ b/pidgin/gtkrequest.c @@ -1293,16 +1293,17 @@ create_choice_field(PurpleRequestField *field) { static GtkWidget * create_image_field(PurpleRequestField *field) { + PurpleRequestFieldImage *ifield = PURPLE_REQUEST_FIELD_IMAGE(field); GtkWidget *widget; GdkPixbuf *buf, *scale; buf = purple_gdk_pixbuf_from_data( - (const guchar *)purple_request_field_image_get_buffer(field), - purple_request_field_image_get_size(field)); + (const guchar *)purple_request_field_image_get_buffer(ifield), + purple_request_field_image_get_size(ifield)); scale = gdk_pixbuf_scale_simple(buf, - purple_request_field_image_get_scale_x(field) * gdk_pixbuf_get_width(buf), - purple_request_field_image_get_scale_y(field) * gdk_pixbuf_get_height(buf), + purple_request_field_image_get_scale_x(ifield) * gdk_pixbuf_get_width(buf), + purple_request_field_image_get_scale_y(ifield) * gdk_pixbuf_get_height(buf), GDK_INTERP_BILINEAR); widget = gtk_image_new_from_pixbuf(scale); g_object_unref(G_OBJECT(buf)); @@ -2155,9 +2156,9 @@ pidgin_request_fields(const char *title, const char *primary, widget = create_choice_field(field); } else if(PURPLE_IS_REQUEST_FIELD_LIST(field)) { widget = create_list_field(field); - } else if (type == PURPLE_REQUEST_FIELD_IMAGE) + } else if(PURPLE_IS_REQUEST_FIELD_IMAGE(field)) { widget = create_image_field(field); - else if(PURPLE_IS_REQUEST_FIELD_ACCOUNT(field)) { + } else if(PURPLE_IS_REQUEST_FIELD_ACCOUNT(field)) { widget = create_account_field(field); } else if (type == PURPLE_REQUEST_FIELD_DATASHEET) widget = create_datasheet_field(field, datasheet_buttons_sg); |