]> git.saurik.com Git - wxWidgets.git/commitdiff
move wxLaunch* code in utilsx11.cpp as utilsunx.cpp is not compiled for wxCore
authorFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Fri, 9 Jan 2009 11:55:12 +0000 (11:55 +0000)
committerFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Fri, 9 Jan 2009 11:55:12 +0000 (11:55 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57937 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/utilscmn.cpp
src/unix/utilsunx.cpp
src/unix/utilsx11.cpp

index 0a16b57fa407eba40074aa7939d868b1d46c56ac..4457a14ebe226995846e65d1339dc7f165302c61 100644 (file)
@@ -942,7 +942,7 @@ void wxQsort(void *const pbase, size_t total_elems,
 // implemented in a port-specific utils source file:
 bool wxDoLaunchDefaultBrowser(const wxString& url, const wxString& scheme, int flags);
 
 // implemented in a port-specific utils source file:
 bool wxDoLaunchDefaultBrowser(const wxString& url, const wxString& scheme, int flags);
 
-#elif defined(__UNIX__) || defined(__WXCOCOA__) || \
+#elif defined(__WXX11__) || defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXCOCOA__) || \
       (defined(__WXMAC__) && !defined(__WXOSX_IPHONE__))
 
 // implemented in a port-specific utils source file:
       (defined(__WXMAC__) && !defined(__WXOSX_IPHONE__))
 
 // implemented in a port-specific utils source file:
index 543792c83aad91a68f6e4d6a9c95f3b31134875a..a5c3221bb25295c7e90dea10affe12487026a184 100644 (file)
@@ -1,6 +1,6 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        src/unix/utilsunx.cpp
 /////////////////////////////////////////////////////////////////////////////
 // Name:        src/unix/utilsunx.cpp
-// Purpose:     generic Unix implementation of many wx functions
+// Purpose:     generic Unix implementation of many wx functions (for wxBase)
 // Author:      Vadim Zeitlin
 // Id:          $Id$
 // Copyright:   (c) 1998 Robert Roebling, Vadim Zeitlin
 // Author:      Vadim Zeitlin
 // Id:          $Id$
 // Copyright:   (c) 1998 Robert Roebling, Vadim Zeitlin
@@ -434,87 +434,6 @@ private:
 
 } // anonymous namespace
 
 
 } // anonymous namespace
 
-// these functions are in src/osx/carbon/utils.cpp for wxMac
-#ifndef __WXMAC__
-
-// ----------------------------------------------------------------------------
-// Launch document with default app
-// ----------------------------------------------------------------------------
-
-bool wxLaunchDefaultApplication(const wxString& document, int flags)
-{
-    wxUnusedVar(flags);
-
-    // Our best best is to use xdg-open from freedesktop.org cross-desktop
-    // compatibility suite xdg-utils
-    // (see http://portland.freedesktop.org/wiki/) -- this is installed on
-    // most modern distributions and may be tweaked by them to handle
-    // distribution specifics.
-    wxString path, xdg_open;
-    if ( wxGetEnv("PATH", &path) &&
-         wxFindFileInPath(&xdg_open, path, "xdg-open") )
-    {
-        if ( wxExecute(xdg_open + " " + document) )
-            return true;
-    }
-
-    return false;
-}
-
-// ----------------------------------------------------------------------------
-// Launch default browser
-// ----------------------------------------------------------------------------
-
-bool wxDoLaunchDefaultBrowser(const wxString& url, int flags)
-{
-    wxUnusedVar(flags);
-
-    // Our best best is to use xdg-open from freedesktop.org cross-desktop
-    // compatibility suite xdg-utils
-    // (see http://portland.freedesktop.org/wiki/) -- this is installed on
-    // most modern distributions and may be tweaked by them to handle
-    // distribution specifics. Only if that fails, try to find the right
-    // browser ourselves.
-    wxString path, xdg_open;
-    if ( wxGetEnv("PATH", &path) &&
-         wxFindFileInPath(&xdg_open, path, "xdg-open") )
-    {
-        if ( wxExecute(xdg_open + " " + url) )
-            return true;
-    }
-
-    wxString desktop = wxTheApp->GetTraits()->GetDesktopEnvironment();
-
-    // GNOME and KDE desktops have some applications which should be always installed
-    // together with their main parts, which give us the
-    if (desktop == wxT("GNOME"))
-    {
-        wxArrayString errors;
-        wxArrayString output;
-
-        // gconf will tell us the path of the application to use as browser
-        long res = wxExecute( wxT("gconftool-2 --get /desktop/gnome/applications/browser/exec"),
-                              output, errors, wxEXEC_NODISABLE );
-        if (res >= 0 && errors.GetCount() == 0)
-        {
-            wxString cmd = output[0];
-            cmd << _T(' ') << url;
-            if (wxExecute(cmd))
-                return true;
-        }
-    }
-    else if (desktop == wxT("KDE"))
-    {
-        // kfmclient directly opens the given URL
-        if (wxExecute(wxT("kfmclient openURL ") + url))
-            return true;
-    }
-
-    return false;
-}
-
-#endif  // __WXMAC__
-
 // ----------------------------------------------------------------------------
 // wxExecute implementations
 // ----------------------------------------------------------------------------
 // ----------------------------------------------------------------------------
 // wxExecute implementations
 // ----------------------------------------------------------------------------
