1 /**********************************************************************
2 
3   Audacity: A Digital Audio Editor
4 
5   DirectoriesPrefs.h
6 
7   Joshua Haberman
8 
9 **********************************************************************/
10 
11 #ifndef __AUDACITY_DIRECTORIES_PREFS__
12 #define __AUDACITY_DIRECTORIES_PREFS__
13 
14 #include "PrefsPanel.h"
15 
16 class ReadOnlyText;
17 class ShuttleGui;
18 
19 class wxStaticText;
20 class wxTextCtrl;
21 
22 #define DIRECTORIES_PREFS_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Directories") }
23 
24 class DirectoriesPrefs final : public PrefsPanel
25 {
26  public:
27    DirectoriesPrefs(wxWindow * parent, wxWindowID winid);
28    ~DirectoriesPrefs();
29    ComponentInterfaceSymbol GetSymbol() override;
30    TranslatableString GetDescription() override;
31 
32    bool Commit() override;
33    bool Validate() override;
34    ManualPageID HelpPageName() override;
35    void PopulateOrExchange(ShuttleGui &S) override;
36 
37  private:
38    void Populate();
39 
40    void OnTempText(wxCommandEvent &evt);
41    void OnTempBrowse(wxCommandEvent &evt);
42 
43    void OnBrowse(wxCommandEvent &evt);
44    void OnText(wxCommandEvent &evt);
45 
46    ReadOnlyText *mFreeSpace;
47    wxTextCtrl *mTempText;
48    wxTextCtrl *mOpenText;
49    wxTextCtrl *mSaveText;
50    wxTextCtrl *mImportText;
51    wxTextCtrl *mExportText;
52    wxTextCtrl *mMacrosText;
53 
54    DECLARE_EVENT_TABLE()
55 };
56 
57 /// A PrefsPanel::Factory that creates one DirectoriesPrefs panel.
58 /// This one is used not only in the Preferences command.
59 extern PrefsPanel::Factory DirectoriesPrefsFactory();
60 #endif
61