summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
f10ccf9)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42712
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Returns \true if the application was successfully launched.
Returns \true if the application was successfully launched.
+Note that for some configurations of the running user, the application which
+is launched to open the given URL may be URL-dependent (e.g. a browser may be used for
+local URLs while another one may be used for remote URLs).
+
\wxheading{Include files}
<wx/utils.h>
\wxheading{Include files}
<wx/utils.h>
// event handlers (these functions should _not_ be virtual)
void OnQuit(wxCommandEvent& event);
void OnPageOpen(wxCommandEvent& event);
// event handlers (these functions should _not_ be virtual)
void OnQuit(wxCommandEvent& event);
void OnPageOpen(wxCommandEvent& event);
- void OnDefaultBrowser(wxCommandEvent& event);
+ void OnDefaultLocalBrowser(wxCommandEvent& event);
+ void OnDefaultWebBrowser(wxCommandEvent& event);
void OnBack(wxCommandEvent& event);
void OnForward(wxCommandEvent& event);
void OnProcessor(wxCommandEvent& event);
void OnBack(wxCommandEvent& event);
void OnForward(wxCommandEvent& event);
void OnProcessor(wxCommandEvent& event);
{
// menu items
ID_PageOpen = wxID_HIGHEST,
{
// menu items
ID_PageOpen = wxID_HIGHEST,
+ ID_DefaultLocalBrowser,
+ ID_DefaultWebBrowser,
ID_Back,
ID_Forward,
ID_Processor
ID_Back,
ID_Forward,
ID_Processor
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(wxID_EXIT, MyFrame::OnQuit)
EVT_MENU(ID_PageOpen, MyFrame::OnPageOpen)
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(wxID_EXIT, MyFrame::OnQuit)
EVT_MENU(ID_PageOpen, MyFrame::OnPageOpen)
- EVT_MENU(ID_DefaultBrowser, MyFrame::OnDefaultBrowser)
+ EVT_MENU(ID_DefaultLocalBrowser, MyFrame::OnDefaultLocalBrowser)
+ EVT_MENU(ID_DefaultWebBrowser, MyFrame::OnDefaultWebBrowser)
EVT_MENU(ID_Back, MyFrame::OnBack)
EVT_MENU(ID_Forward, MyFrame::OnForward)
EVT_MENU(ID_Processor, MyFrame::OnProcessor)
EVT_MENU(ID_Back, MyFrame::OnBack)
EVT_MENU(ID_Forward, MyFrame::OnForward)
EVT_MENU(ID_Processor, MyFrame::OnProcessor)
wxMenu *menuNav = new wxMenu;
menuFile->Append(ID_PageOpen, _("&Open HTML page..."));
wxMenu *menuNav = new wxMenu;
menuFile->Append(ID_PageOpen, _("&Open HTML page..."));
- menuFile->Append(ID_DefaultBrowser, _("&Open current page with default browser"));
+ menuFile->Append(ID_DefaultLocalBrowser, _("&Open current page with default browser"));
+ menuFile->Append(ID_DefaultWebBrowser, _("Open a &web page with default browser"));
menuFile->AppendSeparator();
menuFile->Append(ID_Processor, _("&Remove bold attribute"),
wxEmptyString, wxITEM_CHECK);
menuFile->AppendSeparator();
menuFile->Append(ID_Processor, _("&Remove bold attribute"),
wxEmptyString, wxITEM_CHECK);
#endif // wxUSE_FILEDLG
}
#endif // wxUSE_FILEDLG
}
-void MyFrame::OnDefaultBrowser(wxCommandEvent& WXUNUSED(event))
+void MyFrame::OnDefaultLocalBrowser(wxCommandEvent& WXUNUSED(event))
{
wxString page = m_Html->GetOpenedPage();
if (!page.empty())
{
wxString page = m_Html->GetOpenedPage();
if (!page.empty())
+void MyFrame::OnDefaultWebBrowser(wxCommandEvent& WXUNUSED(event))
+{
+ wxString page = m_Html->GetOpenedPage();
+ if (!page.empty())
+ {
+ wxLaunchDefaultBrowser(wxT("http://www.google.com"));
+ }
+}
+
void MyFrame::OnBack(wxCommandEvent& WXUNUSED(event))
{
if (!m_Html->HistoryBack())
void MyFrame::OnBack(wxCommandEvent& WXUNUSED(event))
{
if (!m_Html->HistoryBack())
// (non-Mac, non-MSW)
#ifdef __UNIX__
// (non-Mac, non-MSW)
#ifdef __UNIX__
- if (wxTheApp->GetTraits()->GetDesktopEnvironment() == wxT("GNOME"))
+
+ 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;
{
wxArrayString errors;
wxArrayString output;
- long res = wxExecute( wxT("gconftool-2 --get /desktop/gnome/applications/browser/exec"), output, errors, wxEXEC_NODISABLE );
+
+ // 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];
if (res >= 0 && errors.GetCount() == 0)
{
wxString cmd = output[0];
+ else if (desktop == wxT("KDE"))
+ {
+ // kfmclient directly opens the given URL
+ if (wxExecute(wxT("kfmclient openURL ") + url))
+ return true;
+ }