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"
46 #include "shbtnprefs.inc"
49 class InterfacePrefs : public PreferencesDialog
52 InterfacePrefs(MWindow *mwindow, PreferencesWindow *pwindow);
55 void create_objects();
56 // must delete each derived class
57 int update(int new_value);
58 const char* behavior_to_text(int mode);
59 int start_shbtn_dialog();
64 IndexPathText *ipathtext;
65 DeleteAllIndexes *deleteall;
69 TimeFormatSamples *samples;
71 TimeFormatFrames *frames;
73 TimeFormatSeconds *seconds;
78 // MeterVUInt *vu_int;
79 ViewBehaviourText *button1, *button2, *button3;
80 ViewThumbnails *thumbnails;
81 ShBtnEditDialog *shbtn_dialog;
85 class IndexPathText : public BC_TextBox
88 IndexPathText(int x, int y, PreferencesWindow *pwindow, char *text);
91 PreferencesWindow *pwindow;
94 class IndexSize : public BC_TextBox
97 IndexSize(int x, int y, PreferencesWindow *pwindow, char *text);
99 PreferencesWindow *pwindow;
103 class IndexCount : public BC_TextBox
106 IndexCount(int x, int y, PreferencesWindow *pwindow, char *text);
108 PreferencesWindow *pwindow;
111 class TimeFormatHMS : public BC_Radial
114 TimeFormatHMS(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
116 PreferencesWindow *pwindow;
117 InterfacePrefs *tfwindow;
120 class TimeFormatHMSF : public BC_Radial
123 TimeFormatHMSF(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
125 PreferencesWindow *pwindow;
126 InterfacePrefs *tfwindow;
129 class TimeFormatSamples : public BC_Radial
132 TimeFormatSamples(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
134 PreferencesWindow *pwindow;
135 InterfacePrefs *tfwindow;
138 class TimeFormatFrames : public BC_Radial
141 TimeFormatFrames(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
143 PreferencesWindow *pwindow;
144 InterfacePrefs *tfwindow;
147 class TimeFormatHex : public BC_Radial
150 TimeFormatHex(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
152 PreferencesWindow *pwindow;
153 InterfacePrefs *tfwindow;
156 class TimeFormatFeet : public BC_Radial
159 TimeFormatFeet(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
161 PreferencesWindow *pwindow;
162 InterfacePrefs *tfwindow;
165 class TimeFormatSeconds : public BC_Radial
168 TimeFormatSeconds(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
170 PreferencesWindow *pwindow;
171 InterfacePrefs *tfwindow;
174 class TimeFormatFeetSetting : public BC_TextBox
177 TimeFormatFeetSetting(PreferencesWindow *pwindow, int x, int y, char *string);
179 PreferencesWindow *pwindow;
184 class MeterMinDB : public BC_TextBox
187 MeterMinDB(PreferencesWindow *pwindow, char *text, int x, int y);
189 PreferencesWindow *pwindow;
193 class MeterMaxDB : public BC_TextBox
196 MeterMaxDB(PreferencesWindow *pwindow, char *text, int x, int y);
198 PreferencesWindow *pwindow;
201 class MeterVUDB : public BC_Radial
204 MeterVUDB(PreferencesWindow *pwindow, char *text, int y);
206 // MeterVUInt *vu_int;
207 PreferencesWindow *pwindow;
210 class MeterVUInt : public BC_Radial
213 MeterVUInt(PreferencesWindow *pwindow, char *text, int y);
216 PreferencesWindow *pwindow;
219 class ViewBehaviourText : public BC_PopupMenu
222 ViewBehaviourText(int x,
225 PreferencesWindow *pwindow,
227 ~ViewBehaviourText();
229 int handle_event(); // user copies text to value here
230 void create_objects(); // add initial items
231 InterfacePrefs *tfwindow;
235 class ViewBehaviourItem : public BC_MenuItem
238 ViewBehaviourItem(ViewBehaviourText *popup, char *text, int behaviour);
239 ~ViewBehaviourItem();
242 ViewBehaviourText *popup;
246 class ViewTheme : public BC_PopupMenu
249 ViewTheme(int x, int y, PreferencesWindow *pwindow);
252 void create_objects();
255 PreferencesWindow *pwindow;
258 class ViewThumbnails : public BC_CheckBox
261 ViewThumbnails(int x, int y, PreferencesWindow *pwindow);
263 PreferencesWindow *pwindow;
266 class ViewThemeItem : public BC_MenuItem
269 ViewThemeItem(ViewTheme *popup, char *text);
274 class UseTipWindow : public BC_CheckBox
277 UseTipWindow(PreferencesWindow *pwindow, int x, int y);
279 PreferencesWindow *pwindow;
282 class UseWarnIndecies : public BC_CheckBox
285 UseWarnIndecies(PreferencesWindow *pwindow, int x, int y);
287 PreferencesWindow *pwindow;
290 class ScanCommercials : public BC_CheckBox
293 ScanCommercials(PreferencesWindow *pwindow, int x, int y);
295 PreferencesWindow *pwindow;
298 class AndroidRemote : public BC_CheckBox
301 AndroidRemote(PreferencesWindow *pwindow, int x, int y);
303 PreferencesWindow *pwindow;
306 class AndroidPIN : public BC_TextBox
309 PreferencesWindow *pwindow;
311 AndroidPIN(PreferencesWindow *pwindow, int x, int y);
314 class AndroidPort : public BC_TextBox
317 PreferencesWindow *pwindow;
319 AndroidPort(PreferencesWindow *pwindow, int x, int y);
322 class ShBtnPrefs : public BC_GenericButton
325 PreferencesWindow *pwindow;
326 InterfacePrefs *iface_prefs;
329 ShBtnPrefs(PreferencesWindow *pwindow, InterfacePrefs *iface_prefs, int x, int y);