]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/url.cpp
Merge branch 'illwieckz/vfs' fix !101
[xonotic/netradiant.git] / radiant / url.cpp
index e5abc077f5b9424e2ddbb9afb66a368d410993b8..034fc4540a99d7de55274c1fb7112161f5b0728e 100644 (file)
  */
 
 #include "url.h"
+#include "globaldefs.h"
 
 #include "mainframe.h"
 #include "gtkutil/messagebox.h"
 
-#ifdef WIN32
+#if GDEF_OS_WINDOWS
+#include <gtk/gtk.h>
 #include <gdk/gdkwin32.h>
 #include <shellapi.h>
 bool open_url( const char* url ){
-       return ShellExecute( (HWND)GDK_WINDOW_HWND( GTK_WIDGET( MainFrame_getWindow() )->window ), "open", url, 0, 0, SW_SHOW ) > (HINSTANCE)32;
+    return ShellExecute( (HWND)GDK_WINDOW_HWND( gtk_widget_get_window( MainFrame_getWindow() ) ), "open", url, 0, 0, SW_SHOW ) > (HINSTANCE)32;
 }
 #endif
 
-#if defined( __linux__ ) || defined( __FreeBSD__ )
+#if GDEF_OS_LINUX || GDEF_OS_BSD
+
 #include <stdlib.h>
-bool open_url( const char* url ){
-       // \todo FIXME: the way we open URLs on *nix should be improved. A script is good (see how I do on RTCW)
-       char command[2 * PATH_MAX];
-       snprintf( command, sizeof( command ),
-                         "firefox -remote \"openURL(%s,new-window)\" || firefox \"%s\" &", url, url );
-       return system( command ) == 0;
+
+bool open_url(const char *url)
+{
+    char command[2 * PATH_MAX];
+    snprintf(command, sizeof(command),
+             "xdg-open \"%s\" &", url);
+    return system(command) == 0;
 }
+
 #endif
 
-#ifdef __APPLE__
+#if GDEF_OS_MACOS
 #include <stdlib.h>
 bool open_url( const char* url ){
-       char command[2 * PATH_MAX];
-       snprintf( command, sizeof( command ), "open \"%s\" &", url );
-       return system( command ) == 0;
+    char command[2 * PATH_MAX];
+    snprintf( command, sizeof( command ), "open \"%s\" &", url );
+    return system( command ) == 0;
 }
 #endif
 
-void OpenURL( const char *url ){
-       // let's put a little comment
-       globalOutputStream() << "OpenURL: " << url << "\n";
-       if ( !open_url( url ) ) {
-               gtk_MessageBox( GTK_WIDGET( MainFrame_getWindow() ), "Failed to launch browser!" );
-       }
+void OpenURL(const char *url)
+{
+    // let's put a little comment
+    globalOutputStream() << "OpenURL: " << url << "\n";
+    if (!open_url(url)) {
+        ui::alert(MainFrame_getWindow(), "Failed to launch browser!");
+    }
 }