summaryrefslogtreecommitdiff
path: root/libview/ev-annotation-window.c
diff options
context:
space:
mode:
authorraveit65 <[email protected]>2017-08-09 15:13:17 +0200
committerraveit65 <[email protected]>2017-08-11 13:58:24 +0200
commitc91e919ac36a0a34358fd4cd698e8c9e891502cc (patch)
tree78de7702d18c6000dd285a097a94eec22894f90b /libview/ev-annotation-window.c
parent4fc263679c77c7db26e0259efd44fd2a9d513712 (diff)
downloadatril-c91e919ac36a0a34358fd4cd698e8c9e891502cc.tar.bz2
atril-c91e919ac36a0a34358fd4cd698e8c9e891502cc.tar.xz
libview: setting annotation window icons sizes
After a gtk update, the sizes of the icons on the annotation window (close and resize handles) are 48x48. This patch fixes this by using GtkIconTheme to force the loading of the icon on a different size than the file taken from: https://git.gnome.org/browse/evince/commit/?id=63d0b4b
Diffstat (limited to 'libview/ev-annotation-window.c')
-rw-r--r--libview/ev-annotation-window.c29
1 files changed, 13 insertions, 16 deletions
diff --git a/libview/ev-annotation-window.c b/libview/ev-annotation-window.c
index de5c8876..217873e5 100644
--- a/libview/ev-annotation-window.c
+++ b/libview/ev-annotation-window.c
@@ -75,8 +75,6 @@ static guint signals[N_SIGNALS] = { 0 };
G_DEFINE_TYPE (EvAnnotationWindow, ev_annotation_window, GTK_TYPE_WINDOW)
-#define EV_ICON_SIZE_ANNOT_WINDOW (ev_annotation_window_get_icon_size())
-
/* Cut and paste from gtkwindow.c */
static void
send_focus_change (GtkWidget *widget,
@@ -104,17 +102,6 @@ get_screen_dpi (EvAnnotationWindow *window)
return ev_document_misc_get_screen_dpi (screen);
}
-static GtkIconSize
-ev_annotation_window_get_icon_size (void)
-{
- static GtkIconSize icon_size = 0;
-
- if (G_UNLIKELY (icon_size == 0))
- icon_size = gtk_icon_size_register ("ev-icon-size-annot-window", 8, 8);
-
- return icon_size;
-}
-
static void
ev_annotation_window_sync_contents (EvAnnotationWindow *window)
{
@@ -282,6 +269,10 @@ ev_annotation_window_init (EvAnnotationWindow *window)
GtkWidget *vbox, *hbox;
GtkWidget *icon;
GtkWidget *swindow;
+ GtkIconTheme *icon_theme;
+ GdkPixbuf *pixbuf;
+
+ icon_theme = gtk_icon_theme_get_default ();
gtk_widget_set_can_focus (GTK_WIDGET (window), TRUE);
@@ -304,7 +295,9 @@ ev_annotation_window_init (EvAnnotationWindow *window)
g_signal_connect_swapped (window->close_button, "clicked",
G_CALLBACK (ev_annotation_window_close),
window);
- icon = gtk_image_new_from_stock (EV_STOCK_CLOSE, EV_ICON_SIZE_ANNOT_WINDOW);
+ pixbuf = gtk_icon_theme_load_icon (icon_theme, EV_STOCK_CLOSE, 8, GTK_ICON_LOOKUP_FORCE_SIZE, NULL);
+ icon = gtk_image_new_from_pixbuf (pixbuf);
+ g_object_unref (pixbuf);
gtk_container_add (GTK_CONTAINER (window->close_button), icon);
gtk_widget_show (icon);
@@ -342,7 +335,9 @@ ev_annotation_window_init (EvAnnotationWindow *window)
G_CALLBACK (ev_annotation_window_set_resize_cursor),
window);
- icon = gtk_image_new_from_stock (EV_STOCK_RESIZE_SW, EV_ICON_SIZE_ANNOT_WINDOW);
+ pixbuf = gtk_icon_theme_load_icon (icon_theme, EV_STOCK_RESIZE_SW, 8, GTK_ICON_LOOKUP_FORCE_SIZE, NULL);
+ icon = gtk_image_new_from_pixbuf (pixbuf);
+ g_object_unref (pixbuf);
gtk_container_add (GTK_CONTAINER (window->resize_sw), icon);
gtk_widget_show (icon);
gtk_box_pack_start (GTK_BOX (hbox), window->resize_sw, FALSE, FALSE, 0);
@@ -357,7 +352,9 @@ ev_annotation_window_init (EvAnnotationWindow *window)
G_CALLBACK (ev_annotation_window_set_resize_cursor),
window);
- icon = gtk_image_new_from_stock (EV_STOCK_RESIZE_SE, EV_ICON_SIZE_ANNOT_WINDOW);
+ pixbuf = gtk_icon_theme_load_icon (icon_theme, EV_STOCK_RESIZE_SE, 8, GTK_ICON_LOOKUP_FORCE_SIZE, NULL);
+ icon = gtk_image_new_from_pixbuf (pixbuf);
+ g_object_unref (pixbuf);
gtk_container_add (GTK_CONTAINER (window->resize_se), icon);
gtk_widget_show (icon);
gtk_box_pack_end (GTK_BOX (hbox), window->resize_se, FALSE, FALSE, 0);