audacia/src/prefs/GUIPrefs.h

73 lines
1.8 KiB
C
Raw Normal View History

/**********************************************************************
Audacity: A Digital Audio Editor
GUIPrefs.h
Brian Gunlogson
Joshua Haberman
James Crook
**********************************************************************/
#ifndef __AUDACITY_GUI_PREFS__
#define __AUDACITY_GUI_PREFS__
#include <wx/defs.h>
#include "PrefsPanel.h"
class ShuttleGui;
class wxArrayStringEx;
#define GUI_PREFS_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("GUI") }
class GUIPrefs final : public PrefsPanel
{
public:
GUIPrefs(wxWindow * parent, wxWindowID winid);
~GUIPrefs();
ComponentInterfaceSymbol GetSymbol() override;
wxString GetDescription() override;
bool Commit() override;
2017-05-14 15:19:54 +00:00
wxString HelpPageName() override;
2018-02-24 19:39:58 +00:00
void PopulateOrExchange(ShuttleGui & S) override;
static void GetRangeChoices(
wxArrayStringEx *pChoicesUntranslated,
wxArrayStringEx *pChoicesTranslated,
wxArrayStringEx *pCodes,
int *pDefaultRangeIndex = nullptr
);
// If no input language given, defaults first to choice in preferences, then
// to system language.
// Returns the language actually used which is not lang if lang cannot be found.
static wxString InitLang( wxString lang = {} );
// If no input language given, defaults to system language.
// Returns the language actually used which is not lang if lang cannot be found.
static wxString SetLang( const wxString & lang );
// Returns the last language code that was set
static wxString GetLang();
private:
void Populate();
wxArrayStringEx mLangCodes;
wxArrayStringEx mLangNames;
wxArrayStringEx mRangeCodes;
wxArrayStringEx mRangeChoices;
int mDefaultRangeIndex;
};
/// A PrefsPanel::Factory that creates one GUIPrefs panel.
extern PrefsPanel::Factory GUIPrefsFactory;
int ShowClippingPrefsID();
#endif