From 154f6d25d96f8f50b3170f916a1aaee9caaa9466 Mon Sep 17 00:00:00 2001
From: James Crook <james.k.crook@gmail.com>
Date: Fri, 10 Aug 2018 09:39:41 +0100
Subject: [PATCH] Bug 1923 - Enh: Help buttons for Export Audio

---
 src/export/Export.cpp | 17 +++++++++++++++--
 src/export/Export.h   |  3 ++-
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/src/export/Export.cpp b/src/export/Export.cpp
index 69241d75f..d6883fac3 100644
--- a/src/export/Export.cpp
+++ b/src/export/Export.cpp
@@ -66,6 +66,7 @@
 #include "../WaveTrack.h"
 #include "../widgets/ErrorDialog.h"
 #include "../widgets/Warning.h"
+#include "../widgets/HelpSystem.h"
 #include "../AColor.h"
 #include "../Dependencies.h"
 #include "../FileNames.h"
@@ -272,6 +273,7 @@ wxDEFINE_EVENT(AUDACITY_FILE_SUFFIX_EVENT, wxCommandEvent);
 
 BEGIN_EVENT_TABLE(Exporter, wxEvtHandler)
    EVT_FILECTRL_FILTERCHANGED(wxID_ANY, Exporter::OnFilterChanged)
+   EVT_BUTTON(wxID_HELP, Exporter::OnHelp)
    EVT_COMMAND( wxID_ANY, AUDACITY_FILE_SUFFIX_EVENT, Exporter::OnExtensionChanged)
 END_EVENT_TABLE()
 
@@ -318,8 +320,8 @@ Exporter::~Exporter()
 // methods for setting its standard controls.
 // We would need OS specific code that 'knows' about the system 
 // dialogs.
-void Exporter::OnExtensionChanged(wxCommandEvent &Evt) {
-   wxString ext = Evt.GetString();
+void Exporter::OnExtensionChanged(wxCommandEvent &evt) {
+   wxString ext = evt.GetString();
    ext = ext.BeforeFirst(' ').Lower();
    wxLogDebug("Extension changed to '.%s'", ext);
 //   wxString Name = mDialog->GetFilename();
@@ -327,6 +329,12 @@ void Exporter::OnExtensionChanged(wxCommandEvent &Evt) {
 //   mDialog->SetFilename(Name);
 }
 
+void Exporter::OnHelp(wxCommandEvent& WXUNUSED(evt))
+{
+   wxWindow * pWin = GetActiveProject();
+   HelpSystem::ShowHelp(pWin, wxT("File_Export_Dialog"), true);
+}
+
 void Exporter::SetFileDialogTitle( const wxString & DialogTitle )
 {
    // The default title is "Export File"
@@ -930,6 +938,11 @@ void Exporter::CreateUserPane(wxWindow *parent)
       }
       S.EndHorizontalLay();
    }
+   S.StartHorizontalLay(wxALIGN_RIGHT, 0);
+   {
+      S.AddStandardButtons(eHelpButton);
+   }
+   S.EndHorizontalLay();
    S.EndVerticalLay();
 
    return;
diff --git a/src/export/Export.h b/src/export/Export.h
index c8ab8b463..934e87e5f 100644
--- a/src/export/Export.h
+++ b/src/export/Export.h
@@ -192,7 +192,8 @@ public:
    int GetAutoExportSubFormat();
    int GetAutoExportFilterIndex();
    wxFileName GetAutoExportFileName();
-   void OnExtensionChanged(wxCommandEvent &Evt);
+   void OnExtensionChanged(wxCommandEvent &evt);
+   void OnHelp(wxCommandEvent &evt);
 
 private:
    bool ExamineTracks();