593cc6c1c172e4066748d777f646b37c0894a904
[vlc.git] / modules / gui / macosx / simple_prefs.h
1 /*****************************************************************************
2 * simple_prefs.h: Simple Preferences for Mac OS X
3 *****************************************************************************
4 * Copyright (C) 2008-2014 VLC authors and VideoLAN
5 * $Id$
6 *
7 * Authors: Felix Paul K├╝hne <fkuehne at videolan dot org>
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22 *****************************************************************************/
23
24 #import <Cocoa/Cocoa.h>
25 #import "VLCMain.h"
26 #import <vlc_common.h>
27
28 @interface VLCSimplePrefs : NSWindowController
29
30 // Audio pane
31 @property (readwrite, weak) IBOutlet NSPopUpButton *audio_dolbyPopup;
32 @property (readwrite, weak) IBOutlet NSTextField *audio_dolbyLabel;
33 @property (readwrite, weak) IBOutlet NSBox *audio_effectsBox;
34 @property (readwrite, weak) IBOutlet NSButton *audio_enableCheckbox;
35 @property (readwrite, weak) IBOutlet NSBox *audio_generalBox;
36 @property (readwrite, weak) IBOutlet NSTextField *audio_langTextField;
37 @property (readwrite, weak) IBOutlet NSTextField *audio_langLabel;
38 @property (readwrite, weak) IBOutlet NSBox *audio_lastBox;
39 @property (readwrite, weak) IBOutlet NSButton *audio_lastCheckbox;
40 @property (readwrite, weak) IBOutlet NSSecureTextField *audio_lastpwdSecureTextField;
41 @property (readwrite, weak) IBOutlet NSTextField *audio_lastpwdLabel;
42 @property (readwrite, weak) IBOutlet NSTextField *audio_lastuserTextField;
43 @property (readwrite, weak) IBOutlet NSTextField *audio_lastuserLabel;
44 @property (readwrite, weak) IBOutlet NSView *audioView;
45 @property (readwrite, weak) IBOutlet NSPopUpButton *audio_visualPopup;
46 @property (readwrite, weak) IBOutlet NSTextField *audio_visualLabel;
47 @property (readwrite, weak) IBOutlet NSTextField *audio_volTextField;
48 @property (readwrite, weak) IBOutlet NSSlider *audio_volSlider;
49 @property (readwrite, weak) IBOutlet NSMatrix *audio_autosavevolMatrix;
50 @property (readwrite, weak) IBOutlet NSButtonCell *audio_autosavevol_yesButtonCell;
51 @property (readwrite, weak) IBOutlet NSButtonCell *audio_autosavevol_noButtonCell;
52
53 // hotkeys pane
54 @property (readwrite, weak) IBOutlet NSButton *hotkeys_changeButton;
55 @property (readwrite, weak) IBOutlet NSTextField *hotkeys_changeLabel;
56 @property (readwrite, weak) IBOutlet NSTextField *hotkeys_change_keysLabel;
57 @property (readwrite, weak) IBOutlet NSTextField *hotkeys_change_takenLabel;
58 @property (readwrite, weak) IBOutlet NSWindow *hotkeys_change_win;
59 @property (readwrite, weak) IBOutlet NSButton *hotkeys_change_cancelButton;
60 @property (readwrite, weak) IBOutlet NSButton *hotkeys_change_okButton;
61 @property (readwrite, weak) IBOutlet NSButton *hotkeys_clearButton;
62 @property (readwrite, weak) IBOutlet NSTextField *hotkeysLabel;
63 @property (readwrite, weak) IBOutlet NSTableView *hotkeys_listbox;
64 @property (readwrite, weak) IBOutlet NSView *hotkeysView;
65
66 // input pane
67 @property (readwrite, weak) IBOutlet NSBox *input_recordBox;
68 @property (readwrite, weak) IBOutlet NSTextField *input_recordTextField;
69 @property (readwrite, weak) IBOutlet NSButton *input_recordButton;
70 @property (readwrite, weak) IBOutlet NSPopUpButton *input_aviPopup;
71 @property (readwrite, weak) IBOutlet NSTextField *input_aviLabel;
72 @property (readwrite, weak) IBOutlet NSPopUpButton *input_cachelevelPopup;
73 @property (readwrite, weak) IBOutlet NSTextField *input_cachelevelLabel;
74 @property (readwrite, weak) IBOutlet NSTextField *input_cachelevel_customLabel;
75 @property (readwrite, weak) IBOutlet NSBox *input_cachingBox;
76 @property (readwrite, weak) IBOutlet NSBox *input_muxBox;
77 @property (readwrite, weak) IBOutlet NSBox *input_netBox;
78 @property (readwrite, weak) IBOutlet NSTextField *input_avcodec_hwLabel;
79 @property (readwrite, weak) IBOutlet NSPopUpButton *input_avcodec_hwPopup;
80 @property (readwrite, weak) IBOutlet NSTextField *input_postprocTextField;
81 @property (readwrite, weak) IBOutlet NSTextField *input_postprocLabel;
82 @property (readwrite, weak) IBOutlet NSTextField *input_skipLoopLabel;
83 @property (readwrite, weak) IBOutlet NSPopUpButton *input_skipLoopPopup;
84 @property (readwrite, weak) IBOutlet NSButton *input_urlhandlerButton;
85 @property (readwrite, weak) IBOutlet NSButton *input_skipFramesCheckbox;
86 @property (readwrite, weak) IBOutlet NSView *inputView;
87
88 // intf pane - general box
89 @property (readwrite, weak) IBOutlet NSBox *intf_generalSettingsBox;
90 @property (readwrite, weak) IBOutlet NSPopUpButton *intf_languagePopup;
91 @property (readwrite, weak) IBOutlet NSTextField *intf_languageLabel;
92 @property (readwrite, weak) IBOutlet NSTextField *intf_styleLabel;
93 @property (readwrite, weak) IBOutlet NSButtonCell *intf_style_darkButtonCell;
94 @property (readwrite, weak) IBOutlet NSButtonCell *intf_style_brightButtonCell;
95 @property (readwrite, weak) IBOutlet NSButton *intf_statusIconCheckbox;
96
97 // intf pane - control box
98 @property (readwrite, weak) IBOutlet NSBox *intf_playbackControlBox;
99 @property (readwrite, weak) IBOutlet NSTextField *intf_continueplaybackLabel;
100 @property (readwrite, weak) IBOutlet NSPopUpButton *intf_continueplaybackPopup;
101 @property (readwrite, weak) IBOutlet NSButton *intf_appleremoteCheckbox;
102 @property (readwrite, weak) IBOutlet NSButton *intf_mediakeysCheckbox;
103 @property (readwrite, weak) IBOutlet NSButton *intf_appleremote_sysvolCheckbox;
104
105 // intf pane - behaviour box
106 @property (readwrite, weak) IBOutlet NSBox *intf_playbackBehaviourBox;
107 @property (readwrite, weak) IBOutlet NSButton *intf_enableNotificationsCheckbox;
108 @property (readwrite, weak) IBOutlet NSTextField *intf_pauseitunesLabel;
109 @property (readwrite, weak) IBOutlet NSPopUpButton *intf_pauseitunesPopup;
110
111 // intf pane - network box
112 @property (readwrite, weak) IBOutlet NSBox *intf_networkBox;
113 @property (readwrite, weak) IBOutlet NSButton *intf_artCheckbox;
114 @property (readwrite, weak) IBOutlet NSButton *intf_updateCheckbox;
115 @property (readwrite, weak) IBOutlet NSTextField *intf_last_updateLabel;
116
117 // intf pane - http interface box
118 @property (readwrite, weak) IBOutlet NSBox *intf_luahttpBox;
119 @property (readwrite, weak) IBOutlet NSTextField *intf_luahttppwdLabel;
120 @property (readwrite, weak) IBOutlet NSTextField *intf_luahttppwdTextField;
121 @property (readwrite, weak) IBOutlet NSView *intfView;
122
123 // osd pane
124 @property (readwrite, weak) IBOutlet NSPopUpButton *osd_encodingPopup;
125 @property (readwrite, weak) IBOutlet NSTextField *osd_encodingLabel;
126 @property (readwrite, weak) IBOutlet NSBox *osd_fontBox;
127 @property (readwrite, weak) IBOutlet NSButton *osd_fontButton;
128 @property (readwrite, weak) IBOutlet NSPopUpButton *osd_font_colorPopup;
129 @property (readwrite, weak) IBOutlet NSTextField *osd_font_colorLabel;
130 @property (readwrite, weak) IBOutlet NSTextField *osd_fontTextField;
131 @property (readwrite, weak) IBOutlet NSPopUpButton *osd_font_sizePopup;
132 @property (readwrite, weak) IBOutlet NSTextField *osd_font_sizeLabel;
133 @property (readwrite, weak) IBOutlet NSTextField *osd_fontLabel;
134 @property (readwrite, weak) IBOutlet NSBox *osd_langBox;
135 @property (readwrite, weak) IBOutlet NSTextField *osd_langTextField;
136 @property (readwrite, weak) IBOutlet NSTextField *osd_langLabel;
137 @property (readwrite, weak) IBOutlet NSTextField *osd_opacityLabel;
138 @property (readwrite, weak) IBOutlet NSTextField *osd_opacityTextField;
139 @property (readwrite, weak) IBOutlet NSSlider *osd_opacitySlider;
140 @property (readwrite, weak) IBOutlet NSPopUpButton *osd_outline_colorPopup;
141 @property (readwrite, weak) IBOutlet NSTextField *osd_outline_colorLabel;
142 @property (readwrite, weak) IBOutlet NSPopUpButton *osd_outline_thicknessPopup;
143 @property (readwrite, weak) IBOutlet NSTextField *osd_outline_thicknessLabel;
144 @property (readwrite, weak) IBOutlet NSButton *osd_forceboldCheckbox;
145 @property (readwrite, weak) IBOutlet NSBox *osd_osdBox;
146 @property (readwrite, weak) IBOutlet NSButton *osd_osdCheckbox;
147 @property (readwrite, weak) IBOutlet NSView *osdView;
148
149 @property (readwrite, weak) IBOutlet NSButton *showAllButton;
150 @property (readwrite, weak) IBOutlet NSButton *cancelButton;
151 @property (readwrite, weak) IBOutlet NSBox *controlsBox;
152 @property (readwrite, weak) IBOutlet NSButton *resetButton;
153 @property (readwrite, weak) IBOutlet NSButton *saveButton;
154
155 // video pane
156 @property (readwrite, weak) IBOutlet NSButton *video_enableCheckbox;
157 // video pane - display box
158 @property (readwrite, weak) IBOutlet NSBox *video_displayBox;
159 @property (readwrite, weak) IBOutlet NSButton *video_embeddedCheckbox;
160 @property (readwrite, weak) IBOutlet NSButton *video_pauseWhenMinimizedCheckbox;
161 @property (readwrite, weak) IBOutlet NSButton *video_onTopCheckbox;
162 @property (readwrite, weak) IBOutlet NSButton *video_videodecoCheckbox;
163
164 // video pane - fullscreen box
165 @property (readwrite, weak) IBOutlet NSBox *video_fullscreenBox;
166 @property (readwrite, weak) IBOutlet NSButton *video_startInFullscreenCheckbox;
167 @property (readwrite, weak) IBOutlet NSButton *video_blackScreenCheckbox;
168 @property (readwrite, weak) IBOutlet NSButton *video_nativeFullscreenCheckbox;
169 @property (readwrite, weak) IBOutlet NSTextField *video_deviceLabel;
170 @property (readwrite, weak) IBOutlet NSPopUpButton *video_devicePopup;
171
172 // video pane - video box
173 @property (readwrite, weak) IBOutlet NSBox *video_videoBox;
174 @property (readwrite, weak) IBOutlet NSTextField *video_deinterlaceLabel;
175 @property (readwrite, weak) IBOutlet NSPopUpButton *video_deinterlacePopup;
176 @property (readwrite, weak) IBOutlet NSTextField *video_deinterlace_modeLabel;
177 @property (readwrite, weak) IBOutlet NSPopUpButton *video_deinterlace_modePopup;
178
179 // video pane - snapshot box
180 @property (readwrite, weak) IBOutlet NSBox *video_snapBox;
181 @property (readwrite, weak) IBOutlet NSButton *video_snap_folderButton;
182 @property (readwrite, weak) IBOutlet NSTextField *video_snap_folderTextField;
183 @property (readwrite, weak) IBOutlet NSTextField *video_snap_folderLabel;
184 @property (readwrite, weak) IBOutlet NSPopUpButton *video_snap_formatPopup;
185 @property (readwrite, weak) IBOutlet NSTextField *video_snap_formatLabel;
186 @property (readwrite, weak) IBOutlet NSTextField *video_snap_prefixTextField;
187 @property (readwrite, weak) IBOutlet NSTextField *video_snap_prefixLabel;
188 @property (readwrite, weak) IBOutlet NSButton *video_snap_seqnumCheckbox;
189
190 @property (readwrite, weak) IBOutlet NSView *videoView;
191
192 @property (readwrite, weak) IBOutlet NSTextField *urlhandler_titleLabel;
193 @property (readwrite, weak) IBOutlet NSTextField *urlhandler_subtitleLabel;
194 @property (readwrite, weak) IBOutlet NSButton *urlhandler_saveButton;
195 @property (readwrite, weak) IBOutlet NSButton *urlhandler_cancelButton;
196 @property (readwrite, weak) IBOutlet NSPopUpButton *urlhandler_ftpPopup;
197 @property (readwrite, weak) IBOutlet NSPopUpButton *urlhandler_mmsPopup;
198 @property (readwrite, weak) IBOutlet NSPopUpButton *urlhandler_rtmpPopup;
199 @property (readwrite, weak) IBOutlet NSPopUpButton *urlhandler_rtpPopup;
200 @property (readwrite, weak) IBOutlet NSPopUpButton *urlhandler_rtspPopup;
201 @property (readwrite, weak) IBOutlet NSPopUpButton *urlhandler_sftpPopup;
202 @property (readwrite, weak) IBOutlet NSPopUpButton *urlhandler_smbPopup;
203 @property (readwrite, weak) IBOutlet NSPopUpButton *urlhandler_udpPopup;
204 @property (readwrite, weak) IBOutlet NSWindow *urlhandler_win;
205
206 /* toolbar */
207 - (NSToolbarItem *)toolbar:(NSToolbar *)o_toolbar
208      itemForItemIdentifier:(NSString *)o_itemIdent
209  willBeInsertedIntoToolbar:(BOOL)b_willBeInserted;
210 - (NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar *)toolbar;
211 - (NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar *)toolbar;
212
213 - (void)showSimplePrefs;
214 - (void)showSimplePrefsWithLevel:(NSInteger)i_window_level;
215
216 - (IBAction)buttonAction:(id)sender;
217 - (IBAction)resetPreferences:(id)sender;
218 - (void)sheetDidEnd:(NSWindow *)o_sheet
219          returnCode:(int)i_return
220         contextInfo:(void *)o_context;
221
222 /* interface */
223 - (IBAction)interfaceSettingChanged:(id)sender;
224
225 /* audio */
226 - (IBAction)audioSettingChanged:(id)sender;
227
228 /* video */
229 - (IBAction)videoSettingChanged:(id)sender;
230
231 /* OSD / subtitles */
232 - (IBAction)osdSettingChanged:(id)sender;
233 - (IBAction)showFontPicker:(id)sender;
234 - (void)changeFont:(id)sender;
235
236 /* input & codecs */
237 - (IBAction)inputSettingChanged:(id)sender;
238 - (IBAction)urlHandlerAction:(id)sender;
239
240 /* hotkeys */
241 - (IBAction)hotkeySettingChanged:(id)sender;
242 - (BOOL)changeHotkeyTo: (NSString *)theKey;
243
244 @end
245
246 @interface VLCHotkeyChangeWindow : NSWindow
247
248 @end
249
250 @interface VLCSimplePrefsWindow : NSWindow
251
252 @end