diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2012-05-09 20:50:32 +0200 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2012-05-09 20:50:32 +0200 |
commit | bb5445ab939bbe7006800fa63e9218221d5688f9 (patch) | |
tree | ffdfd27d20fbfe44c7493a52c03063a777968fdc /src/main.c | |
parent | c75f9ef6ab690931a48d01b9f07c0418e3e2c5d2 (diff) | |
download | experiment-player-bb5445ab939bbe7006800fa63e9218221d5688f9.tar.gz |
fixed opening manual under Windows
it turned out that gtk_show_uri() doesn't work even if the URI is
correct, so we're using Window's ShellExecute() now
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 18 |
1 files changed, 17 insertions, 1 deletions
@@ -8,6 +8,11 @@ #include <X11/Xlib.h> #endif +#ifdef HAVE_WINDOWS_H +#include <windows.h> +#include <shellapi.h> +#endif + #include <glib.h> #include <gtk/gtk.h> @@ -90,8 +95,19 @@ help_menu_manual_item_activate_cb(GtkWidget *widget __attribute__((unused)), gpointer data __attribute__((unused))) { GError *err = NULL; + gboolean res; + +#ifdef HAVE_WINDOWS_H + res = (int)ShellExecute(NULL, "open", HELP_URI, + NULL, NULL, SW_SHOWNORMAL) <= 32; + if (res) + err = g_error_new(g_quark_from_static_string("Cannot open!"), 0, + "Cannot open '%s'!", HELP_URI); +#else + res = !gtk_show_uri(NULL, HELP_URI, GDK_CURRENT_TIME, &err); +#endif - if (!gtk_show_uri(NULL, HELP_URI, GDK_CURRENT_TIME, &err)) { + if (res) { show_message_dialog_gerror(err); g_error_free(err); } |