1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-20 14:47:49 +02:00

Steve's patch, modified by Richard, to sort out the modality of the help window, fixes bug 747.

This commit is contained in:
martynshaw99 2014-08-26 22:53:11 +00:00
parent d2b4eca65b
commit 85080b6d83
2 changed files with 28 additions and 11 deletions

View File

@ -86,7 +86,8 @@ void HelpSystem::ShowInfoDialog( wxWindow *parent,
void HelpSystem::ShowHtmlText(wxWindow *pParent, void HelpSystem::ShowHtmlText(wxWindow *pParent,
const wxString &Title, const wxString &Title,
const wxString &HtmlText, const wxString &HtmlText,
bool bIsFile = false, bool bModal = false) bool bIsFile,
bool bModal)
{ {
LinkingHtmlWindow *html; LinkingHtmlWindow *html;
@ -172,7 +173,8 @@ void HelpSystem::ShowHtmlText(wxWindow *pParent,
void HelpSystem::ShowHelpDialog(wxWindow *parent, void HelpSystem::ShowHelpDialog(wxWindow *parent,
const wxString &localFileName, const wxString &localFileName,
const wxString &remoteURL) const wxString &remoteURL,
bool bModal)
{ {
AudacityProject * pProj = GetActiveProject(); AudacityProject * pProj = GetActiveProject();
wxString HelpMode = wxT("Local"); wxString HelpMode = wxT("Local");
@ -209,10 +211,9 @@ void HelpSystem::ShowHelpDialog(wxWindow *parent,
wxASSERT( !remoteURL.IsEmpty() ); wxASSERT( !remoteURL.IsEmpty() );
// I can't find it'. // I can't find it'.
// Use Built-in browser to suggest you use the remote url. // Use Built-in browser to suggest you use the remote url.
//use the remote link
wxString Text = HelpText( wxT("remotehelp") ); wxString Text = HelpText( wxT("remotehelp") );
Text.Replace( wxT("*URL*"), remoteURL ); Text.Replace( wxT("*URL*"), remoteURL );
ShowHtmlText( parent, _("Help on the Internet"), Text ); ShowHtmlText( parent, _("Help on the Internet"), Text, false, bModal );
} }
else if( HelpMode == wxT("Local") ) else if( HelpMode == wxT("Local") )
{ {
@ -222,11 +223,13 @@ void HelpSystem::ShowHelpDialog(wxWindow *parent,
else else
{ {
// Local file, Built-in browser // Local file, Built-in browser
ShowHtmlText( parent, wxT(""), localFileName, true ); ShowHtmlText( parent, wxT(""), localFileName, true, bModal );
} }
} }
void HelpSystem::ShowHelpDialog(wxWindow *parent, const wxString &PageName) void HelpSystem::ShowHelpDialog(wxWindow *parent,
const wxString &PageName,
bool bModal)
{ {
wxString localHelpPage; wxString localHelpPage;
wxString webHelpPage; wxString webHelpPage;
@ -274,5 +277,6 @@ void HelpSystem::ShowHelpDialog(wxWindow *parent, const wxString &PageName)
HelpSystem::ShowHelpDialog( HelpSystem::ShowHelpDialog(
parent, parent,
localHelpPage, localHelpPage,
webHelpPage); webHelpPage,
bModal);
} }

View File

@ -36,10 +36,17 @@ public:
const int xSize, const int ySize); const int xSize, const int ySize);
/// Displays a new window with wxHTML help. /// Displays a new window with wxHTML help.
/// @param HtmlText Either the literal HTML code to go into the window,
/// or the name of the file to read said HTML code from (see below).
/// @param bIsFile If true, treat HtmlText argument as a file name, if false
/// (default), then it is the HTML code to display.
/// @param bModal Whether the resulting window should be modal or not.
/// Default is modeless dialogue
static void ShowHtmlText( wxWindow * pParent, static void ShowHtmlText( wxWindow * pParent,
const wxString &Title, const wxString &Title,
const wxString &HtmlText, const wxString &HtmlText,
bool bIsFile, bool bModal); bool bIsFile = false,
bool bModal = false);
/// Displays a file in your browser, if it's available locally, /// Displays a file in your browser, if it's available locally,
/// OR else links to the internet. Generally using this outside this class /// OR else links to the internet. Generally using this outside this class
@ -48,17 +55,23 @@ public:
/// @param localFileName Name and path of the file on the local machine /// @param localFileName Name and path of the file on the local machine
/// file system to be opened. file.name#anchor syntax is allowed, and therefore /// file system to be opened. file.name#anchor syntax is allowed, and therefore
/// file names containing a '#' are not (on any platform). /// file names containing a '#' are not (on any platform).
/// @param bModal Whether the resulting dialogue should be modal or not.
/// Default is modeless dialogue
static void ShowHelpDialog(wxWindow *parent, static void ShowHelpDialog(wxWindow *parent,
const wxString &localFileName, const wxString &localFileName,
const wxString &remoteURL); const wxString &remoteURL,
bool bModal = false);
/// Displays a page from the Audacity manual in your browser, if /// Displays a page from the Audacity manual in your browser, if
/// it's available locally, OR else links to the internet. /// it's available locally, OR else links to the internet.
/// @param PageName The name of the manual page to display as it is in /// @param PageName The name of the manual page to display as it is in
/// _development version_ of the manual (i.e. in MediaWiki), _not_ the /// _development version_ of the manual (i.e. in MediaWiki), _not_ the
/// converted file name used for offline and released manuals /// converted file name used for offline and released manuals.
/// @param bModal Whether the resulting dialogue should be modal or not.
/// Default is modeless dialogue
static void ShowHelpDialog(wxWindow *parent, static void ShowHelpDialog(wxWindow *parent,
const wxString &PageName); const wxString &PageName,
bool bModal = false);
/// Hostname (domain name including subdomain) of the server on which the /// Hostname (domain name including subdomain) of the server on which the
/// online help is available /// online help is available