summaryrefslogtreecommitdiff
path: root/iup/src/gtk/iupmac_help.c
diff options
context:
space:
mode:
Diffstat (limited to 'iup/src/gtk/iupmac_help.c')
-rw-r--r--iup/src/gtk/iupmac_help.c46
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;
+}