Get icons working correctly under Windows

With this we are able to include both a separate .ico file that the
program can load at runtime and a .res file (that is created from the .rc
file, both in the packaging/windows directory) that is linked into the
executable and makes the Windows Explorer show the correct icon for
subsurface.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2011-10-29 09:14:15 -07:00
parent 2101f37c1b
commit 7f0c866f48
5 changed files with 32 additions and 2 deletions

View file

@ -552,7 +552,11 @@ static void about_dialog(GtkWidget *w, gpointer data)
GdkPixbuf *logo = NULL;
if (need_icon) {
#ifndef WIN32
GtkWidget *image = gtk_image_new_from_file("subsurface.svg");
#else
GtkWidget *image = gtk_image_new_from_file("subsurface.ico");
#endif
if (image) {
logo = gtk_image_get_pixbuf(GTK_IMAGE(image));
@ -823,7 +827,7 @@ void init_ui(int argc, char **argv)
#ifndef WIN32
gtk_window_set_icon_from_file(GTK_WINDOW(win), "subsurface.svg", NULL);
#else
gtk_window_set_icon_from_file(GTK_WINDOW(win), "subsurface.bmp", NULL);
gtk_window_set_icon_from_file(GTK_WINDOW(win), "subsurface.ico", NULL);
#endif
g_signal_connect(G_OBJECT(win), "delete-event", G_CALLBACK(on_delete), NULL);
g_signal_connect(G_OBJECT(win), "destroy", G_CALLBACK(on_destroy), NULL);