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;
44 class StillImageUseDuration;
45 class StillImageDuration;
47 #include "browsebutton.h"
48 #include "deleteallindexes.inc"
49 #include "mwindow.inc"
50 #include "preferencesthread.h"
51 #include "shbtnprefs.inc"
54 class InterfacePrefs : public PreferencesDialog
57 InterfacePrefs(MWindow *mwindow, PreferencesWindow *pwindow);
60 void create_objects();
61 // must delete each derived class
62 int update(int new_value);
63 const char* behavior_to_text(int mode);
64 int start_shbtn_dialog();
69 IndexPathText *ipathtext;
70 DeleteAllIndexes *deleteall;
74 TimeFormatSamples *samples;
76 TimeFormatFrames *frames;
78 TimeFormatSeconds *seconds;
83 // MeterVUInt *vu_int;
84 ViewBehaviourText *button1, *button2, *button3;
85 ViewThumbnails *thumbnails;
86 ShBtnEditDialog *shbtn_dialog;
90 class IndexPathText : public BC_TextBox
93 IndexPathText(int x, int y, PreferencesWindow *pwindow, char *text);
96 PreferencesWindow *pwindow;
99 class IndexSize : public BC_TextBox
102 IndexSize(int x, int y, PreferencesWindow *pwindow, char *text);
104 PreferencesWindow *pwindow;
108 class IndexCount : public BC_TextBox
111 IndexCount(int x, int y, PreferencesWindow *pwindow, char *text);
113 PreferencesWindow *pwindow;
116 class TimeFormatHMS : public BC_Radial
119 TimeFormatHMS(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
121 PreferencesWindow *pwindow;
122 InterfacePrefs *tfwindow;
125 class TimeFormatHMSF : public BC_Radial
128 TimeFormatHMSF(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
130 PreferencesWindow *pwindow;
131 InterfacePrefs *tfwindow;
134 class TimeFormatSamples : public BC_Radial
137 TimeFormatSamples(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
139 PreferencesWindow *pwindow;
140 InterfacePrefs *tfwindow;
143 class TimeFormatFrames : public BC_Radial
146 TimeFormatFrames(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
148 PreferencesWindow *pwindow;
149 InterfacePrefs *tfwindow;
152 class TimeFormatHex : public BC_Radial
155 TimeFormatHex(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
157 PreferencesWindow *pwindow;
158 InterfacePrefs *tfwindow;
161 class TimeFormatFeet : public BC_Radial
164 TimeFormatFeet(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
166 PreferencesWindow *pwindow;
167 InterfacePrefs *tfwindow;
170 class TimeFormatSeconds : public BC_Radial
173 TimeFormatSeconds(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
175 PreferencesWindow *pwindow;
176 InterfacePrefs *tfwindow;
179 class TimeFormatFeetSetting : public BC_TextBox
182 TimeFormatFeetSetting(PreferencesWindow *pwindow, int x, int y, char *string);
184 PreferencesWindow *pwindow;
189 class MeterMinDB : public BC_TextBox
192 MeterMinDB(PreferencesWindow *pwindow, char *text, int x, int y);
194 PreferencesWindow *pwindow;
198 class MeterMaxDB : public BC_TextBox
201 MeterMaxDB(PreferencesWindow *pwindow, char *text, int x, int y);
203 PreferencesWindow *pwindow;
206 class MeterVUDB : public BC_Radial
209 MeterVUDB(PreferencesWindow *pwindow, char *text, int y);
211 // MeterVUInt *vu_int;
212 PreferencesWindow *pwindow;
215 class MeterVUInt : public BC_Radial
218 MeterVUInt(PreferencesWindow *pwindow, char *text, int y);
221 PreferencesWindow *pwindow;
224 class ViewBehaviourText : public BC_PopupMenu
227 ViewBehaviourText(int x,
230 PreferencesWindow *pwindow,
232 ~ViewBehaviourText();
234 int handle_event(); // user copies text to value here
235 void create_objects(); // add initial items
236 InterfacePrefs *tfwindow;
240 class ViewBehaviourItem : public BC_MenuItem
243 ViewBehaviourItem(ViewBehaviourText *popup, char *text, int behaviour);
244 ~ViewBehaviourItem();
247 ViewBehaviourText *popup;
251 class ViewTheme : public BC_PopupMenu
254 ViewTheme(int x, int y, PreferencesWindow *pwindow);
257 void create_objects();
260 PreferencesWindow *pwindow;
263 class ViewThumbnails : public BC_CheckBox
266 ViewThumbnails(int x, int y, PreferencesWindow *pwindow);
268 PreferencesWindow *pwindow;
271 class ViewThemeItem : public BC_MenuItem
274 ViewThemeItem(ViewTheme *popup, char *text);
279 class UseTipWindow : public BC_CheckBox
282 UseTipWindow(PreferencesWindow *pwindow, int x, int y);
284 PreferencesWindow *pwindow;
287 class UseWarnIndecies : public BC_CheckBox
290 UseWarnIndecies(PreferencesWindow *pwindow, int x, int y);
292 PreferencesWindow *pwindow;
295 class ScanCommercials : public BC_CheckBox
298 ScanCommercials(PreferencesWindow *pwindow, int x, int y);
300 PreferencesWindow *pwindow;
303 class AndroidRemote : public BC_CheckBox
306 AndroidRemote(PreferencesWindow *pwindow, int x, int y);
308 PreferencesWindow *pwindow;
311 class AndroidPIN : public BC_TextBox
314 PreferencesWindow *pwindow;
316 AndroidPIN(PreferencesWindow *pwindow, int x, int y);
319 class AndroidPort : public BC_TextBox
322 PreferencesWindow *pwindow;
324 AndroidPort(PreferencesWindow *pwindow, int x, int y);
327 class ShBtnPrefs : public BC_GenericButton
330 PreferencesWindow *pwindow;
331 InterfacePrefs *iface_prefs;
334 ShBtnPrefs(PreferencesWindow *pwindow, InterfacePrefs *iface_prefs, int x, int y);
336 class StillImageUseDuration : public BC_CheckBox
339 StillImageUseDuration(PreferencesWindow *pwindow, int value, int x, int y);
341 PreferencesWindow *pwindow;
344 class StillImageDuration : public BC_TextBox
347 StillImageDuration(PreferencesWindow *pwindow, int x, int y);
349 PreferencesWindow *pwindow;