]> git.saurik.com Git - wxWidgets.git/commitdiff
show busy cursor in wxLaunchDefaultBrowser and add a new flag to avoid it (#9678)
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 9 Jul 2008 02:32:16 +0000 (02:32 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 9 Jul 2008 02:32:16 +0000 (02:32 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54558 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/changes.txt
include/wx/utils.h
interface/wx/utils.h
src/common/utilscmn.cpp

index 042470ed711615073a3bb852b38afceba0aab939..5a746326f2987ede7267cf68419f597f82d535fc 100644 (file)
@@ -370,6 +370,7 @@ All (GUI):
 - Added wxGenericStaticBitmap suitable for display of large bitmaps.
 - Support wxListCtrl::GetViewRect() in report view too.
 - Implement wxListCtrl::GetSubItemRect() in generic version (David Barnard).
+- Show busy cursor in wxLaunchDefaultBrowser and add wxBROWSER_NOBUSYCURSOR.
 
 wxGTK:
 
index 868e744809e92a711bd83c04c1d77198a814c4de..7e9a195160cc5184d2453e4230619925a97a5c03 100644 (file)
@@ -572,7 +572,8 @@ WXDLLIMPEXP_BASE void wxQsort(void *const pbase, size_t total_elems,
 // flags for wxLaunchDefaultBrowser
 enum
 {
-    wxBROWSER_NEW_WINDOW = 1
+    wxBROWSER_NEW_WINDOW   = 0x01,
+    wxBROWSER_NOBUSYCURSOR = 0x02
 };
 
 // Launch url in the user's default internet browser
index bd0ddb7b6aa255c8aedb77111cd3b2a0a7205c7a..8bade8cd74f60624b3a4968861f9fffd507e9aae 100644 (file)
@@ -422,12 +422,19 @@ long wxNewId();
 void wxRegisterId(long id);
 
 /**
-    Opens the @a url in user's default browser. If the @a flags parameter
-    contains @c wxBROWSER_NEW_WINDOW flag, a new window is opened for the URL
-    (currently this is only supported under Windows). The @a url may also be a
-    local file path (with or without the "file://" prefix), if it doesn't
-    correspond to an existing file and the URL has no scheme "http://" is
-    prepended to it by default.
+    Opens the @a url in user's default browser.
+
+    If the @a flags parameter contains @c wxBROWSER_NEW_WINDOW flag, a new
+    window is opened for the URL (currently this is only supported under
+    Windows).
+
+    And unless the @a flags parameter contains @c wxBROWSER_NOBUSYCURSOR flag,
+    a busy cursor is shown while the browser is being launched (using
+    wxBusyCursor).
+
+    The @a url may also be a local file path (with or without the "file://"
+    prefix), if it doesn't correspond to an existing file and the URL has no
+    scheme "http://" is prepended to it by default.
 
     Returns @true if the application was successfully launched.
 
index 0c46279c199c7428a10e86efc5d9a8d4a8e8e22c..a0aa6a98c43b5b3bb2cf74a6644c4da420187471 100644 (file)
@@ -940,7 +940,7 @@ void wxQsort(void *const pbase, size_t total_elems,
 bool wxLaunchDefaultApplication(const wxString &document, int flags)
 {
     wxUnusedVar(flags);
-    
+
 #ifdef __UNIX__
     // Our best best is to use xdg-open from freedesktop.org cross-desktop
     // compatibility suite xdg-utils
@@ -968,7 +968,7 @@ bool wxLaunchDefaultApplication(const wxString &document, int flags)
 bool wxCocoaLaunchDefaultBrowser(const wxString& url, int flags);
 #endif
 
-bool wxLaunchDefaultBrowser(const wxString& urlOrig, int flags)
+static bool DoLaunchDefaultBrowser(const wxString& urlOrig, int flags)
 {
     wxUnusedVar(flags);
 
@@ -1176,6 +1176,15 @@ bool wxLaunchDefaultBrowser(const wxString& urlOrig, int flags)
     return false;
 }
 
+bool wxLaunchDefaultBrowser(const wxString& url, int flags)
+{
+    if ( flags & wxBROWSER_NOBUSYCURSOR )
+        return DoLaunchDefaultBrowser(url, flags);
+
+    wxBusyCursor bc;
+    return DoLaunchDefaultBrowser(url, flags);
+}
+
 // ----------------------------------------------------------------------------
 // Menu accelerators related functions
 // ----------------------------------------------------------------------------
@@ -1492,8 +1501,8 @@ wxString wxGetPasswordFromUser(const wxString& message,
 
 #if wxUSE_COLOURDLG
 
-wxColour wxGetColourFromUser(wxWindow *parent, 
-                             const wxColour& colInit, 
+wxColour wxGetColourFromUser(wxWindow *parent,
+                             const wxColour& colInit,
                              const wxString& caption,
                              wxColourData *ptrData)
 {