When autodetecting, don't segfault if no item was previously selected and a device...
[Rockbox.git] / rbutil / install_dialogs.h
blob87c557a26f43e1ec809cbf8e69b8452aa9621927
1 #ifndef INSTALL_DIALOGS_H_INCLUDED
2 #define INSTALL_DIALOGS_H_INCLUDED
4 #include "rbutil.h"
5 #include "talkfile.h"
7 #include "rbutilCtrls.h"
8 class bootloaderInstallDlg : public wxDialog
10 DECLARE_CLASS( bootloaderInstallDlg )
11 DECLARE_EVENT_TABLE()
12 public:
13 enum {
14 ID_DEVICEPOS = 1002,
15 ID_FIRMWARE = 1003,
16 }; //End of Enum
17 public:
18 bootloaderInstallDlg( );
19 bootloaderInstallDlg( wxWindow* parent,
20 wxWindowID id = wxID_ANY,
21 const wxString& caption = wxT("Bootloader Installation"),
22 const wxPoint& pos = wxDefaultPosition,
23 const wxSize& size = wxDefaultSize,
24 long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
25 // Member initialization
26 void Init();
27 //Creation
28 bool Create( wxWindow* parent,
29 wxWindowID id = wxID_ANY,
30 const wxString& caption = wxT("Bootloader Installation"),
31 const wxPoint& pos = wxDefaultPosition,
32 const wxSize& size = wxDefaultSize,
33 long style = wxDEFAULT_DIALOG_STYLE |wxRESIZE_BORDER );
34 // Creates the controls and sizers
35 void CreateControls();
37 bool TransferDataFromWindow();
38 bool TransferDataToWindow();
40 private:
42 DevicePositionCtrl* m_devicepos;
43 FirmwarePositionCtrl* m_firmwarepos;
48 class talkInstallDlg : public wxDialog
50 DECLARE_CLASS( talkInstallDlg )
51 DECLARE_EVENT_TABLE()
52 public:
53 enum {
54 ID_DEVICEPOS = 1002,
55 ID_BROWSE_ENC_BTN = 1003,
56 ID_BROWSE_TTS_BTN = 1004,
57 ID_TTS_CBX = 1005,
58 ID_ENC_CBX = 1006,
59 }; //End of Enum
60 public:
61 talkInstallDlg(TalkFileCreator* talkcreator);
62 talkInstallDlg(TalkFileCreator* talkcreator, wxWindow* parent,
63 wxWindowID id = wxID_ANY,
64 const wxString& caption = wxT("Talk file creation"),
65 const wxPoint& pos = wxDefaultPosition,
66 const wxSize& size = wxDefaultSize,
67 long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
68 /// Member initialization
69 void Init();
70 /// Creation
71 bool Create( wxWindow* parent,
72 wxWindowID id = wxID_ANY,
73 const wxString& caption = wxT("Talk file creation"),
74 const wxPoint& pos = wxDefaultPosition,
75 const wxSize& size = wxDefaultSize,
76 long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
77 /// Creates the controls and sizers
78 void CreateControls();
80 void OnBrowseEncBtn(wxCommandEvent& event);
81 void OnBrowseTtsBtn(wxCommandEvent& event);
83 bool TransferDataFromWindow();
84 bool TransferDataToWindow();
86 private:
87 TalkFileCreator* m_talkCreator;
89 DevicePositionCtrl* m_devicepos;
91 wxTextCtrl* m_EncExe;
92 wxButton* m_browseEncBtn;
93 wxTextCtrl* m_EncOpts;
94 wxComboBox* m_Enc;
96 wxTextCtrl* m_TtsExe;
97 wxButton* m_browseTtsBtn;
98 wxTextCtrl* m_TtsOpts;
99 wxComboBox* m_Tts;
102 wxCheckBox* m_OverwriteWave;
103 wxCheckBox* m_OverwriteTalk;
104 wxCheckBox* m_RemoveWave;
105 wxCheckBox* m_Recursive;
106 wxCheckBox* m_StripExtensions;
111 class fontInstallDlg : public wxDialog
113 DECLARE_CLASS( fontInstallDlg )
114 DECLARE_EVENT_TABLE()
115 public:
116 enum {
117 ID_DEVICEPOS = 1002,
118 }; //End of Enum
119 public:
120 fontInstallDlg( );
121 fontInstallDlg( wxWindow* parent,
122 wxWindowID id = wxID_ANY,
123 const wxString& caption = wxT("Font Installation"),
124 const wxPoint& pos = wxDefaultPosition,
125 const wxSize& size = wxDefaultSize,
126 long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
127 /// Member initialization
128 void Init();
129 /// Creation
130 bool Create( wxWindow* parent,
131 wxWindowID id = wxID_ANY,
132 const wxString& caption = wxT("Font Installation"),
133 const wxPoint& pos = wxDefaultPosition,
134 const wxSize& size = wxDefaultSize,
135 long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
136 /// Creates the controls and sizers
137 void CreateControls();
139 bool TransferDataFromWindow();
140 bool TransferDataToWindow();
142 private:
143 DevicePositionCtrl* m_devicepos;
147 class rockboxDeInstallDlg : public wxDialog
149 DECLARE_CLASS( rockboxDeInstallDlg )
150 DECLARE_EVENT_TABLE()
151 public:
152 enum {
153 ID_DEVICEPOS = 1002,
154 ID_FULL_CHCKBX = 1003,
155 }; //End of Enum
156 public:
157 rockboxDeInstallDlg( );
158 rockboxDeInstallDlg( wxWindow* parent,
159 wxWindowID id = wxID_ANY,
160 const wxString& caption = wxT("Rockbox Deinstallation"),
161 const wxPoint& pos = wxDefaultPosition,
162 const wxSize& size = wxDefaultSize,
163 long style =wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
164 /// Member initialization
165 void Init();
166 /// Creation
167 bool Create( wxWindow* parent,
168 wxWindowID id = wxID_ANY,
169 const wxString& caption = wxT("Rockbox Deinstallation"),
170 const wxPoint& pos = wxDefaultPosition,
171 const wxSize& size = wxDefaultSize,
172 long style =wxDEFAULT_DIALOG_STYLE |wxRESIZE_BORDER );
173 /// Creates the controls and sizers
174 void CreateControls();
176 bool TransferDataFromWindow();
177 bool TransferDataToWindow();
179 private:
180 DevicePositionCtrl* m_devicepos;
183 class themesInstallDlg : public wxDialog
185 DECLARE_CLASS( themesInstallDlg )
186 DECLARE_EVENT_TABLE()
187 public:
188 enum {
189 ID_DEVICE = 1001,
190 ID_DEVICEPOS = 1002,
191 ID_THEME = 1006,
192 }; //End of Enum
193 public:
194 themesInstallDlg( );
195 themesInstallDlg( wxWindow* parent,
196 wxWindowID id = wxID_ANY,
197 const wxString& caption = wxT("Themes Installation"),
198 const wxPoint& pos = wxDefaultPosition,
199 const wxSize& size = wxDefaultSize,
200 long style = wxDEFAULT_DIALOG_STYLE |wxRESIZE_BORDER );
201 // Creation
202 bool Create( wxWindow* parent,
203 wxWindowID id = wxID_ANY,
204 const wxString& caption = wxT("Themes Installation"),
205 const wxPoint& pos = wxDefaultPosition,
206 const wxSize& size = wxDefaultSize,
207 long style = wxDEFAULT_DIALOG_STYLE |wxRESIZE_BORDER );
208 // Creates the controls and sizers
209 void CreateControls();
211 bool TransferDataFromWindow();
212 bool TransferDataToWindow();
214 private:
215 wxString currentPreview;
216 DevicePositionCtrl* m_devicepos;
217 ThemeCtrl* m_theme;
221 class rockboxInstallDlg : public wxDialog
223 DECLARE_CLASS( rockboxInstallDlg )
224 DECLARE_EVENT_TABLE()
225 public:
226 enum {
227 ID_DEVICEPOS = 1002,
228 ID_BUILD_BOX = 1006,
229 ID_DEVICE_POS_CTRL = 1007,
230 ID_DETAIL_TXT = 1008,
231 ID_NOCACHE_CHCKBX =1009,
233 }; //End of Enum
234 public:
235 rockboxInstallDlg( );
236 rockboxInstallDlg( wxWindow* parent,
237 wxWindowID id = wxID_ANY,
238 const wxString& caption = wxT("Rockbox Installation"),
239 const wxPoint& pos = wxDefaultPosition,
240 const wxSize& size = wxDefaultSize,
241 long style = wxDEFAULT_DIALOG_STYLE |wxRESIZE_BORDER );
242 // Creation
243 bool Create( wxWindow* parent,
244 wxWindowID id = wxID_ANY,
245 const wxString& caption = wxT("Rockbox Installation"),
246 const wxPoint& pos = wxDefaultPosition,
247 const wxSize& size = wxDefaultSize,
248 long style = wxDEFAULT_DIALOG_STYLE |wxRESIZE_BORDER );
249 // Creates the controls and sizers
250 void CreateControls();
252 void OnBuildBox(wxCommandEvent& event);
254 bool TransferDataFromWindow();
255 bool TransferDataToWindow();
257 private:
258 DevicePositionCtrl* m_devicepos;
261 #endif // INSTALL_DIALOGS_H_INCLUDED