diff options
author | Benjamin Otte <otte@redhat.com> | 2017-07-30 16:53:07 +0100 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2017-07-30 16:53:07 +0100 |
commit | 907290d6a89ff5e7f2915aaaa92e2b206cdac89b (patch) | |
tree | fa12b2e6d1f67ead5835452556a4adf986522e1f | |
parent | 9194420a903dc64589e00d11ffe1330f3253b165 (diff) | |
download | gtk+-907290d6a89ff5e7f2915aaaa92e2b206cdac89b.tar.gz |
xxx: WIPwip/otte/icon-size
-rw-r--r-- | gtk/a11y/gtkimageaccessible.c | 42 | ||||
-rw-r--r-- | gtk/gtkicontheme.h | 7 | ||||
-rw-r--r-- | gtk/gtkimage.c | 9 | ||||
-rw-r--r-- | gtk/gtkimageprivate.h | 3 | ||||
-rw-r--r-- | gtk/gtkprintunixdialog.c | 23 | ||||
-rw-r--r-- | gtk/gtktoolbutton.c | 17 |
6 files changed, 17 insertions, 84 deletions
diff --git a/gtk/a11y/gtkimageaccessible.c b/gtk/a11y/gtkimageaccessible.c index a83a9934f9..696eb17dcb 100644 --- a/gtk/a11y/gtkimageaccessible.c +++ b/gtk/a11y/gtkimageaccessible.c @@ -20,7 +20,7 @@ #include <string.h> #include <gtk/gtk.h> #include "gtkimageaccessible.h" -#include "gtktoolbarprivate.h" +#include "gtkimageprivate.h" #include "gtkintl.h" struct _GtkImageAccessiblePrivate @@ -252,7 +252,6 @@ gtk_image_accessible_get_image_size (AtkImage *image, { GtkWidget* widget; GtkImage *gtk_image; - GtkImageType image_type; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (image)); if (widget == NULL) @@ -264,43 +263,8 @@ gtk_image_accessible_get_image_size (AtkImage *image, gtk_image = GTK_IMAGE (widget); - image_type = gtk_image_get_storage_type (gtk_image); - switch (image_type) - { - case GTK_IMAGE_PIXBUF: - { - GdkPixbuf *pixbuf; - - pixbuf = gtk_image_get_pixbuf (gtk_image); - *height = gdk_pixbuf_get_height (pixbuf); - *width = gdk_pixbuf_get_width (pixbuf); - break; - } - case GTK_IMAGE_ICON_NAME: - case GTK_IMAGE_GICON: - { - GtkIconSize size; - - g_object_get (gtk_image, "icon-size", &size, NULL); - gtk_icon_size_lookup (size, width, height); - break; - } - case GTK_IMAGE_ANIMATION: - { - GdkPixbufAnimation *animation; - - animation = gtk_image_get_animation (gtk_image); - *height = gdk_pixbuf_animation_get_height (animation); - *width = gdk_pixbuf_animation_get_width (animation); - break; - } - default: - { - *height = -1; - *width = -1; - break; - } - } + if (gtk_image_get_storage_type (gtk_image) != GTK_IMAGE_EMPTY) + gtk_image_get_image_size (gtk_image, width, height); } static gboolean diff --git a/gtk/gtkicontheme.h b/gtk/gtkicontheme.h index a76a97890e..015c12e0b8 100644 --- a/gtk/gtkicontheme.h +++ b/gtk/gtkicontheme.h @@ -341,13 +341,6 @@ GdkPixbuf * gtk_icon_info_load_symbolic_for_context_finish (GtkIconInf gboolean *was_symbolic, GError **error); -#ifndef GDK_MULTIHEAD_SAFE -GDK_AVAILABLE_IN_ALL -gboolean gtk_icon_size_lookup (GtkIconSize size, - gint *width, - gint *height); -#endif /* GDK_MULTIHEAD_SAFE */ - G_END_DECLS diff --git a/gtk/gtkimage.c b/gtk/gtkimage.c index 6d9cdbf698..6d31fa61f7 100644 --- a/gtk/gtkimage.c +++ b/gtk/gtkimage.c @@ -1650,3 +1650,12 @@ gtk_image_get_icon_size (GtkImage *image) return image->priv->icon_size; } + +void +gtk_image_get_image_size (GtkImage *image, + int *width, + int *height) +{ + _gtk_icon_helper_get_size (image->priv->icon_helper, + width, height); +} diff --git a/gtk/gtkimageprivate.h b/gtk/gtkimageprivate.h index 2157839f0a..93a15abf15 100644 --- a/gtk/gtkimageprivate.h +++ b/gtk/gtkimageprivate.h @@ -34,6 +34,9 @@ G_BEGIN_DECLS void gtk_image_set_from_definition (GtkImage *image, GtkImageDefinition *def); +void gtk_image_get_image_size (GtkImage *image, + int *width, + int *height); G_END_DECLS diff --git a/gtk/gtkprintunixdialog.c b/gtk/gtkprintunixdialog.c index 4d06655289..46076d4f4b 100644 --- a/gtk/gtkprintunixdialog.c +++ b/gtk/gtkprintunixdialog.c @@ -135,7 +135,6 @@ static void gtk_print_unix_dialog_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); -static void gtk_print_unix_dialog_style_updated (GtkWidget *widget); static void unschedule_idle_mark_conflicts (GtkPrintUnixDialog *dialog); static void selected_printer_changed (GtkTreeSelection *selection, GtkPrintUnixDialog *dialog); @@ -407,7 +406,6 @@ gtk_print_unix_dialog_class_init (GtkPrintUnixDialogClass *class) object_class->set_property = gtk_print_unix_dialog_set_property; object_class->get_property = gtk_print_unix_dialog_get_property; - widget_class->style_updated = gtk_print_unix_dialog_style_updated; widget_class->destroy = gtk_print_unix_dialog_destroy; g_object_class_install_property (object_class, @@ -2308,27 +2306,6 @@ draw_collate (GtkDrawingArea *da, } static void -gtk_print_unix_dialog_style_updated (GtkWidget *widget) -{ - GTK_WIDGET_CLASS (gtk_print_unix_dialog_parent_class)->style_updated (widget); - - if (gtk_widget_has_screen (widget)) - { - GtkPrintUnixDialog *dialog = (GtkPrintUnixDialog *)widget; - GtkPrintUnixDialogPrivate *priv = dialog->priv; - gint size; - gfloat scale; - - gtk_icon_size_lookup (GTK_ICON_SIZE_LARGE, &size, NULL); - scale = size / 48.0; - - gtk_widget_set_size_request (priv->collate_image, - (50 + 20) * scale, - (15 + 26) * scale); - } -} - -static void update_page_range_entry_sensitivity (GtkWidget *button, GtkPrintUnixDialog *dialog) { diff --git a/gtk/gtktoolbutton.c b/gtk/gtktoolbutton.c index 6161029740..159865b048 100644 --- a/gtk/gtktoolbutton.c +++ b/gtk/gtktoolbutton.c @@ -724,22 +724,9 @@ clone_image_menu_size (GtkImage *image) } else if (storage_type == GTK_IMAGE_PIXBUF) { - gint width, height; + GdkPixbuf *src_pixbuf = gtk_image_get_pixbuf (image); - if (gtk_icon_size_lookup (GTK_ICON_SIZE_NORMAL, &width, &height)) - { - GdkPixbuf *src_pixbuf, *dest_pixbuf; - GtkWidget *cloned_image; - - src_pixbuf = gtk_image_get_pixbuf (image); - dest_pixbuf = gdk_pixbuf_scale_simple (src_pixbuf, width, height, - GDK_INTERP_BILINEAR); - - cloned_image = gtk_image_new_from_pixbuf (dest_pixbuf); - g_object_unref (dest_pixbuf); - - return cloned_image; - } + return gtk_image_new_from_pixbuf (src_pixbuf); } return NULL; |