diff options
Diffstat (limited to 'iup/src/gtk/iupmac_help.c')
-rw-r--r-- | iup/src/gtk/iupmac_help.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/iup/src/gtk/iupmac_help.c b/iup/src/gtk/iupmac_help.c new file mode 100644 index 0000000..fa8d0af --- /dev/null +++ b/iup/src/gtk/iupmac_help.c @@ -0,0 +1,46 @@ +/** \file + * \brief MAC Driver IupHelp + * + * See Copyright Notice in "iup.h" + */ + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> + +#include "iup.h" + +#include "iup_str.h" + +int IupHelp(const char *url) +{ + char *cmd; + int ret; + char *browser = getenv("IUP_HELPAPP"); + if (!browser) + browser = IupGetGlobal("HELPAPP"); + + if (!browser) + { + char* system = IupGetGlobal("SYSTEM"); + if (iupStrEqualNoCase(system, "Snow Leopard") || + iupStrEqualNoCase(system, "Leopard") || + iupStrEqualNoCase(system, "Tiger") || + iupStrEqualNoCase(system, "Panther")) + browser = "safari"; + else if (iupStrEqualNoCase(system, "Jaguar") || + iupStrEqualNoCase(system, "Puma") || + iupStrEqualNoCase(system, "Cheetah")) + browser = "iexplore"; + else /* MacOS */ + browser = "netscape"; + } + + cmd = (char*)malloc(sizeof(char)*(strlen(url)+strlen(browser)+3)); + sprintf(cmd, "open -a %s %s &", browser, url); + ret = system(cmd); + free(cmd); + if (ret == -1) + return -1; + return 1; +} |