]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/url.cpp
Suppress GTK warnings and errors
[xonotic/netradiant.git] / radiant / url.cpp
index e5abc077f5b9424e2ddbb9afb66a368d410993b8..f49cb88664623315c2b08c51e9255d8e5f1fdd94 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 );
+                         "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];
@@ -56,6 +57,6 @@ 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!" );
+               ui::alert( MainFrame_getWindow(), "Failed to launch browser!" );
        }
 }