index efb3be521c40ca8062297f7d9cf1a6ea717c8869..04f061bb20ea04d7eb19ffefb0789c3c43698c8b 100644 (file)
@@ -1,6 +1,6 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        src/unix/utilsx11.cpp
 /////////////////////////////////////////////////////////////////////////////
 // Name:        src/unix/utilsx11.cpp
-// Purpose:     Miscellaneous X11 functions
+// Purpose:     Miscellaneous X11 functions (for wxCore)
 // Author:      Mattia Barbon, Vaclav Slavik, Robert Roebling
 // Modified by:
 // Created:     25.03.02
 // Author:      Mattia Barbon, Vaclav Slavik, Robert Roebling
 // Modified by:
 // Created:     25.03.02
@@ -848,4 +848,80 @@ bool wxGetKeyState(wxKeyCode key)
     return key_vector[keyCode >> 3] & (1 << (keyCode & 7));
 }
 
     return key_vector[keyCode >> 3] & (1 << (keyCode & 7));
 }
 
+// ----------------------------------------------------------------------------
+// Launch document with default app
+// ----------------------------------------------------------------------------
+
+bool wxLaunchDefaultApplication(const wxString& document, int flags)
+{
+    wxUnusedVar(flags);
+
+    // Our best best is to use xdg-open from freedesktop.org cross-desktop
+    // compatibility suite xdg-utils
+    // (see http://portland.freedesktop.org/wiki/) -- this is installed on
+    // most modern distributions and may be tweaked by them to handle
+    // distribution specifics.
+    wxString path, xdg_open;
+    if ( wxGetEnv("PATH", &path) &&
+         wxFindFileInPath(&xdg_open, path, "xdg-open") )
+    {
+        if ( wxExecute(xdg_open + " " + document) )
+            return true;
+    }
+
+    return false;
+}
+
+// ----------------------------------------------------------------------------
+// Launch default browser
+// ----------------------------------------------------------------------------
+
+bool wxDoLaunchDefaultBrowser(const wxString& url, int flags)
+{
+    wxUnusedVar(flags);
+
+    // Our best best is to use xdg-open from freedesktop.org cross-desktop
+    // compatibility suite xdg-utils
+    // (see http://portland.freedesktop.org/wiki/) -- this is installed on
+    // most modern distributions and may be tweaked by them to handle
+    // distribution specifics. Only if that fails, try to find the right
+    // browser ourselves.
+    wxString path, xdg_open;
+    if ( wxGetEnv("PATH", &path) &&
+         wxFindFileInPath(&xdg_open, path, "xdg-open") )
+    {
+        if ( wxExecute(xdg_open + " " + url) )
+            return true;
+    }
+
+    wxString desktop = wxTheApp->GetTraits()->GetDesktopEnvironment();
+
+    // GNOME and KDE desktops have some applications which should be always installed
+    // together with their main parts, which give us the
+    if (desktop == wxT("GNOME"))
+    {
+        wxArrayString errors;
+        wxArrayString output;
+
+        // gconf will tell us the path of the application to use as browser
+        long res = wxExecute( wxT("gconftool-2 --get /desktop/gnome/applications/browser/exec"),
+                              output, errors, wxEXEC_NODISABLE );
+        if (res >= 0 && errors.GetCount() == 0)
+        {
+            wxString cmd = output[0];
+            cmd << _T(' ') << url;
+            if (wxExecute(cmd))
+                return true;
+        }
+    }
+    else if (desktop == wxT("KDE"))
+    {
+        // kfmclient directly opens the given URL
+        if (wxExecute(wxT("kfmclient openURL ") + url))
+            return true;
+    }
+
+    return false;
+}
+
 #endif // __WXX11__ || __WXGTK__ || __WXMOTIF__
 #endif // __WXX11__ || __WXGTK__ || __WXMOTIF__