Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 67 lines (56 sloc) 1.964 kb
0991a5c Travis Bradshaw The GtkRadiant sources as originally released under the GPL license.
tbradshaw authored
1 /*
2 Copyright (C) 1999-2006 Id Software, Inc. and contributors.
3 For a list of contributors, see the accompanying CONTRIBUTORS file.
4
5 This file is part of GtkRadiant.
6
7 GtkRadiant is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
11
12 GtkRadiant is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with GtkRadiant; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20 */
21
22 #include "url.h"
23
24 #include "mainframe.h"
25 #include "gtkutil/messagebox.h"
26
27 #ifdef WIN32
28 #include <gdk/gdkwin32.h>
29 #include <shellapi.h>
30 bool open_url(const char* url)
31 {
32 return ShellExecute( (HWND)GDK_WINDOW_HWND (GTK_WIDGET(MainFrame_getWindow())->window), "open", url, 0, 0, SW_SHOW ) > (HINSTANCE)32;
33 }
34 #endif
35
36 #ifdef __linux__
37 #include <stdlib.h>
38 bool open_url(const char* url)
39 {
40 // \todo FIXME: the way we open URLs on *nix should be improved. A script is good (see how I do on RTCW)
41 char command[2*PATH_MAX];
42 snprintf (command, sizeof(command),
43 "netscape -remote \"openURL(%s,new-window)\" || netscape \"%s\" &", url, url);
44 return system(command) == 0;
45 }
46 #endif
47
48 #ifdef __APPLE__
49 #include <stdlib.h>
50 bool open_url(const char* url)
51 {
52 char command[2*PATH_MAX];
53 snprintf (command, sizeof(command), "open \"%s\" &", url);
54 return system(command) == 0;
55 }
56 #endif
57
58 void OpenURL(const char *url)
59 {
60 // let's put a little comment
61 globalOutputStream() << "OpenURL: " << url << "\n";
62 if(!open_url(url))
63 {
64 gtk_MessageBox(GTK_WIDGET(MainFrame_getWindow()), "Failed to launch browser!");
65 }
66 }
Something went wrong with that request. Please try again.