1 /********************************************************************** 2 3 Audacity: A Digital Audio Editor 4 5 GUIPrefs.h 6 7 Brian Gunlogson 8 Joshua Haberman 9 James Crook 10 11 **********************************************************************/ 12 13 #ifndef __AUDACITY_GUI_PREFS__ 14 #define __AUDACITY_GUI_PREFS__ 15 16 #include <wx/defs.h> 17 18 #include "PrefsPanel.h" 19 20 class ChoiceSetting; 21 class ShuttleGui; 22 23 #define GUI_PREFS_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("GUI") } 24 25 class AUDACITY_DLL_API GUIPrefs final : public PrefsPanel 26 { 27 public: 28 GUIPrefs(wxWindow * parent, wxWindowID winid); 29 ~GUIPrefs(); 30 ComponentInterfaceSymbol GetSymbol() override; 31 TranslatableString GetDescription() override; 32 33 bool Commit() override; 34 ManualPageID HelpPageName() override; 35 void PopulateOrExchange(ShuttleGui & S) override; 36 37 static void GetRangeChoices( 38 TranslatableStrings *pChoices, 39 wxArrayStringEx *pCodes, 40 int *pDefaultRangeIndex = nullptr 41 ); 42 43 // If no input language given, defaults to system language. 44 // Returns the language actually used which is not lang if lang cannot be found. 45 static wxString SetLang( const wxString & lang ); 46 47 private: 48 void Populate(); 49 50 wxArrayStringEx mLangCodes; 51 TranslatableStrings mLangNames; 52 53 wxArrayStringEx mRangeCodes; 54 TranslatableStrings mRangeChoices; 55 int mDefaultRangeIndex; 56 }; 57 58 AUDACITY_DLL_API 59 int ShowClippingPrefsID(); 60 AUDACITY_DLL_API 61 int ShowTrackNameInWaveformPrefsID(); 62 63 extern AUDACITY_DLL_API ChoiceSetting 64 GUIManualLocation 65 ; 66 67 #endif 68