4 * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 #ifndef INTERFACEPREFS_H
23 #define INTERFACEPREFS_H
30 class TimeFormatSamples;
31 class TimeFormatFrames;
34 class TimeFormatSeconds;
39 class ViewBehaviourText;
42 #include "browsebutton.h"
43 #include "deleteallindexes.inc"
44 #include "mwindow.inc"
45 #include "preferencesthread.h"
48 class InterfacePrefs : public PreferencesDialog
51 InterfacePrefs(MWindow *mwindow, PreferencesWindow *pwindow);
54 void create_objects();
55 // must delete each derived class
56 int update(int new_value);
57 const char* behavior_to_text(int mode);
62 IndexPathText *ipathtext;
63 DeleteAllIndexes *deleteall;
67 TimeFormatSamples *samples;
69 TimeFormatFrames *frames;
71 TimeFormatSeconds *seconds;
76 // MeterVUInt *vu_int;
77 ViewBehaviourText *button1, *button2, *button3;
78 ViewThumbnails *thumbnails;
82 class IndexPathText : public BC_TextBox
85 IndexPathText(int x, int y, PreferencesWindow *pwindow, char *text);
88 PreferencesWindow *pwindow;
91 class IndexSize : public BC_TextBox
94 IndexSize(int x, int y, PreferencesWindow *pwindow, char *text);
96 PreferencesWindow *pwindow;
100 class IndexCount : public BC_TextBox
103 IndexCount(int x, int y, PreferencesWindow *pwindow, char *text);
105 PreferencesWindow *pwindow;
108 class TimeFormatHMS : public BC_Radial
111 TimeFormatHMS(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
113 PreferencesWindow *pwindow;
114 InterfacePrefs *tfwindow;
117 class TimeFormatHMSF : public BC_Radial
120 TimeFormatHMSF(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
122 PreferencesWindow *pwindow;
123 InterfacePrefs *tfwindow;
126 class TimeFormatSamples : public BC_Radial
129 TimeFormatSamples(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
131 PreferencesWindow *pwindow;
132 InterfacePrefs *tfwindow;
135 class TimeFormatFrames : public BC_Radial
138 TimeFormatFrames(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
140 PreferencesWindow *pwindow;
141 InterfacePrefs *tfwindow;
144 class TimeFormatHex : public BC_Radial
147 TimeFormatHex(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
149 PreferencesWindow *pwindow;
150 InterfacePrefs *tfwindow;
153 class TimeFormatFeet : public BC_Radial
156 TimeFormatFeet(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
158 PreferencesWindow *pwindow;
159 InterfacePrefs *tfwindow;
162 class TimeFormatSeconds : public BC_Radial
165 TimeFormatSeconds(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
167 PreferencesWindow *pwindow;
168 InterfacePrefs *tfwindow;
171 class TimeFormatFeetSetting : public BC_TextBox
174 TimeFormatFeetSetting(PreferencesWindow *pwindow, int x, int y, char *string);
176 PreferencesWindow *pwindow;
181 class MeterMinDB : public BC_TextBox
184 MeterMinDB(PreferencesWindow *pwindow, char *text, int x, int y);
186 PreferencesWindow *pwindow;
190 class MeterMaxDB : public BC_TextBox
193 MeterMaxDB(PreferencesWindow *pwindow, char *text, int x, int y);
195 PreferencesWindow *pwindow;
198 class MeterVUDB : public BC_Radial
201 MeterVUDB(PreferencesWindow *pwindow, char *text, int y);
203 // MeterVUInt *vu_int;
204 PreferencesWindow *pwindow;
207 class MeterVUInt : public BC_Radial
210 MeterVUInt(PreferencesWindow *pwindow, char *text, int y);
213 PreferencesWindow *pwindow;
216 class ViewBehaviourText : public BC_PopupMenu
219 ViewBehaviourText(int x,
222 PreferencesWindow *pwindow,
224 ~ViewBehaviourText();
226 int handle_event(); // user copies text to value here
227 void create_objects(); // add initial items
228 InterfacePrefs *tfwindow;
232 class ViewBehaviourItem : public BC_MenuItem
235 ViewBehaviourItem(ViewBehaviourText *popup, char *text, int behaviour);
236 ~ViewBehaviourItem();
239 ViewBehaviourText *popup;
243 class ViewTheme : public BC_PopupMenu
246 ViewTheme(int x, int y, PreferencesWindow *pwindow);
249 void create_objects();
252 PreferencesWindow *pwindow;
255 class ViewThumbnails : public BC_CheckBox
258 ViewThumbnails(int x, int y, PreferencesWindow *pwindow);
260 PreferencesWindow *pwindow;
263 class ViewThemeItem : public BC_MenuItem
266 ViewThemeItem(ViewTheme *popup, char *text);
271 class UseTipWindow : public BC_CheckBox
274 UseTipWindow(PreferencesWindow *pwindow, int x, int y);
276 PreferencesWindow *pwindow;
279 class ScanCommercials : public BC_CheckBox
282 ScanCommercials(PreferencesWindow *pwindow, int x, int y);
284 PreferencesWindow *pwindow;
287 class AndroidRemote : public BC_CheckBox
290 AndroidRemote(PreferencesWindow *pwindow, int x, int y);
292 PreferencesWindow *pwindow;
295 class AndroidPIN : public BC_TextBox
298 PreferencesWindow *pwindow;
300 AndroidPIN(PreferencesWindow *pwindow, int x, int y);
303 class AndroidPort : public BC_TextBox
306 PreferencesWindow *pwindow;
308 AndroidPort(PreferencesWindow *pwindow, int x, int y);