diff options
author | Søren Sandmann Pedersen <sandmann@redhat.com> | 2008-09-14 09:28:16 -0400 |
---|---|---|
committer | Søren Sandmann Pedersen <sandmann@redhat.com> | 2008-09-14 09:28:16 -0400 |
commit | d594064dc2b64afc6a289703e4285129a664cd8b (patch) | |
tree | c33d81efd5023524e5e08d860fbf36288903b859 /window.c | |
parent | 33c07eaea19ffced5edb6de35cb2497b76d3370d (diff) |
Add icons from Mike Langlie
Diffstat (limited to 'window.c')
-rw-r--r-- | window.c | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -356,6 +356,7 @@ rebuild (SivWindow *window) { int w, h; GtkAdjustment *vadj, *hadj; + GdkPixbuf *scaled; compute_size (window, &w, &h); @@ -382,11 +383,33 @@ rebuild (SivWindow *window) gtk_widget_set_size_request (get_widget (window, "drawing_area"), w, h); + /* The documentation for gtk_window_set_icon() says you shouldn't scale + * the icon before passing it, but gdk_window_set_icon_list() ends up + * issuing g_warnings if the icon is too big. + */ + if (gdk_pixbuf_get_width (window->original) >= 32 || + gdk_pixbuf_get_height (window->original) >= 32) + { + scaled = gdk_pixbuf_scale_simple (window->original, 32, 32, GDK_INTERP_BILINEAR); + } + else + { + scaled = g_object_ref (window->original); + } + + gtk_window_set_icon (get_widget (window, "main_window"), scaled); + + g_object_unref (scaled); + gtk_widget_show (get_widget (window, "scrolled_window")); window->width = w; window->height = h; } + else + { + gtk_window_set_icon_name (get_widget (window, "main_window"), "siv"); + } set_title (window); set_sensitivity (window); @@ -830,6 +853,7 @@ on_about (GtkWidget *widget, gpointer data) gtk_show_about_dialog (get_widget (window, "main_window"), "program-name", APPLICATION_NAME, "copyright", "Copyright 2008, S"OSLASH"ren Sandmann", + "logo-icon-name", "siv", "version", PACKAGE_VERSION, NULL); } |