diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2011-10-29 09:14:15 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2011-10-29 09:14:15 -0700 |
commit | 7f0c866f486eab549e25853bedd2e96b1b211773 (patch) | |
tree | 4c04e9415eaec48ad24e8f0a7ba866ceeab8758e | |
parent | 2101f37c1b81840beda99a7b4e87e938f9e52a7a (diff) | |
download | subsurface-7f0c866f486eab549e25853bedd2e96b1b211773.tar.gz |
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>
-rw-r--r-- | Makefile | 3 | ||||
-rw-r--r-- | gtk-gui.c | 6 | ||||
-rw-r--r-- | packaging/windows/subsurface.ico | bin | 0 -> 16958 bytes | |||
-rw-r--r-- | packaging/windows/subsurface.rc | 25 | ||||
-rw-r--r-- | packaging/windows/subsurface.res | bin | 0 -> 18056 bytes |
5 files changed, 32 insertions, 2 deletions
@@ -34,6 +34,7 @@ ifeq ($(CC), i686-w64-mingw32-gcc) LIBDIVECOMPUTERDIR = /usr/i686-w64-mingw32/sys-root/mingw/include/libdivecomputer LIBDIVECOMPUTERINCLUDES = `$(PKGCONFIG) --cflags libdivecomputer` LIBDIVECOMPUTERARCHIVE = `$(PKGCONFIG) --libs libdivecomputer` + RESFILE = packaging/windows/subsurface.res else libdc-local := $(wildcard /usr/local/lib/libdivecomputer.a) @@ -76,7 +77,7 @@ LIBS = $(LIBXML2) $(LIBGTK) $(LIBDIVECOMPUTER) -lpthread OBJS = main.o dive.o profile.o info.o equipment.o divelist.o \ parse-xml.o save-xml.o libdivecomputer.o print.o uemis.o \ - gtk-gui.o + gtk-gui.o $(RESFILE) $(NAME): $(OBJS) $(CC) $(LDFLAGS) -o $(NAME) $(OBJS) $(LIBS) @@ -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); diff --git a/packaging/windows/subsurface.ico b/packaging/windows/subsurface.ico Binary files differnew file mode 100644 index 000000000..fe7d1090b --- /dev/null +++ b/packaging/windows/subsurface.ico diff --git a/packaging/windows/subsurface.rc b/packaging/windows/subsurface.rc new file mode 100644 index 000000000..af79f6de9 --- /dev/null +++ b/packaging/windows/subsurface.rc @@ -0,0 +1,25 @@ +1 VERSIONINFO +FILEVERSION 1,1,0,0 +PRODUCTVERSION 1,1,0,0 +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "080904E4" + BEGIN + VALUE "CompanyName", "subsurface team" + VALUE "FileDescription", "subsurface dive log" + VALUE "FileVersion", "1.1" + VALUE "InternalName", "subsurface" + VALUE "LegalCopyright", "Linus Torvalds, Dirk Hohndel and others" + VALUE "OriginalFilename", "subsurface.exe" + VALUE "ProductName", "subsurface" + VALUE "ProductVersion", "1.1" + END + END + + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x809, 1252 + END +END +ID ICON "subsurface.ico"
\ No newline at end of file diff --git a/packaging/windows/subsurface.res b/packaging/windows/subsurface.res Binary files differnew file mode 100644 index 000000000..616cf5ea9 --- /dev/null +++ b/packaging/windows/subsurface.res |