Mercurial > mplayer.hg
annotate gui/dialog/preferences.c @ 36003:8fea01665c83
Remove HidePreferences(), HideAudioConfig() and HideDXR3Config().
Simply destroy the windows.
(It's pointless to check whether the window is existing,
because it cannot be called without an existing window.)
In order to do so, relocate definition of AudioConfig.
Additionally, remove unnecessary declarations.
author | ib |
---|---|
date | Fri, 29 Mar 2013 17:28:44 +0000 |
parents | 6c891a0e3fea |
children | d154d0035cb0 |
rev | line source |
---|---|
33572 | 1 /* |
2 * This file is part of MPlayer. | |
3 * | |
4 * MPlayer is free software; you can redistribute it and/or modify | |
5 * it under the terms of the GNU General Public License as published by | |
6 * the Free Software Foundation; either version 2 of the License, or | |
7 * (at your option) any later version. | |
8 * | |
9 * MPlayer is distributed in the hope that it will be useful, | |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 * GNU General Public License for more details. | |
13 * | |
14 * You should have received a copy of the GNU General Public License along | |
15 * with MPlayer; if not, write to the Free Software Foundation, Inc., | |
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
17 */ | |
18 | |
19 #include <stdlib.h> | |
20 #include <sys/types.h> | |
21 #include <sys/stat.h> | |
22 #include <unistd.h> | |
23 #include <string.h> | |
35903 | 24 #include <strings.h> |
33572 | 25 |
26 #include <gdk/gdkkeysyms.h> | |
27 #include <gtk/gtk.h> | |
28 | |
29 #include "config.h" | |
30 #include "help_mp.h" | |
31 #include "mixer.h" | |
32 #include "mpcommon.h" | |
33 #include "libao2/audio_out.h" | |
34 #include "sub/sub.h" | |
35 #include "libvo/video_out.h" | |
36 #include "libvo/x11_common.h" | |
37 #include "stream/stream.h" | |
38 #include "libmpdemux/demuxer.h" | |
39 #include "libmpdemux/stheader.h" | |
40 #include "libmpcodecs/dec_video.h" | |
41 #include "sub/font_load.h" | |
42 | |
35525 | 43 #include "gui/app/app.h" |
44 #include "gui/app/cfg.h" | |
45 #include "gui/app/gui.h" | |
33572 | 46 #include "gui/interface.h" |
35528 | 47 #include "gui/ui/ui.h" |
35529 | 48 #include "dialog.h" |
33741 | 49 #include "gui/util/list.h" |
33739 | 50 #include "gui/util/mem.h" |
33737 | 51 #include "gui/util/string.h" |
33572 | 52 #include "preferences.h" |
53 #include "fileselect.h" | |
54 #include "tools.h" | |
55 | |
34684 | 56 /* for mpcodecs_[av]d_drivers: */ |
33572 | 57 #include "libmpcodecs/vd.h" |
58 #include "libmpcodecs/ad.h" | |
59 | |
60 GtkWidget * Preferences = NULL; | |
61 static GtkWidget * AConfig; | |
62 static GtkWidget * VConfig; | |
63 //static GtkWidget * BLoadSubtitle; | |
64 static GtkWidget * BLoadFont; | |
65 static GtkWidget * BOk; | |
66 static GtkWidget * BCancel; | |
67 | |
68 static GtkWidget * CLADrivers; | |
69 static GtkWidget * CLVDrivers; | |
70 | |
71 //static GtkWidget * ESubtitleName; | |
72 GtkWidget * prEFontName; | |
73 GtkWidget * prEDVDDevice; | |
74 GtkWidget * prECDRomDevice; | |
75 static GtkWidget * EVFM; | |
76 static GtkWidget * EAFM; | |
77 | |
78 static GtkWidget * CBVFM; | |
79 static GtkWidget * CBAFM; | |
80 static GtkWidget * CBAudioEqualizer; | |
81 //static GtkWidget * CBSurround; | |
82 static GtkWidget * CBExtraStereo; | |
83 static GtkWidget * CBNormalize; | |
84 static GtkWidget * CBSoftwareMixer; | |
85 static GtkWidget * CBDoubleBuffer; | |
86 static GtkWidget * CBDR; | |
87 static GtkWidget * CBFramedrop; | |
88 static GtkWidget * CBHFramedrop; | |
89 //static GtkWidget * CBFullScreen; | |
90 static GtkWidget * CBShowVideoWindow; | |
91 static GtkWidget * CBNonInterlaved; | |
92 static GtkWidget * CBIndex; | |
93 static GtkWidget * CBFlip; | |
94 static GtkWidget * CBNoAutoSub; | |
95 static GtkWidget * CBSubUnicode; | |
96 static GtkWidget * CBSubOverlap; | |
97 static GtkWidget * CBDumpMPSub; | |
98 static GtkWidget * CBDumpSrt; | |
99 static GtkWidget * CBUseASS; | |
100 static GtkWidget * CBASSUseMargins; | |
101 static GtkWidget * SBASSTopMargin; | |
102 static GtkWidget * SBASSBottomMargin; | |
103 static GtkWidget * CBPostprocess; | |
104 static GtkWidget * CBCache; | |
105 static GtkWidget * CBLoadFullscreen; | |
106 static GtkWidget * CBSaveWinPos; | |
107 static GtkWidget * CBStopXScreenSaver; | |
108 static GtkWidget * CBPlayBar; | |
109 static GtkWidget * CBNoIdle; | |
110 | |
111 static GtkWidget * SBCache; | |
112 static GtkAdjustment * SBCacheadj; | |
113 | |
114 static GtkWidget * CBAutoSync; | |
115 static GtkWidget * SBAutoSync; | |
116 static GtkAdjustment * SBAutoSyncadj; | |
117 | |
118 static GtkWidget * RBOSDNone; | |
33777
235c6f2514be
Arrange OSD preferences according to option 'osdlevel'.
ib
parents:
33769
diff
changeset
|
119 static GtkWidget * RBOSDIndicator; |
33572 | 120 static GtkWidget * RBOSDTandP; |
121 static GtkWidget * RBOSDTPTT; | |
122 | |
123 static GtkWidget * HSAudioDelay; | |
124 static GtkWidget * HSExtraStereoMul; | |
125 static GtkWidget * HSPanscan; | |
126 static GtkWidget * HSSubDelay; | |
127 static GtkWidget * HSSubPosition; | |
128 static GtkWidget * HSSubFPS; | |
129 static GtkWidget * HSPPQuality; | |
130 static GtkWidget * HSFPS; | |
131 | |
132 static GtkAdjustment * HSExtraStereoMuladj, * HSAudioDelayadj, * HSPanscanadj, * HSSubDelayadj; | |
133 static GtkAdjustment * HSSubPositionadj, * HSSubFPSadj, * HSPPQualityadj, * HSFPSadj; | |
134 | |
135 #ifndef CONFIG_FREETYPE | |
136 static GtkWidget * HSFontFactor; | |
137 static GtkAdjustment * HSFontFactoradj; | |
138 #else | |
139 static GtkWidget * HSFontBlur, * HSFontOutLine, * HSFontTextScale, * HSFontOSDScale; | |
140 static GtkAdjustment * HSFontBluradj, * HSFontOutLineadj, * HSFontTextScaleadj, * HSFontOSDScaleadj; | |
141 static GtkWidget * CBFontEncoding, * EFontEncoding; | |
142 static GtkWidget * RBFontNoAutoScale, * RBFontAutoScaleWidth, * RBFontAutoScaleHeight, * RBFontAutoScaleDiagonal; | |
143 //static GtkWidget * AutoScale; | |
144 #endif | |
145 | |
146 #ifdef CONFIG_ICONV | |
147 static GtkWidget * CBSubEncoding, * ESubEncoding; | |
148 #endif | |
149 | |
150 #if defined(CONFIG_FREETYPE) || defined(CONFIG_ICONV) | |
151 static struct | |
152 { | |
153 char * name; | |
154 char * comment; | |
155 } lEncoding[] = | |
156 { | |
157 { "unicode", MSGTR_PREFERENCES_FontEncoding1 }, | |
158 { "iso-8859-1", MSGTR_PREFERENCES_FontEncoding2 }, | |
159 { "iso-8859-15", MSGTR_PREFERENCES_FontEncoding3 }, | |
160 { "iso-8859-2", MSGTR_PREFERENCES_FontEncoding4 }, | |
161 { "cp1250", MSGTR_PREFERENCES_FontEncoding22}, | |
162 { "iso-8859-3", MSGTR_PREFERENCES_FontEncoding5 }, | |
163 { "iso-8859-4", MSGTR_PREFERENCES_FontEncoding6 }, | |
164 { "iso-8859-5", MSGTR_PREFERENCES_FontEncoding7 }, | |
165 { "cp1251", MSGTR_PREFERENCES_FontEncoding21}, | |
166 { "iso-8859-6", MSGTR_PREFERENCES_FontEncoding8 }, | |
167 { "cp1256", MSGTR_PREFERENCES_FontEncoding23 }, | |
168 { "iso-8859-7", MSGTR_PREFERENCES_FontEncoding9 }, | |
169 { "iso-8859-9", MSGTR_PREFERENCES_FontEncoding10 }, | |
170 { "iso-8859-13", MSGTR_PREFERENCES_FontEncoding11 }, | |
171 { "iso-8859-14", MSGTR_PREFERENCES_FontEncoding12 }, | |
172 { "iso-8859-8", MSGTR_PREFERENCES_FontEncoding13 }, | |
173 { "koi8-r", MSGTR_PREFERENCES_FontEncoding14 }, | |
174 { "koi8-u/ru", MSGTR_PREFERENCES_FontEncoding15 }, | |
175 { "cp936", MSGTR_PREFERENCES_FontEncoding16 }, | |
176 { "big5", MSGTR_PREFERENCES_FontEncoding17 }, | |
177 { "shift-jis", MSGTR_PREFERENCES_FontEncoding18 }, | |
178 { "cp949", MSGTR_PREFERENCES_FontEncoding19 }, | |
179 { "cp874", MSGTR_PREFERENCES_FontEncoding20 }, | |
180 { NULL,NULL } | |
181 }; | |
182 #endif | |
183 | |
184 static int old_audio_driver = 0; | |
185 static char * ao_driver[3]; | |
186 static char * vo_driver[3]; | |
187 static int old_video_driver = 0; | |
188 | |
36003
8fea01665c83
Remove HidePreferences(), HideAudioConfig() and HideDXR3Config().
ib
parents:
35996
diff
changeset
|
189 static GtkWidget *AudioConfig; |
8fea01665c83
Remove HidePreferences(), HideAudioConfig() and HideDXR3Config().
ib
parents:
35996
diff
changeset
|
190 |
33572 | 191 void ShowDXR3Config( void ); |
192 void ShowAudioConfig( void ); | |
193 | |
34466
a650895d50a5
Use correct data types and common variable names in GTK callback functions.
ib
parents:
34454
diff
changeset
|
194 static gboolean prHScaler( GtkWidget * widget,GdkEvent * event,gpointer user_data ); |
33572 | 195 static void prToggled( GtkToggleButton * togglebutton,gpointer user_data ); |
196 static void prCListRow( GtkCList * clist,gint row,gint column,GdkEvent * event,gpointer user_data ); | |
197 #if defined(CONFIG_FREETYPE) || defined(CONFIG_ICONV) | |
34466
a650895d50a5
Use correct data types and common variable names in GTK callback functions.
ib
parents:
34454
diff
changeset
|
198 static void prEntry( GtkEditable * editable,gpointer user_data ); |
33572 | 199 #endif |
200 | |
201 #if defined(CONFIG_FREETYPE) || defined(CONFIG_ICONV) | |
34466
a650895d50a5
Use correct data types and common variable names in GTK callback functions.
ib
parents:
34454
diff
changeset
|
202 static void prEntry( GtkEditable * editable,gpointer user_data ) |
33572 | 203 { |
204 const char * comment; | |
205 int i; | |
206 | |
207 switch( (int)user_data ) | |
208 { | |
209 #ifdef CONFIG_FREETYPE | |
210 case 0: // font encoding | |
211 comment=gtk_entry_get_text( GTK_ENTRY( EFontEncoding ) ); | |
212 for ( i=0;lEncoding[i].name;i++ ) | |
213 if ( !gstrcmp( lEncoding[i].comment,comment ) ) break; | |
33766 | 214 if ( lEncoding[i].comment ) mplayer( MPLAYER_SET_FONT_ENCODING,0,lEncoding[i].name ); |
33572 | 215 break; |
216 #endif | |
217 #ifdef CONFIG_ICONV | |
218 case 1: // sub encoding | |
219 comment=gtk_entry_get_text( GTK_ENTRY( ESubEncoding ) ); | |
220 for ( i=0;lEncoding[i].name;i++ ) | |
221 if ( !gstrcmp( lEncoding[i].comment,comment ) ) break; | |
33766 | 222 if ( lEncoding[i].comment ) mplayer( MPLAYER_SET_SUB_ENCODING,0,lEncoding[i].name ); |
223 else mplayer( MPLAYER_SET_SUB_ENCODING,0,NULL ); | |
33572 | 224 break; |
225 #endif | |
226 } | |
227 } | |
228 #endif | |
229 | |
230 #define bAConfig 0 | |
231 #define bVconfig 1 | |
232 #define bOk 2 | |
233 #define bCancel 3 | |
234 #define bLSubtitle 4 | |
235 #define bLFont 5 | |
236 | |
237 static void prButton( GtkButton * button, gpointer user_data ) | |
238 { | |
239 switch ( (int)user_data ) | |
240 { | |
241 case bOk: | |
34684 | 242 /* 1st page */ |
33572 | 243 gtkEnableAudioEqualizer=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBAudioEqualizer ) ); |
244 gtkAOExtraStereo=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBExtraStereo ) ); | |
245 gtkAONorm=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBNormalize ) ); | |
246 soft_vol=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBSoftwareMixer ) ); | |
33769 | 247 mplayer( MPLAYER_SET_EXTRA_STEREO,HSExtraStereoMuladj->value,0 ); |
33572 | 248 audio_delay=HSAudioDelayadj->value; |
249 | |
34610 | 250 listSet( &audio_driver_list,ao_driver[0] ); |
251 listSet( &video_driver_list,vo_driver[0] ); | |
33572 | 252 |
34684 | 253 /* 2nd page */ |
33572 | 254 vo_doublebuffering=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBDoubleBuffer ) ); |
255 vo_directrendering=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBDR ) ); | |
256 | |
257 frame_dropping=0; | |
258 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBFramedrop ) ) == TRUE ) frame_dropping=1; | |
259 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBHFramedrop ) ) == TRUE ) frame_dropping=2; | |
260 | |
261 flip=-1; | |
262 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBFlip ) ) ) flip=1; | |
263 | |
264 force_fps=HSFPSadj->value; | |
265 | |
34684 | 266 /* 3rd page */ |
33572 | 267 suboverlap_enabled=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBSubOverlap ) ); |
268 sub_auto=!gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBNoAutoSub ) ); | |
269 gtkSubDumpMPSub=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBDumpMPSub ) ); | |
270 gtkSubDumpSrt=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBDumpSrt ) ); | |
271 sub_unicode=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBSubUnicode ) ); | |
272 #ifdef CONFIG_ASS | |
273 gtkASS.enabled=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBUseASS ) ); | |
274 gtkASS.use_margins=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBASSUseMargins ) ); | |
275 gtkASS.top_margin=gtk_spin_button_get_value_as_int( GTK_SPIN_BUTTON( SBASSTopMargin ) ); | |
276 gtkASS.bottom_margin=gtk_spin_button_get_value_as_int( GTK_SPIN_BUTTON( SBASSBottomMargin ) ); | |
277 #endif | |
278 sub_delay=HSSubDelayadj->value; | |
279 sub_fps=HSSubFPSadj->value; | |
280 sub_pos=(int)HSSubPositionadj->value; | |
281 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBOSDNone ) ) ) osd_level=0; | |
282 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBOSDIndicator ) ) ) osd_level=1; | |
283 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBOSDTandP ) ) ) osd_level=2; | |
284 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBOSDTPTT ) ) ) osd_level=3; | |
285 | |
286 | |
34684 | 287 /* 4th page */ |
33740
2c02269701bd
Remove macros guiSetFilename() and guiSetDF() from interface.h.
ib
parents:
33739
diff
changeset
|
288 setdup( &font_name,gtk_entry_get_text( GTK_ENTRY( prEFontName ) ) ); |
33572 | 289 #ifndef CONFIG_FREETYPE |
33769 | 290 mplayer( MPLAYER_SET_FONT_FACTOR,HSFontFactoradj->value,0 ); |
33572 | 291 #else |
33769 | 292 mplayer( MPLAYER_SET_FONT_BLUR,HSFontBluradj->value,0 ); |
293 mplayer( MPLAYER_SET_FONT_OUTLINE,HSFontOutLineadj->value,0 ); | |
294 mplayer( MPLAYER_SET_FONT_TEXTSCALE,HSFontTextScaleadj->value,0 ); | |
295 mplayer( MPLAYER_SET_FONT_OSDSCALE,HSFontOSDScaleadj->value,0 ); | |
296 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBFontNoAutoScale ) ) ) mplayer( MPLAYER_SET_FONT_AUTOSCALE,0,0 ); | |
297 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleHeight ) ) ) mplayer( MPLAYER_SET_FONT_AUTOSCALE,1,0 ); | |
298 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleWidth ) ) ) mplayer( MPLAYER_SET_FONT_AUTOSCALE,2,0 ); | |
299 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleDiagonal ) ) ) mplayer( MPLAYER_SET_FONT_AUTOSCALE,3,0 ); | |
33572 | 300 #endif |
301 | |
34684 | 302 /* -- 5th page */ |
33572 | 303 force_ni=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBNonInterlaved ) ); |
304 index_mode=-1; | |
305 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBIndex ) ) ) index_mode=1; | |
306 | |
307 { | |
308 int i; | |
309 const char * tmp = gtk_entry_get_text( GTK_ENTRY( EVFM ) ); | |
310 for( i=0;mpcodecs_vd_drivers[i];i++ ) | |
311 if ( !gstrcmp( tmp,(char *)mpcodecs_vd_drivers[i]->info->name ) ) | |
34610 | 312 { listSet( &video_fm_list,(char *)mpcodecs_vd_drivers[i]->info->short_name ); break; } |
33572 | 313 } |
314 | |
315 { | |
316 int i; | |
317 const char * tmp = gtk_entry_get_text( GTK_ENTRY( EAFM ) ); | |
318 for( i=0;mpcodecs_ad_drivers[i];i++ ) | |
319 if ( !gstrcmp( tmp,(char *)mpcodecs_ad_drivers[i]->info->name ) ) | |
34610 | 320 { listSet( &audio_fm_list,(char *)mpcodecs_ad_drivers[i]->info->short_name ); break; } |
33572 | 321 } |
322 | |
34684 | 323 /* 6th page */ |
33572 | 324 gtkVfPP=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBPostprocess ) ); |
325 gtkLoadFullscreen=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBLoadFullscreen ) ); | |
326 gui_save_pos=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBSaveWinPos ) ); | |
327 gtkShowVideoWindow=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBShowVideoWindow ) ); | |
328 stop_xscreensaver=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBStopXScreenSaver ) ); | |
329 gtkEnablePlayBar=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBPlayBar ) ); | |
330 player_idle_mode=!gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBNoIdle ) ); | |
33769 | 331 mplayer( MPLAYER_SET_AUTO_QUALITY,HSPPQualityadj->value,0 ); |
33572 | 332 |
35493 | 333 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBCache ) ) ) { gtkCacheSize=(int)SBCacheadj->value; gtkCacheOn=True; } |
334 else gtkCacheOn=False; | |
33572 | 335 |
35493 | 336 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBAutoSync ) ) ) { gtkAutoSync=(int)SBAutoSyncadj->value; gtkAutoSyncOn=True; } |
337 else gtkAutoSyncOn=False; | |
33572 | 338 |
33740
2c02269701bd
Remove macros guiSetFilename() and guiSetDF() from interface.h.
ib
parents:
33739
diff
changeset
|
339 setdup( &dvd_device,gtk_entry_get_text( GTK_ENTRY( prEDVDDevice ) ) ); |
2c02269701bd
Remove macros guiSetFilename() and guiSetDF() from interface.h.
ib
parents:
33739
diff
changeset
|
340 setdup( &cdrom_device,gtk_entry_get_text( GTK_ENTRY( prECDRomDevice ) ) ); |
33572 | 341 |
342 case bCancel: | |
36003
8fea01665c83
Remove HidePreferences(), HideAudioConfig() and HideDXR3Config().
ib
parents:
35996
diff
changeset
|
343 gtk_widget_destroy( Preferences ); |
8fea01665c83
Remove HidePreferences(), HideAudioConfig() and HideDXR3Config().
ib
parents:
35996
diff
changeset
|
344 Preferences=NULL; |
8fea01665c83
Remove HidePreferences(), HideAudioConfig() and HideDXR3Config().
ib
parents:
35996
diff
changeset
|
345 if ( AudioConfig ) |
8fea01665c83
Remove HidePreferences(), HideAudioConfig() and HideDXR3Config().
ib
parents:
35996
diff
changeset
|
346 { |
8fea01665c83
Remove HidePreferences(), HideAudioConfig() and HideDXR3Config().
ib
parents:
35996
diff
changeset
|
347 gtk_widget_destroy( AudioConfig ); |
8fea01665c83
Remove HidePreferences(), HideAudioConfig() and HideDXR3Config().
ib
parents:
35996
diff
changeset
|
348 AudioConfig=NULL; |
8fea01665c83
Remove HidePreferences(), HideAudioConfig() and HideDXR3Config().
ib
parents:
35996
diff
changeset
|
349 } |
8fea01665c83
Remove HidePreferences(), HideAudioConfig() and HideDXR3Config().
ib
parents:
35996
diff
changeset
|
350 #ifdef CONFIG_DXR3 |
8fea01665c83
Remove HidePreferences(), HideAudioConfig() and HideDXR3Config().
ib
parents:
35996
diff
changeset
|
351 if ( DXR3Config ) |
8fea01665c83
Remove HidePreferences(), HideAudioConfig() and HideDXR3Config().
ib
parents:
35996
diff
changeset
|
352 { |
8fea01665c83
Remove HidePreferences(), HideAudioConfig() and HideDXR3Config().
ib
parents:
35996
diff
changeset
|
353 gtk_widget_destroy( DXR3Config ); |
8fea01665c83
Remove HidePreferences(), HideAudioConfig() and HideDXR3Config().
ib
parents:
35996
diff
changeset
|
354 DXR3Config=NULL; |
8fea01665c83
Remove HidePreferences(), HideAudioConfig() and HideDXR3Config().
ib
parents:
35996
diff
changeset
|
355 } |
8fea01665c83
Remove HidePreferences(), HideAudioConfig() and HideDXR3Config().
ib
parents:
35996
diff
changeset
|
356 #endif |
33572 | 357 break; |
358 case bAConfig: | |
359 if ( !ao_driver[0] ) break; | |
360 gtk_widget_set_sensitive( AConfig,FALSE ); | |
361 if ( !strncmp( ao_driver[0],"oss",3 ) || | |
362 !strncmp( ao_driver[0],"alsa",4 ) || | |
363 !strncmp( ao_driver[0],"esd",3 ) || | |
364 !strncmp( ao_driver[0],"sdl",3 ) ) { | |
365 ShowAudioConfig(); | |
366 gtk_widget_set_sensitive( AConfig,TRUE ); | |
367 } | |
368 break; | |
369 case bVconfig: | |
370 if ( !vo_driver[0] ) break; | |
371 gtk_widget_set_sensitive( VConfig,FALSE ); | |
372 #ifdef CONFIG_DXR3 | |
373 if ( !gstrcmp( vo_driver[0],"dxr3" ) ) { ShowDXR3Config(); gtk_widget_set_sensitive( VConfig,TRUE ); } | |
374 #endif | |
375 break; | |
376 #if 0 | |
377 case bLSubtitle: | |
378 break; | |
379 #endif | |
380 case bLFont: | |
35976 | 381 ShowFileSelector( FILESELECT_FONT ); |
35975 | 382 gtkSetLayer( FileSelector ); |
33572 | 383 break; |
384 } | |
385 } | |
386 | |
34466
a650895d50a5
Use correct data types and common variable names in GTK callback functions.
ib
parents:
34454
diff
changeset
|
387 static gboolean prHScaler( GtkWidget * widget,GdkEvent * event,gpointer user_data ) |
33572 | 388 { |
389 switch ( (int)user_data ) | |
390 { | |
391 case 0: // extra stereo coefficient | |
392 if ( !guiInfo.Playing ) break; | |
33769 | 393 mplayer( MPLAYER_SET_EXTRA_STEREO,HSExtraStereoMuladj->value,0 ); |
33572 | 394 break; |
395 case 1: // audio delay | |
396 audio_delay=HSAudioDelayadj->value; | |
397 break; | |
398 case 2: // panscan | |
33769 | 399 mplayer( MPLAYER_SET_PANSCAN,HSPanscanadj->value,0 ); |
33572 | 400 break; |
401 case 3: // sub delay | |
402 sub_delay=HSSubDelayadj->value; | |
403 break; | |
404 case 4: // sub position | |
405 sub_pos=(int)HSSubPositionadj->value; | |
406 break; | |
407 #ifndef CONFIG_FREETYPE | |
408 case 5: // font factor | |
33769 | 409 mplayer( MPLAYER_SET_FONT_FACTOR,HSFontFactoradj->value,0 ); |
33572 | 410 break; |
411 #else | |
412 case 6: // font blur | |
33769 | 413 mplayer( MPLAYER_SET_FONT_BLUR,HSFontBluradj->value,0 ); |
33572 | 414 break; |
415 case 7: // font outline | |
33769 | 416 mplayer( MPLAYER_SET_FONT_OUTLINE,HSFontOutLineadj->value,0 ); |
33572 | 417 break; |
418 case 8: // text scale | |
33769 | 419 mplayer( MPLAYER_SET_FONT_TEXTSCALE,HSFontTextScaleadj->value,0 ); |
33572 | 420 break; |
421 case 9: // osd scale | |
33769 | 422 mplayer( MPLAYER_SET_FONT_OSDSCALE,HSFontOSDScaleadj->value,0 ); |
33572 | 423 break; |
424 #endif | |
425 case 10: // auto quality | |
33769 | 426 mplayer( MPLAYER_SET_AUTO_QUALITY,HSPPQualityadj->value,0 ); |
33572 | 427 break; |
428 } | |
429 return FALSE; | |
430 } | |
431 | |
432 static void prToggled( GtkToggleButton * togglebutton,gpointer user_data ) | |
433 { | |
434 int window; | |
435 switch ( (int)user_data ) | |
436 { | |
437 case 0: // extra stereo coefficient | |
438 if ( guiInfo.Playing ) | |
439 gtk_widget_set_sensitive( HSExtraStereoMul,gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBExtraStereo ) ) ); | |
440 break; | |
441 // case 1: // normalize | |
442 // case 2: // equalizer | |
443 // if ( guiInfo.Playing ) gtkMessageBox( GTK_MB_WARNING,"Please remember, this function need restart the playing." ); | |
444 // break; | |
445 case 3: | |
446 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBShowVideoWindow ) ) ) | |
447 { | |
448 window=wsShowWindow; | |
449 gtkActive( Preferences ); | |
450 } else window=wsHideWindow; | |
33941
8beec562ce0e
Remove dependency between gtkShowVideoWindow and gtkLoadFullscreen
ib
parents:
33938
diff
changeset
|
451 // NOTE TO MYSELF: doesn't work with a fullscreen window |
35681
80c5c89f77d6
Cosmetic: Rename ws functions for the sake of consistency.
ib
parents:
35529
diff
changeset
|
452 if ( !guiInfo.Playing ) wsWindowVisibility( &guiApp.videoWindow,window ); |
33572 | 453 break; |
454 case 4: | |
455 case 5: | |
456 case 6: | |
457 case 7: | |
33769 | 458 mplayer( MPLAYER_SET_FONT_AUTOSCALE,(int)user_data - 4,0 ); |
33572 | 459 break; |
460 case 8: | |
461 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBCache ) ) ) gtk_widget_set_sensitive( SBCache,TRUE ); | |
462 else gtk_widget_set_sensitive( SBCache,FALSE ); | |
463 break; | |
464 case 9: | |
465 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBAutoSync ) ) ) gtk_widget_set_sensitive( SBAutoSync,TRUE ); | |
466 else gtk_widget_set_sensitive( SBAutoSync,FALSE ); | |
467 break; | |
468 #ifdef CONFIG_ASS | |
469 case 10: | |
470 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBUseASS ) ) ) | |
471 { | |
472 gtk_widget_set_sensitive( CBASSUseMargins,TRUE ); | |
473 gtk_widget_set_sensitive( SBASSTopMargin,TRUE ); | |
474 gtk_widget_set_sensitive( SBASSBottomMargin,TRUE ); | |
475 } | |
476 else | |
477 { | |
478 gtk_widget_set_sensitive( CBASSUseMargins,FALSE ); | |
479 gtk_widget_set_sensitive( SBASSTopMargin,FALSE ); | |
480 gtk_widget_set_sensitive( SBASSBottomMargin,FALSE ); | |
481 } | |
482 break; | |
483 #endif | |
484 } | |
485 } | |
486 | |
487 static void prCListRow( GtkCList * clist,gint row,gint column,GdkEvent * event,gpointer user_data ) | |
488 { | |
489 switch ( (int)user_data ) | |
490 { | |
491 case 0: // audio driver | |
492 gtk_clist_get_text( GTK_CLIST( CLADrivers ),row,0,(char **)&ao_driver ); | |
493 gtk_widget_set_sensitive( AConfig,FALSE ); | |
494 if ( !strncmp( ao_driver[0],"oss",3 ) || | |
495 !strncmp( ao_driver[0],"alsa",4 ) || | |
496 !strncmp( ao_driver[0],"esd",3 ) || | |
497 !strncmp( ao_driver[0],"sdl",3 ) ) | |
498 gtk_widget_set_sensitive( AConfig,TRUE ); | |
499 #ifndef CONFIG_GTK2 | |
500 if ( !strncmp( ao_driver[0],"arts",4 ) ) | |
501 gtkMessageBox(GTK_MB_WARNING|GTK_MB_SIMPLE, MSGTR_PREFERENCES_ArtsBroken); | |
502 #endif | |
503 break; | |
504 case 1: // video driver | |
505 gtk_clist_get_text( GTK_CLIST( CLVDrivers ),row,0,(char **)&vo_driver ); | |
506 gtk_widget_set_sensitive( VConfig,FALSE ); | |
507 #ifdef CONFIG_DXR3 | |
508 if ( !gstrcmp( vo_driver[0],"dxr3" ) ) gtk_widget_set_sensitive( VConfig,TRUE ); | |
509 #endif | |
510 break; | |
511 } | |
512 } | |
513 | |
35996 | 514 static GtkWidget * CreatePreferences( void ) |
33572 | 515 { |
516 GtkWidget * label; | |
517 GtkWidget * frame; | |
518 | |
519 GtkWidget * vbox1; | |
520 GtkWidget * notebook1; | |
521 GtkWidget * hbox1; | |
522 GtkWidget * vbox2; | |
523 GtkWidget * scrolledwindow3; | |
524 GtkWidget * vbox3; | |
525 GtkWidget * hbox8; | |
526 GtkWidget * hbox2; | |
527 GtkWidget * vbox4; | |
528 GtkWidget * scrolledwindow2; | |
529 GtkWidget * hbuttonbox3; | |
530 GtkWidget * vbox5; | |
531 GtkWidget * vbox6; | |
532 GtkWidget * vbox600; | |
533 GSList * OSD_group = NULL; | |
534 #ifdef CONFIG_ICONV | |
535 GSList * Font_group = NULL; | |
536 GList * CBFontEncoding_items = NULL; | |
537 GList * CBSubEncoding_items = NULL; | |
538 #endif | |
539 GtkWidget * vbox7; | |
540 GtkWidget * vbox8; | |
541 GtkWidget * table1; | |
542 GtkWidget * vbox9; | |
543 GtkWidget * vbox603; | |
544 GtkWidget * hbox6; | |
545 GtkWidget * hbuttonbox5; | |
546 #ifndef CONFIG_FREETYPE | |
547 GtkWidget * hbox7; | |
548 #endif | |
549 GtkWidget * vbox601; | |
550 GtkWidget * vbox602; | |
551 GtkWidget * hbox5; | |
552 GtkWidget * hbuttonbox1; | |
553 GtkAccelGroup * accel_group; | |
554 | |
555 GtkWidget * hbox9; | |
556 GtkWidget * hbox91; | |
557 GtkWidget * hbox92; | |
558 | |
559 accel_group=gtk_accel_group_new(); | |
560 | |
561 Preferences=gtk_window_new( GTK_WINDOW_TOPLEVEL ); | |
562 gtk_widget_set_name( Preferences,"Preferences" ); | |
563 gtk_object_set_data( GTK_OBJECT( Preferences ),"Preferences",Preferences ); | |
564 gtk_window_set_title( GTK_WINDOW( Preferences ),MSGTR_Preferences ); | |
565 gtk_window_set_position( GTK_WINDOW( Preferences ),GTK_WIN_POS_CENTER ); | |
566 // gtk_window_set_policy( GTK_WINDOW( Preferences ),FALSE,FALSE,FALSE ); | |
567 gtk_window_set_wmclass( GTK_WINDOW( Preferences ),"Preferences","MPlayer" ); | |
568 | |
569 gtk_widget_realize( Preferences ); | |
570 gtkAddIcon( Preferences ); | |
571 | |
572 vbox1=AddVBox( AddDialogFrame( Preferences ),0 ); | |
573 notebook1=gtk_notebook_new(); | |
574 gtk_widget_set_name( notebook1,"notebook1" ); | |
575 gtk_widget_show( notebook1 ); | |
576 gtk_box_pack_start( GTK_BOX( vbox1 ),notebook1,TRUE,TRUE,0 ); | |
577 | |
578 hbox1=AddVBox( notebook1,0 ); | |
579 | |
580 frame=AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,hbox1,1 ); | |
581 frame=AddFrame( NULL,GTK_SHADOW_NONE,frame,1 ); | |
582 | |
34684 | 583 /* 1st page */ |
33572 | 584 |
585 vbox2=AddVBox( frame,0 ); | |
586 | |
587 scrolledwindow3=gtk_scrolled_window_new( NULL,NULL ); | |
588 gtk_widget_set_name( scrolledwindow3,"scrolledwindow3" ); | |
589 gtk_widget_show( scrolledwindow3 ); | |
590 gtk_box_pack_start( GTK_BOX( vbox2 ),scrolledwindow3,TRUE,TRUE,0 ); | |
591 gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow3 ),GTK_POLICY_NEVER,GTK_POLICY_AUTOMATIC ); | |
592 | |
593 CLADrivers=gtk_clist_new( 2 ); | |
594 gtk_widget_set_name( CLADrivers,"CLADrivers" ); | |
595 gtk_widget_show( CLADrivers ); | |
596 gtk_container_add( GTK_CONTAINER( scrolledwindow3 ),CLADrivers ); | |
597 gtk_clist_set_column_width( GTK_CLIST( CLADrivers ),0,50 ); | |
598 gtk_clist_column_titles_show( GTK_CLIST( CLADrivers ) ); | |
599 gtk_clist_set_shadow_type( GTK_CLIST( CLADrivers ),GTK_SHADOW_NONE ); | |
600 gtk_widget_set_usize( CLADrivers,250,-2 ); | |
601 gtk_clist_set_column_widget( GTK_CLIST( CLADrivers ),0, | |
602 AddLabel( MSGTR_PREFERENCES_AvailableDrivers,NULL ) ); | |
603 | |
604 AConfig=AddButton( MSGTR_ConfigDriver, | |
605 AddHButtonBox( vbox2 ) ); | |
606 | |
607 vbox3=AddVBox( | |
608 AddFrame( NULL,GTK_SHADOW_NONE, | |
609 AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,hbox1,0 ),1 ),0 ); | |
610 gtk_widget_set_usize( vbox3,250,-2 ); | |
611 | |
612 CBNormalize=AddCheckButton( MSGTR_PREFERENCES_NormalizeSound,vbox3 ); | |
613 CBAudioEqualizer=AddCheckButton( MSGTR_PREFERENCES_EnableEqualizer,vbox3 ); | |
614 CBSoftwareMixer=AddCheckButton( MSGTR_PREFERENCES_SoftwareMixer,vbox3 ); | |
615 #if 0 | |
616 CBSurround=AddCheckButton( "Enable surround",vbox3 ); | |
617 #endif | |
618 | |
619 AddHSeparator( vbox3 ); | |
620 CBExtraStereo=AddCheckButton( MSGTR_PREFERENCES_ExtraStereo,vbox3 ); | |
621 hbox8=AddHBox( vbox3,1 ); | |
35402 | 622 /*label=*/AddLabel( MSGTR_PREFERENCES_Coefficient,hbox8 ); |
33572 | 623 // gtk_misc_set_padding( GTK_MISC( label ),20,0 ); |
624 HSExtraStereoMuladj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-10,10,0.1,0,0 ) ); | |
625 HSExtraStereoMul=AddHScaler( HSExtraStereoMuladj,hbox8,1 ); | |
626 AddHSeparator( vbox3 ); | |
627 | |
628 hbox8=AddHBox( vbox3,1 ); | |
629 AddLabel( MSGTR_PREFERENCES_AudioDelay,hbox8 ); | |
630 | |
631 HSAudioDelayadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-10,10,0.01,0,0 ) ); | |
632 HSAudioDelay=AddHScaler( HSAudioDelayadj,hbox8,2 ); | |
633 label=AddLabel( MSGTR_PREFERENCES_Audio,NULL ); | |
634 gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),0 ),label ); | |
635 | |
34684 | 636 /* 2nd page */ |
33572 | 637 |
638 hbox2=AddVBox( notebook1,0 ); | |
639 | |
640 vbox4=AddVBox( | |
641 AddFrame( NULL,GTK_SHADOW_NONE, | |
642 AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,hbox2,1 ),1 ),0 ); | |
643 | |
644 scrolledwindow2=gtk_scrolled_window_new( NULL,NULL ); | |
645 gtk_widget_set_name( scrolledwindow2,"scrolledwindow2" ); | |
646 gtk_widget_show( scrolledwindow2 ); | |
647 gtk_box_pack_start( GTK_BOX( vbox4 ),scrolledwindow2,TRUE,TRUE,0 ); | |
648 gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow2 ),GTK_POLICY_NEVER,GTK_POLICY_AUTOMATIC ); | |
649 | |
650 CLVDrivers=gtk_clist_new( 2 ); | |
651 gtk_widget_set_name( CLVDrivers,"CLVDrivers" ); | |
652 gtk_widget_show( CLVDrivers ); | |
653 gtk_container_add( GTK_CONTAINER( scrolledwindow2 ),CLVDrivers ); | |
654 gtk_clist_set_column_width( GTK_CLIST( CLVDrivers ),0,50 ); | |
655 gtk_clist_column_titles_show( GTK_CLIST( CLVDrivers ) ); | |
656 gtk_clist_set_shadow_type( GTK_CLIST( CLVDrivers ),GTK_SHADOW_NONE ); | |
657 gtk_widget_set_usize( CLVDrivers,250,-2 ); | |
658 | |
659 label=AddLabel( MSGTR_PREFERENCES_AvailableDrivers,NULL ); | |
660 gtk_clist_set_column_widget( GTK_CLIST( CLVDrivers ),0,label ); | |
661 | |
662 hbuttonbox3=AddHButtonBox( vbox4 ); | |
663 VConfig=AddButton( MSGTR_ConfigDriver,hbuttonbox3 ); | |
664 | |
665 vbox5=AddVBox( | |
666 AddFrame( NULL,GTK_SHADOW_NONE, | |
667 AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,hbox2,0 ),1 ),0 ); | |
668 gtk_widget_set_usize( vbox5,250,-2 ); | |
669 | |
670 CBDoubleBuffer=AddCheckButton( MSGTR_PREFERENCES_DoubleBuffer,vbox5 ); | |
671 CBDR=AddCheckButton( MSGTR_PREFERENCES_DirectRender,vbox5 ); | |
672 CBFramedrop=AddCheckButton( MSGTR_PREFERENCES_FrameDrop,vbox5 ); | |
673 CBHFramedrop=AddCheckButton( MSGTR_PREFERENCES_HFrameDrop,vbox5 ); | |
674 CBFlip=AddCheckButton( MSGTR_PREFERENCES_Flip,vbox5 ); | |
675 | |
676 table1=gtk_table_new( 3,2,FALSE ); | |
677 gtk_widget_set_name( table1,"table1" ); | |
678 gtk_widget_show( table1 ); | |
679 gtk_box_pack_start( GTK_BOX( vbox5 ),table1,FALSE,FALSE,0 ); | |
680 | |
681 label=AddLabel( MSGTR_PREFERENCES_Panscan,NULL ); | |
682 gtk_table_attach( GTK_TABLE( table1 ),label,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
683 | |
684 label=AddLabel( MSGTR_PREFERENCES_FPS,NULL ); | |
685 gtk_table_attach( GTK_TABLE( table1 ),label,0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
686 | |
687 HSPanscanadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,1,0.001,0,0 ) ); | |
688 HSPanscan=AddHScaler( HSPanscanadj,NULL,1 ); | |
689 gtk_table_attach( GTK_TABLE( table1 ),HSPanscan,1,2,0,1,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
690 | |
691 HSFPSadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,1000,0.001,0,0 ) ); | |
692 HSFPS=gtk_spin_button_new( GTK_ADJUSTMENT( HSFPSadj ),1,3 ); | |
693 gtk_widget_set_name( HSFPS,"HSFPS" ); | |
694 gtk_widget_show( HSFPS ); | |
695 gtk_spin_button_set_numeric( GTK_SPIN_BUTTON( HSFPS ),TRUE ); | |
696 gtk_table_attach( GTK_TABLE( table1 ),HSFPS,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
697 | |
698 label=AddLabel( MSGTR_PREFERENCES_Video,NULL ); | |
699 gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),1 ),label ); | |
700 | |
34684 | 701 /* 3rd page */ |
33572 | 702 |
703 vbox6=AddVBox( notebook1,0 ); | |
704 | |
705 vbox600=AddVBox( | |
706 AddFrame( NULL,GTK_SHADOW_NONE, | |
707 AddFrame( MSGTR_PREFERENCES_FRAME_OSD_Level,GTK_SHADOW_ETCHED_OUT,vbox6,0 ),1 ),0 ); | |
708 | |
33778 | 709 RBOSDNone=AddRadioButton( MSGTR_PREFERENCES_OSD_LEVEL0,&OSD_group,vbox600 ); |
710 RBOSDIndicator=AddRadioButton( MSGTR_PREFERENCES_OSD_LEVEL1,&OSD_group,vbox600 ); | |
711 RBOSDTandP=AddRadioButton( MSGTR_PREFERENCES_OSD_LEVEL2,&OSD_group,vbox600 ); | |
712 RBOSDTPTT=AddRadioButton( MSGTR_PREFERENCES_OSD_LEVEL3,&OSD_group,vbox600 ); | |
33572 | 713 |
714 vbox7=AddVBox( | |
715 AddFrame( NULL,GTK_SHADOW_NONE, | |
716 AddFrame( MSGTR_PREFERENCES_FRAME_Subtitle,GTK_SHADOW_ETCHED_OUT,vbox6,0 ),1 ),0 ); | |
717 | |
718 #if 0 | |
719 hbox4=AddHBox( vbox7,1 ); | |
720 | |
721 AddLabel( MSGTR_PREFERENCES_Subtitle,hbox4 ); | |
722 | |
723 ESubtitleName=gtk_entry_new(); | |
724 gtk_widget_set_name( ESubtitleName,"ESubtitleName" ); | |
725 gtk_widget_show( ESubtitleName ); | |
726 gtk_box_pack_start( GTK_BOX( hbox4 ),ESubtitleName,TRUE,TRUE,0 ); | |
727 | |
728 hbuttonbox4=AddHButtonBox( hbuttonbox4 ); | |
729 gtk_container_set_border_width( GTK_CONTAINER( hbuttonbox4 ),3 ); | |
730 BLoadSubtitle=AddButton( MSGTR_Browse,hbuttonbox4 ); | |
731 #endif | |
732 | |
733 vbox8=AddVBox( vbox7,0 ); | |
734 | |
735 table1=gtk_table_new( 3,2,FALSE ); | |
736 gtk_widget_set_name( table1,"table1" ); | |
737 gtk_widget_show( table1 ); | |
738 gtk_box_pack_start( GTK_BOX( vbox8 ),table1,FALSE,FALSE,0 ); | |
739 | |
740 label=AddLabel( MSGTR_PREFERENCES_SUB_Delay,NULL ); | |
741 gtk_table_attach( GTK_TABLE( table1 ),label,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
742 | |
743 label=AddLabel( MSGTR_PREFERENCES_SUB_POS,NULL ); | |
744 gtk_table_attach( GTK_TABLE( table1 ),label,0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
745 | |
746 label=AddLabel( MSGTR_PREFERENCES_SUB_FPS,NULL ); | |
747 gtk_table_attach( GTK_TABLE( table1 ),label,0,1,2,3,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
748 | |
749 #ifdef CONFIG_ICONV | |
750 label=AddLabel( MSGTR_PREFERENCES_FontEncoding,NULL ); | |
751 gtk_table_attach( GTK_TABLE( table1 ),label,0,1,3,4,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
752 #endif | |
753 | |
754 HSSubDelayadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-10.0,10,0.01,0,0 ) ); | |
755 HSSubDelay=AddHScaler( HSSubDelayadj,NULL,1 ); | |
756 gtk_table_attach( GTK_TABLE( table1 ),HSSubDelay,1,2,0,1,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
757 | |
758 HSSubPositionadj=GTK_ADJUSTMENT( gtk_adjustment_new( 100,0,100,1,0,0 ) ); | |
759 HSSubPosition=AddHScaler( HSSubPositionadj,NULL,0 ); | |
760 gtk_table_attach( GTK_TABLE( table1 ),HSSubPosition,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
761 | |
762 HSSubFPSadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.01,0,0 ) ); | |
763 HSSubFPS=gtk_spin_button_new( GTK_ADJUSTMENT( HSSubFPSadj ),1,3 ); | |
764 gtk_widget_set_name( HSSubFPS,"HSSubFPS" ); | |
765 gtk_widget_show( HSSubFPS ); | |
766 gtk_widget_set_usize( HSSubFPS,60,-1 ); | |
767 gtk_spin_button_set_numeric( GTK_SPIN_BUTTON( HSSubFPS ),TRUE ); | |
768 gtk_table_attach( GTK_TABLE( table1 ),HSSubFPS,1,2,2,3,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
769 | |
770 #ifdef CONFIG_ICONV | |
771 CBSubEncoding=gtk_combo_new(); | |
772 gtk_widget_set_name( CBSubEncoding,"CBSubEncoding" ); | |
773 gtk_widget_show( CBSubEncoding ); | |
774 gtk_table_attach( GTK_TABLE( table1 ),CBSubEncoding,1,2,3,4,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
775 CBSubEncoding_items=g_list_append( CBSubEncoding_items,MSGTR_PREFERENCES_None ); | |
776 { | |
777 int i; | |
778 for ( i=0;lEncoding[i].name;i++ ) CBSubEncoding_items=g_list_append( CBSubEncoding_items,lEncoding[i].comment ); | |
779 } | |
780 gtk_combo_set_popdown_strings( GTK_COMBO( CBSubEncoding ),CBSubEncoding_items ); | |
781 g_list_free( CBSubEncoding_items ); | |
782 | |
783 ESubEncoding=GTK_COMBO( CBSubEncoding )->entry; | |
784 gtk_widget_set_name( ESubEncoding,"ESubEncoding" ); | |
785 gtk_entry_set_editable( GTK_ENTRY( ESubEncoding ),FALSE ); | |
786 gtk_widget_show( ESubEncoding ); | |
787 #endif | |
788 | |
789 vbox9=AddVBox( vbox8,0 ); | |
790 | |
791 CBSubOverlap=AddCheckButton( MSGTR_PREFERENCES_SUB_Overlap,vbox9 ); | |
792 CBNoAutoSub=AddCheckButton( MSGTR_PREFERENCES_SUB_AutoLoad,vbox9 ); | |
793 CBSubUnicode=AddCheckButton( MSGTR_PREFERENCES_SUB_Unicode,vbox9 ); | |
794 CBDumpMPSub=AddCheckButton( MSGTR_PREFERENCES_SUB_MPSUB,vbox9 ); | |
795 CBDumpSrt=AddCheckButton( MSGTR_PREFERENCES_SUB_SRT,vbox9 ); | |
796 | |
797 AddHSeparator( vbox9 ); | |
798 CBUseASS=AddCheckButton( MSGTR_PREFERENCES_SUB_USE_ASS,vbox9 ); | |
799 hbox9=AddHBox( vbox9,0 ); | |
800 CBASSUseMargins=AddCheckButton( MSGTR_PREFERENCES_SUB_ASS_USE_MARGINS,hbox9 ); | |
801 | |
802 hbox91=gtk_hbox_new( FALSE,0 ); | |
803 gtk_widget_set_name( hbox91,"hbox91" ); | |
804 gtk_box_pack_start( GTK_BOX( hbox9 ),hbox91,TRUE,FALSE,0 ); | |
805 gtk_widget_show( hbox91 ); | |
806 SBASSTopMargin=AddSpinButton( MSGTR_PREFERENCES_SUB_ASS_TOP_MARGIN, | |
807 (GtkAdjustment *)gtk_adjustment_new(0,0,512,1,8,0),hbox91 ); | |
808 | |
809 hbox92=gtk_hbox_new( FALSE,0 ); | |
810 gtk_widget_set_name( hbox92,"hbox92" ); | |
811 gtk_box_pack_start( GTK_BOX( hbox9 ),hbox92,TRUE,FALSE,0 ); | |
812 gtk_widget_show( hbox92 ); | |
813 SBASSBottomMargin=AddSpinButton( MSGTR_PREFERENCES_SUB_ASS_BOTTOM_MARGIN, | |
814 (GtkAdjustment *)gtk_adjustment_new(0,0,512,1,8,0),hbox92 ); | |
815 | |
816 label=AddLabel( MSGTR_PREFERENCES_SubtitleOSD,NULL ); | |
817 gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),2 ),label ); | |
818 vbox601=AddVBox( notebook1,0 ); | |
819 | |
34684 | 820 /* 4th page */ |
33572 | 821 |
822 vbox603=AddVBox( | |
823 AddFrame( NULL,GTK_SHADOW_NONE, | |
824 AddFrame( MSGTR_PREFERENCES_FRAME_Font,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 ); | |
825 | |
826 hbox6=AddHBox( vbox603,1 ); | |
827 AddLabel( MSGTR_PREFERENCES_Font,hbox6 ); | |
828 prEFontName=gtk_entry_new(); | |
829 gtk_widget_set_name( prEFontName,"prEFontName" ); | |
830 gtk_widget_show( prEFontName ); | |
831 gtk_box_pack_start( GTK_BOX( hbox6 ),prEFontName,TRUE,TRUE,0 ); | |
832 hbuttonbox5=AddHButtonBox( hbox6 ); | |
833 gtk_container_set_border_width( GTK_CONTAINER( hbuttonbox5 ),3 ); | |
834 BLoadFont=AddButton( MSGTR_Browse,hbuttonbox5 ); | |
835 | |
836 #ifndef CONFIG_FREETYPE | |
837 hbox7=AddHBox( vbox603,1 ); | |
838 AddLabel( MSGTR_PREFERENCES_FontFactor,hbox7 ); | |
839 HSFontFactoradj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,10,0.05,0,0 ) ); | |
840 HSFontFactor=AddHScaler( HSFontFactoradj,hbox7,2 ); | |
841 #else | |
842 | |
843 RBFontNoAutoScale=AddRadioButton( MSGTR_PREFERENCES_FontNoAutoScale,&Font_group,vbox603 ); | |
844 RBFontAutoScaleHeight=AddRadioButton( MSGTR_PREFERENCES_FontPropHeight,&Font_group,vbox603 ); | |
845 RBFontAutoScaleWidth=AddRadioButton( MSGTR_PREFERENCES_FontPropWidth,&Font_group,vbox603 ); | |
846 RBFontAutoScaleDiagonal=AddRadioButton( MSGTR_PREFERENCES_FontPropDiagonal,&Font_group,vbox603 ); | |
847 | |
848 table1=gtk_table_new( 3,2,FALSE ); | |
849 gtk_widget_set_name( table1,"table1" ); | |
850 gtk_widget_show( table1 ); | |
851 gtk_box_pack_start( GTK_BOX( vbox603 ),table1,FALSE,FALSE,0 ); | |
852 | |
853 label=AddLabel( MSGTR_PREFERENCES_FontEncoding,NULL ); | |
854 gtk_table_attach( GTK_TABLE( table1 ),label,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
855 | |
856 CBFontEncoding=gtk_combo_new(); | |
857 gtk_widget_set_name( CBFontEncoding,"CBFontEncoding" ); | |
858 gtk_widget_show( CBFontEncoding ); | |
859 gtk_table_attach( GTK_TABLE( table1 ),CBFontEncoding,1,2,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
860 { | |
861 int i; | |
862 for ( i=0;lEncoding[i].name;i++ ) CBFontEncoding_items=g_list_append( CBFontEncoding_items,lEncoding[i].comment ); | |
863 } | |
864 gtk_combo_set_popdown_strings( GTK_COMBO( CBFontEncoding ),CBFontEncoding_items ); | |
865 g_list_free( CBFontEncoding_items ); | |
866 | |
867 EFontEncoding=GTK_COMBO( CBFontEncoding )->entry; | |
868 gtk_widget_set_name( EFontEncoding,"EFontEncoding" ); | |
869 gtk_entry_set_editable( GTK_ENTRY( EFontEncoding ),FALSE ); | |
870 gtk_widget_show( EFontEncoding ); | |
871 | |
872 label=AddLabel( MSGTR_PREFERENCES_FontBlur,NULL ); | |
873 gtk_table_attach( GTK_TABLE( table1 ),label,0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
874 | |
875 HSFontBluradj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.1,0,0 ) ); | |
876 HSFontBlur=AddHScaler( HSFontBluradj,NULL,2 ); | |
877 gtk_table_attach( GTK_TABLE( table1 ),HSFontBlur,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
878 | |
879 label=AddLabel( MSGTR_PREFERENCES_FontOutLine,NULL ); | |
880 gtk_table_attach( GTK_TABLE( table1 ),label,0,1,2,3,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
881 | |
882 HSFontOutLineadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.1,0,0 ) ); | |
883 HSFontOutLine=AddHScaler( HSFontOutLineadj,NULL,2 ); | |
884 gtk_table_attach( GTK_TABLE( table1 ),HSFontOutLine,1,2,2,3,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
885 | |
886 label=AddLabel( MSGTR_PREFERENCES_FontTextScale,NULL ); | |
887 gtk_table_attach( GTK_TABLE( table1 ),label,0,1,3,4,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
888 | |
889 HSFontTextScaleadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.1,0,0 ) ); | |
890 HSFontTextScale=AddHScaler( HSFontTextScaleadj,NULL,2 ); | |
891 gtk_table_attach( GTK_TABLE( table1 ),HSFontTextScale,1,2,3,4,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
892 | |
893 label=AddLabel( MSGTR_PREFERENCES_FontOSDScale,NULL ); | |
894 gtk_table_attach( GTK_TABLE( table1 ),label,0,1,4,5,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
895 | |
896 HSFontOSDScaleadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.1,0,0 ) ); | |
897 HSFontOSDScale=AddHScaler( HSFontOSDScaleadj,NULL,2 ); | |
898 gtk_table_attach( GTK_TABLE( table1 ),HSFontOSDScale,1,2,4,5,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
899 #endif | |
900 | |
901 label=AddLabel( MSGTR_PREFERENCES_FRAME_Font,NULL ); | |
902 gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),3 ),label ); | |
903 | |
34684 | 904 /* 5th page */ |
33572 | 905 |
906 vbox601=AddVBox( notebook1,0 ); | |
907 | |
908 vbox602=AddVBox( | |
909 AddFrame( NULL,GTK_SHADOW_NONE, | |
910 AddFrame( MSGTR_PREFERENCES_FRAME_CodecDemuxer,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 ); | |
911 | |
912 CBNonInterlaved=AddCheckButton( MSGTR_PREFERENCES_NI,vbox602 ); | |
913 CBIndex=AddCheckButton( MSGTR_PREFERENCES_IDX,vbox602 ); | |
914 | |
915 hbox5=AddHBox( vbox602,1 ); | |
916 | |
917 AddLabel( MSGTR_PREFERENCES_VideoCodecFamily,hbox5 ); | |
918 | |
919 CBVFM=gtk_combo_new(); | |
920 gtk_widget_set_name( CBVFM,"CBVFM" ); | |
921 gtk_widget_show( CBVFM ); | |
922 gtk_box_pack_start( GTK_BOX( hbox5 ),CBVFM,TRUE,TRUE,0 ); | |
923 | |
924 EVFM=GTK_COMBO( CBVFM )->entry; | |
925 gtk_widget_set_name( EVFM,"CEVFM" ); | |
926 gtk_entry_set_editable( GTK_ENTRY( EVFM ),FALSE ); | |
927 gtk_widget_show( EVFM ); | |
928 | |
929 hbox5=AddHBox( vbox602,1 ); | |
930 | |
931 AddLabel( MSGTR_PREFERENCES_AudioCodecFamily,hbox5 ); | |
932 | |
933 CBAFM=gtk_combo_new(); | |
934 gtk_widget_set_name( CBAFM,"CBAFM" ); | |
935 gtk_widget_show( CBAFM ); | |
936 gtk_box_pack_start( GTK_BOX( hbox5 ),CBAFM,TRUE,TRUE,0 ); | |
937 | |
938 EAFM=GTK_COMBO( CBAFM )->entry; | |
939 gtk_widget_set_name( EAFM,"EAFM" ); | |
940 gtk_entry_set_editable( GTK_ENTRY( EAFM ),FALSE ); | |
941 gtk_widget_show( EAFM ); | |
942 | |
943 label=AddLabel( MSGTR_PREFERENCES_Codecs,NULL ); | |
944 gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),4 ),label ); | |
945 | |
946 vbox601=AddVBox( notebook1,0 ); | |
947 | |
34684 | 948 /* 6th page */ |
33572 | 949 |
950 vbox602=AddVBox( | |
951 AddFrame( NULL,GTK_SHADOW_NONE, | |
952 AddFrame( MSGTR_PREFERENCES_FRAME_PostProcess,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 ); | |
953 | |
954 CBPostprocess=AddCheckButton( MSGTR_PREFERENCES_PostProcess,vbox602 ); | |
955 | |
956 hbox5=AddHBox( vbox602,1 ); | |
957 | |
958 AddLabel( MSGTR_PREFERENCES_AutoQuality,hbox5 ); | |
959 | |
960 if ( guiInfo.sh_video && guiInfo.Playing ) HSPPQualityadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,get_video_quality_max( guiInfo.sh_video ),0,0,0 ) ); | |
961 else HSPPQualityadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0,0,0 ) ); | |
962 HSPPQuality=AddHScaler( HSPPQualityadj,hbox5,0 ); | |
963 | |
964 vbox602=AddVBox( | |
965 AddFrame( NULL,GTK_SHADOW_NONE, | |
966 AddFrame( MSGTR_PREFERENCES_FRAME_Cache,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 ); | |
967 | |
968 CBCache=AddCheckButton( MSGTR_PREFERENCES_Cache,vbox602 ); | |
969 | |
970 hbox5=AddHBox( vbox602,1 ); | |
971 | |
972 AddLabel( MSGTR_PREFERENCES_CacheSize,hbox5 ); | |
973 | |
34707 | 974 SBCacheadj=GTK_ADJUSTMENT( gtk_adjustment_new( gtkCacheSize,32,0x7fffffff,1,32,0 ) ); |
33572 | 975 SBCache=gtk_spin_button_new( GTK_ADJUSTMENT( SBCacheadj ),1,0 ); |
976 gtk_widget_show( SBCache ); | |
977 gtk_box_pack_start( GTK_BOX( hbox5 ),SBCache,TRUE,TRUE,0 ); | |
978 | |
979 vbox602=AddVBox( | |
980 AddFrame( NULL,GTK_SHADOW_NONE, | |
981 AddFrame( MSGTR_PREFERENCES_FRAME_Misc,GTK_SHADOW_ETCHED_OUT,vbox601,1 ),1 ),0 ); | |
982 | |
983 CBShowVideoWindow=AddCheckButton( MSGTR_PREFERENCES_ShowVideoWindow,vbox602 ); | |
984 CBLoadFullscreen=AddCheckButton( MSGTR_PREFERENCES_LoadFullscreen,vbox602 ); | |
985 CBSaveWinPos=AddCheckButton( MSGTR_PREFERENCES_SaveWinPos,vbox602 ); | |
986 CBStopXScreenSaver=AddCheckButton( MSGTR_PREFERENCES_XSCREENSAVER,vbox602 ); | |
987 CBPlayBar=AddCheckButton( MSGTR_PREFERENCES_PlayBar,vbox602 ); | |
988 CBNoIdle=AddCheckButton( MSGTR_PREFERENCES_NoIdle,vbox602 ); | |
989 | |
990 AddHSeparator( vbox602 ); | |
991 | |
992 CBAutoSync=AddCheckButton( MSGTR_PREFERENCES_AutoSync,vbox602 ); | |
993 hbox5=AddHBox( vbox602,1 ); | |
994 AddLabel( MSGTR_PREFERENCES_AutoSyncValue,hbox5 ); | |
995 SBAutoSyncadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,10000,1,10,10 ) ); | |
996 SBAutoSync=gtk_spin_button_new( GTK_ADJUSTMENT( SBAutoSyncadj ),1,0 ); | |
997 gtk_widget_show( SBAutoSync ); | |
998 gtk_box_pack_start( GTK_BOX( hbox5 ),SBAutoSync,TRUE,TRUE,0 ); | |
999 | |
1000 AddHSeparator( vbox602 ); | |
1001 | |
1002 table1=gtk_table_new( 2,2,FALSE ); | |
1003 gtk_widget_set_name( table1,"table1" ); | |
1004 gtk_widget_show( table1 ); | |
1005 gtk_box_pack_start( GTK_BOX( vbox602 ),table1,FALSE,FALSE,0 ); | |
1006 | |
1007 label=AddLabel( MSGTR_PREFERENCES_DVDDevice,NULL ); | |
1008 gtk_table_attach( GTK_TABLE( table1 ),label,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
1009 prEDVDDevice=gtk_entry_new(); | |
1010 gtk_widget_set_name( prEDVDDevice,"prEDVDDevice" ); | |
1011 gtk_widget_show( prEDVDDevice ); | |
1012 gtk_table_attach( GTK_TABLE( table1 ),prEDVDDevice,1,2,0,1,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
1013 | |
1014 label=AddLabel( MSGTR_PREFERENCES_CDROMDevice,NULL ); | |
1015 gtk_table_attach( GTK_TABLE( table1 ),label,0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
1016 prECDRomDevice=gtk_entry_new(); | |
1017 gtk_widget_set_name( prECDRomDevice,"prECDRomDevice" ); | |
1018 gtk_widget_show( prECDRomDevice ); | |
1019 gtk_table_attach( GTK_TABLE( table1 ),prECDRomDevice,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
1020 | |
1021 // AddHSeparator( vbox602 ); | |
1022 | |
1023 label=AddLabel( MSGTR_PREFERENCES_Misc,NULL ); | |
1024 gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),5 ),label ); | |
1025 | |
34684 | 1026 /* --- */ |
33572 | 1027 |
1028 AddHSeparator( vbox1 ); | |
1029 | |
1030 hbuttonbox1=AddHButtonBox( vbox1 ); | |
1031 gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox1 ),GTK_BUTTONBOX_END ); | |
1032 gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),10 ); | |
1033 BOk=AddButton( MSGTR_Ok,hbuttonbox1 ); | |
1034 BCancel=AddButton( MSGTR_Cancel,hbuttonbox1 ); | |
1035 | |
1036 gtk_widget_add_accelerator( BOk,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); | |
1037 gtk_widget_add_accelerator( BCancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); | |
1038 | |
1039 gtk_signal_connect( GTK_OBJECT( Preferences ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&Preferences ); | |
1040 | |
1041 gtk_signal_connect( GTK_OBJECT( AConfig ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bAConfig ); | |
1042 gtk_signal_connect( GTK_OBJECT( BOk ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bOk ); | |
1043 gtk_signal_connect( GTK_OBJECT( BCancel ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bCancel ); | |
1044 gtk_signal_connect( GTK_OBJECT( VConfig ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bVconfig ); | |
1045 #if 0 | |
1046 gtk_signal_connect( GTK_OBJECT( BLoadSubtitle ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bLSubtitle ); | |
1047 #endif | |
1048 gtk_signal_connect( GTK_OBJECT( BLoadFont ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bLFont ); | |
1049 | |
1050 #if 0 | |
1051 gtk_signal_connect( GTK_OBJECT( CBNormalize ),"toggled",GTK_SIGNAL_FUNC( on_CBNormalize_toggled ),NULL ); | |
1052 gtk_signal_connect( GTK_OBJECT( CBSoftwareMixer ),"toggled",GTK_SIGNAL_FUNC( on_CBSoftwareMixer_toggled ),NULL ); | |
1053 gtk_signal_connect( GTK_OBJECT( CBSurround ),"toggled",GTK_SIGNAL_FUNC( on_CBSurround_toggled ),NULL ); | |
1054 gtk_signal_connect( GTK_OBJECT( CBExtraStereo ),"toggled",GTK_SIGNAL_FUNC( on_CBExtraStereo_toggled ),NULL ); | |
1055 gtk_signal_connect( GTK_OBJECT( CBDoubleBuffer ),"toggled",GTK_SIGNAL_FUNC( on_CBDoubleBuffer_toggled ),NULL ); | |
1056 gtk_signal_connect( GTK_OBJECT( CBDR ),"toggled",GTK_SIGNAL_FUNC( on_CBDR_toggled ),NULL ); | |
1057 gtk_signal_connect( GTK_OBJECT( CBFramedrop ),"toggled",GTK_SIGNAL_FUNC( on_CBFramedrop_toggled ),NULL ); | |
1058 gtk_signal_connect( GTK_OBJECT( CBHFramedrop ),"toggled",GTK_SIGNAL_FUNC( on_CBHFramedrop_toggled ),NULL ); | |
1059 gtk_signal_connect( GTK_OBJECT( CBFullScreen ),"toggled",GTK_SIGNAL_FUNC( on_CBFullScreen_toggled ),NULL ); | |
1060 gtk_signal_connect( GTK_OBJECT( CBNonInterlaved ),"toggled",GTK_SIGNAL_FUNC( on_CBNonInterlaved_toggled ),NULL ); | |
1061 gtk_signal_connect( GTK_OBJECT( CBFlip ),"toggled",GTK_SIGNAL_FUNC( on_CBFlip_toggled ),NULL ); | |
1062 gtk_signal_connect( GTK_OBJECT( CBPostprocess ),"toggled",GTK_SIGNAL_FUNC( on_CBPostprocess_toggled ),NULL ); | |
1063 gtk_signal_connect( GTK_OBJECT( CBNoAutoSub ),"toggled",GTK_SIGNAL_FUNC( on_CBNoAutoSub_toggled ),NULL ); | |
1064 gtk_signal_connect( GTK_OBJECT( CBSubUnicode ),"toggled",GTK_SIGNAL_FUNC( on_CNSubUnicode_toggled ),NULL ); | |
1065 gtk_signal_connect( GTK_OBJECT( CBDumpMPSub ),"toggled",GTK_SIGNAL_FUNC( on_CBDumpMPSub_toggled ),NULL ); | |
1066 gtk_signal_connect( GTK_OBJECT( CBDumpSrt ),"toggled",GTK_SIGNAL_FUNC( on_CBDumpSrt_toggled ),NULL ); | |
1067 #endif | |
1068 #if 0 | |
1069 gtk_signal_connect( GTK_OBJECT( RBOSDNone ),"toggled",GTK_SIGNAL_FUNC( on_RBOSDNone_toggled ),NULL ); | |
33777
235c6f2514be
Arrange OSD preferences according to option 'osdlevel'.
ib
parents:
33769
diff
changeset
|
1070 gtk_signal_connect( GTK_OBJECT( RBOSDIndicator ),"toggled",GTK_SIGNAL_FUNC( on_RBOSDIndicator_toggled ),NULL ); |
33572 | 1071 gtk_signal_connect( GTK_OBJECT( RBOSDTandP ),"toggled",GTK_SIGNAL_FUNC( on_RBOSDTandP_toggled ),NULL ); |
1072 gtk_signal_connect( GTK_OBJECT( RBOSDTPTT ),"toggled",GTK_SIGNAL_FUNC( on_RBOSDIndicator_toggled ),NULL ); | |
1073 gtk_signal_connect( GTK_OBJECT( CBAudioEqualizer ),"toggled",GTK_SIGNAL_FUNC( on_CBAudioEqualizer_toggled ),NULL ); | |
1074 #endif | |
1075 #if 0 | |
1076 gtk_signal_connect( GTK_OBJECT( HSAudioDelay ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSAudioDelay_motion_notify_event ),NULL ); | |
1077 gtk_signal_connect( GTK_OBJECT( HSPanscan ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSPanscan_motion_notify_event ),NULL ); | |
1078 gtk_signal_connect( GTK_OBJECT( label2 ),"motion_notify_event",GTK_SIGNAL_FUNC( on_label2_motion_notify_event ),NULL ); | |
1079 gtk_signal_connect( GTK_OBJECT( HSSubDelay ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSSubDelay_motion_notify_event ),NULL ); | |
1080 gtk_signal_connect( GTK_OBJECT( HSSubPosition ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSSubPosition_motion_notify_event ),NULL ); | |
1081 gtk_signal_connect( GTK_OBJECT( HSSubFPS ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSSubFPS_motion_notify_event ),NULL ); | |
1082 gtk_signal_connect( GTK_OBJECT( HSFontFactor ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSFontFactor_motion_notify_event ),NULL ); | |
1083 gtk_signal_connect( GTK_OBJECT( HSPPQuality ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSPPQuality_motion_notify_event ),NULL ); | |
1084 #endif | |
1085 | |
1086 gtk_notebook_set_page( GTK_NOTEBOOK( notebook1 ),2 ); | |
1087 | |
1088 gtk_window_add_accel_group( GTK_WINDOW( Preferences ),accel_group ); | |
1089 | |
1090 return Preferences; | |
1091 } | |
1092 | |
35994 | 1093 void ShowPreferences( void ) |
1094 { | |
1095 if ( Preferences ) gtkActive( Preferences ); | |
35996 | 1096 else Preferences=CreatePreferences(); |
35994 | 1097 |
1098 /* 1st page */ | |
1099 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBAudioEqualizer ),gtkEnableAudioEqualizer ); | |
1100 #if 0 | |
1101 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSurround ),gtkAOSurround ); | |
1102 #endif | |
1103 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBExtraStereo ),gtkAOExtraStereo ); | |
1104 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBNormalize ),gtkAONorm ); | |
1105 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSoftwareMixer ),soft_vol ); | |
1106 gtk_adjustment_set_value( HSExtraStereoMuladj,gtkAOExtraStereoMul ); | |
1107 { | |
1108 int i = 0; | |
1109 char * tmp[3]; tmp[2]=""; | |
1110 old_audio_driver=-1; | |
1111 if ( CLADrivers ) gtk_clist_clear( GTK_CLIST( CLADrivers ) ); | |
1112 while ( audio_out_drivers[i] ) | |
1113 { | |
1114 const ao_info_t *info = audio_out_drivers[i++]->info; | |
1115 if ( !strcmp( info->short_name,"plugin" ) ) continue; | |
1116 if ( audio_driver_list ) | |
1117 { | |
1118 char * name = gstrdup( audio_driver_list[0] ); | |
1119 char * sep = gstrchr( audio_driver_list[0],':' ); | |
1120 if ( sep ) *sep=0; | |
1121 if ( !gstrcmp( name,(char *)info->short_name ) ) old_audio_driver=i - 1; | |
1122 free( name ); | |
1123 } | |
1124 tmp[0]=(char *)info->short_name; tmp[1]=(char *)info->name; gtk_clist_append( GTK_CLIST( CLADrivers ),tmp ); | |
1125 } | |
1126 if ( old_audio_driver > -1 ) | |
1127 { | |
1128 gtk_clist_select_row( GTK_CLIST( CLADrivers ),old_audio_driver,0 ); | |
1129 gtk_clist_get_text( GTK_CLIST( CLADrivers ),old_audio_driver,0,(char **)&ao_driver ); | |
1130 gtk_widget_set_sensitive( AConfig,FALSE ); | |
1131 if ( !strncmp( ao_driver[0],"oss",3 ) || | |
1132 !strncmp( ao_driver[0],"alsa",4 ) || | |
1133 !strncmp( ao_driver[0],"esd",3 ) || | |
1134 !strncmp( ao_driver[0],"sdl",3 ) ) | |
1135 gtk_widget_set_sensitive( AConfig,TRUE ); | |
1136 } | |
1137 } | |
1138 | |
1139 /* 2nd page */ | |
1140 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDoubleBuffer ),vo_doublebuffering ); | |
1141 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDR ),vo_directrendering ); | |
1142 | |
1143 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBFramedrop ),FALSE ); | |
1144 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBHFramedrop ),FALSE ); | |
1145 switch ( frame_dropping ) | |
1146 { | |
1147 case 2: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBHFramedrop ),TRUE ); | |
1148 case 1: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBFramedrop ),TRUE ); | |
1149 } | |
1150 | |
1151 if (flip != -1) | |
1152 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBFlip ),flip ); | |
1153 gtk_adjustment_set_value( HSPanscanadj,vo_panscan ); | |
1154 | |
1155 { | |
1156 int i = 0, c = 0; | |
1157 char * tmp[3]; tmp[2]=""; | |
1158 old_video_driver=0; | |
1159 if ( CLVDrivers ) gtk_clist_clear( GTK_CLIST( CLVDrivers ) ); | |
1160 while ( video_out_drivers[i] ) | |
1161 if ( video_out_drivers[i++]->control( VOCTRL_GUISUPPORT,NULL ) == VO_TRUE ) | |
1162 { | |
1163 if ( video_driver_list && !gstrcmp( video_driver_list[0],(char *)video_out_drivers[i - 1]->info->short_name ) ) old_video_driver=c; c++; | |
1164 tmp[0]=(char *)video_out_drivers[i - 1]->info->short_name; tmp[1]=(char *)video_out_drivers[i - 1]->info->name; | |
1165 gtk_clist_append( GTK_CLIST( CLVDrivers ),tmp ); | |
1166 } | |
1167 gtk_clist_select_row( GTK_CLIST( CLVDrivers ),old_video_driver,0 ); | |
1168 gtk_clist_get_text( GTK_CLIST( CLVDrivers ),old_video_driver,0,(char **)&vo_driver ); | |
1169 gtk_widget_set_sensitive( VConfig,FALSE ); | |
1170 #ifdef CONFIG_DXR3 | |
1171 if ( !gstrcmp( vo_driver[0],"dxr3" ) ) gtk_widget_set_sensitive( VConfig,TRUE ); | |
1172 #endif | |
1173 } | |
1174 | |
1175 gtk_adjustment_set_value( HSFPSadj,force_fps ); | |
1176 | |
1177 /* 3rd page */ | |
1178 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSubOverlap ),suboverlap_enabled ); | |
1179 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBNoAutoSub ),!sub_auto ); | |
1180 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDumpMPSub ),gtkSubDumpMPSub ); | |
1181 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDumpSrt ),gtkSubDumpSrt ); | |
1182 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSubUnicode ),sub_unicode ); | |
1183 #ifdef CONFIG_ASS | |
1184 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBUseASS ),gtkASS.enabled ); | |
1185 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBASSUseMargins ),gtkASS.use_margins ); | |
1186 gtk_spin_button_set_value( (GtkSpinButton *)SBASSTopMargin,(gdouble)gtkASS.top_margin ); | |
1187 gtk_spin_button_set_value( (GtkSpinButton *)SBASSBottomMargin,(gdouble)gtkASS.bottom_margin ); | |
1188 | |
1189 if ( !gtkASS.enabled ) | |
1190 { | |
1191 gtk_widget_set_sensitive( CBASSUseMargins,FALSE ); | |
1192 gtk_widget_set_sensitive( SBASSTopMargin,FALSE ); | |
1193 gtk_widget_set_sensitive( SBASSBottomMargin,FALSE ); | |
1194 } | |
1195 #endif | |
1196 | |
1197 gtk_adjustment_set_value( HSSubDelayadj,sub_delay ); | |
1198 gtk_adjustment_set_value( HSSubFPSadj,sub_fps ); | |
1199 gtk_adjustment_set_value( HSSubPositionadj,sub_pos ); | |
1200 switch ( osd_level ) | |
1201 { | |
1202 case 0: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBOSDNone ),TRUE ); break; | |
1203 case 1: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBOSDIndicator ),TRUE ); break; | |
1204 case 2: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBOSDTandP ),TRUE ); break; | |
1205 case 3: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBOSDTPTT ),TRUE ); break; | |
1206 } | |
1207 #if 0 | |
1208 if ( guiInfo.SubtitleFilename ) gtk_entry_set_text( GTK_ENTRY( ESubtitleName ),guiInfo.SubtitleFilename ); | |
1209 #endif | |
1210 | |
1211 #ifdef CONFIG_ICONV | |
1212 if ( sub_cp ) | |
1213 { | |
1214 int i; | |
1215 for ( i=0;lEncoding[i].name;i++ ) | |
1216 if ( !strcasecmp( sub_cp,lEncoding[i].name ) ) break; | |
1217 if ( lEncoding[i].name ) gtk_entry_set_text( GTK_ENTRY( ESubEncoding ),lEncoding[i].comment ); | |
1218 } | |
1219 #endif | |
1220 | |
1221 /* 4th page */ | |
1222 /* font ... */ | |
1223 if ( font_name ) gtk_entry_set_text( GTK_ENTRY( prEFontName ),font_name ); | |
1224 #ifndef CONFIG_FREETYPE | |
1225 gtk_adjustment_set_value( HSFontFactoradj,font_factor ); | |
1226 #else | |
1227 gtk_adjustment_set_value( HSFontBluradj,( subtitle_font_radius / 8.0f ) * 100.0f ); | |
1228 gtk_adjustment_set_value( HSFontOutLineadj,( subtitle_font_thickness / 8.0f ) * 100.0f ); | |
1229 gtk_adjustment_set_value( HSFontTextScaleadj,text_font_scale_factor ); | |
1230 gtk_adjustment_set_value( HSFontOSDScaleadj,osd_font_scale_factor ); | |
1231 if ( subtitle_font_encoding ) | |
1232 { | |
1233 int i; | |
1234 for ( i=0;lEncoding[i].name;i++ ) | |
1235 if ( !strcasecmp( subtitle_font_encoding,lEncoding[i].name ) ) break; | |
1236 if ( lEncoding[i].name ) gtk_entry_set_text( GTK_ENTRY( EFontEncoding ),lEncoding[i].comment ); | |
1237 } | |
1238 switch ( subtitle_autoscale ) | |
1239 { | |
1240 case 0: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBFontNoAutoScale ),TRUE ); break; | |
1241 case 1: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleHeight ),TRUE ); break; | |
1242 case 2: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleWidth ),TRUE ); break; | |
1243 case 3: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleDiagonal ),TRUE ); break; | |
1244 } | |
1245 #endif | |
1246 | |
1247 /* 5th page */ | |
1248 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBNonInterlaved ),force_ni ); | |
1249 if ( index_mode == 1 ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBIndex ),1 ); | |
1250 { | |
1251 int i; | |
1252 GList * Items = NULL; | |
1253 char * name = NULL; | |
1254 | |
1255 Items=g_list_append( Items,MSGTR_PREFERENCES_None ); | |
1256 for( i=0;mpcodecs_vd_drivers[i];i++ ) | |
1257 { | |
1258 Items=g_list_append( Items,(char *)mpcodecs_vd_drivers[i]->info->name ); | |
1259 if ( video_fm_list && !gstrcmp( video_fm_list[0],(char *)mpcodecs_vd_drivers[i]->info->short_name ) ) name=(char *)mpcodecs_vd_drivers[i]->info->name; | |
1260 } | |
1261 gtk_combo_set_popdown_strings( GTK_COMBO( CBVFM ),Items ); | |
1262 g_list_free( Items ); | |
1263 if ( name ) gtk_entry_set_text( GTK_ENTRY( EVFM ),name ); | |
1264 } | |
1265 | |
1266 { | |
1267 int i; | |
1268 GList * Items = NULL; | |
1269 char * name = NULL; | |
1270 | |
1271 Items=g_list_append( Items,MSGTR_PREFERENCES_None ); | |
1272 for( i=0;mpcodecs_ad_drivers[i];i++ ) | |
1273 { | |
1274 Items=g_list_append( Items,(char *)mpcodecs_ad_drivers[i]->info->name ); | |
1275 if ( audio_fm_list && !gstrcmp( audio_fm_list[0],(char *)mpcodecs_ad_drivers[i]->info->short_name ) ) name=(char *)mpcodecs_ad_drivers[i]->info->name; | |
1276 } | |
1277 gtk_combo_set_popdown_strings( GTK_COMBO( CBAFM ),Items ); | |
1278 g_list_free( Items ); | |
1279 if ( name ) gtk_entry_set_text( GTK_ENTRY( EAFM ),name ); | |
1280 } | |
1281 | |
1282 /* 6th page */ | |
1283 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBPostprocess ),gtkVfPP ); | |
1284 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBLoadFullscreen ),gtkLoadFullscreen ); | |
1285 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSaveWinPos ),gui_save_pos ); | |
1286 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBShowVideoWindow ),gtkShowVideoWindow ); | |
1287 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBStopXScreenSaver ),stop_xscreensaver ); | |
1288 gtk_adjustment_set_value( HSPPQualityadj,auto_quality ); | |
1289 | |
1290 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBPlayBar ),gtkEnablePlayBar ); | |
1291 if ( !guiApp.playbarIsPresent ) | |
1292 { | |
1293 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBPlayBar ),0 ); | |
1294 gtk_widget_set_sensitive( CBPlayBar,FALSE ); | |
1295 } | |
1296 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBNoIdle ),!player_idle_mode ); | |
1297 | |
1298 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBCache ),0 ); | |
1299 gtk_adjustment_set_value( SBCacheadj,(float)gtkCacheSize ); | |
1300 if ( !gtkCacheOn ) gtk_widget_set_sensitive( SBCache,FALSE ); | |
1301 else gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBCache ),TRUE ); | |
1302 | |
1303 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBAutoSync ),0 ); | |
1304 gtk_adjustment_set_value( SBAutoSyncadj,(float)gtkAutoSync ); | |
1305 if ( !gtkAutoSyncOn ) gtk_widget_set_sensitive( SBAutoSync,FALSE ); | |
1306 else gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBAutoSync ),TRUE ); | |
1307 | |
1308 if ( dvd_device ) gtk_entry_set_text( GTK_ENTRY( prEDVDDevice ),dvd_device ); | |
1309 else gtk_entry_set_text( GTK_ENTRY( prEDVDDevice ),DEFAULT_DVD_DEVICE ); | |
1310 if ( cdrom_device ) gtk_entry_set_text( GTK_ENTRY( prECDRomDevice ),cdrom_device ); | |
1311 else gtk_entry_set_text( GTK_ENTRY( prECDRomDevice ),DEFAULT_CDROM_DEVICE ); | |
1312 | |
1313 /* disables */ | |
1314 #ifndef CONFIG_ASS | |
1315 gtk_widget_set_sensitive( CBUseASS,FALSE ); | |
1316 gtk_widget_set_sensitive( CBASSUseMargins,FALSE ); | |
1317 gtk_widget_set_sensitive( SBASSTopMargin,FALSE ); | |
1318 gtk_widget_set_sensitive( SBASSBottomMargin,FALSE ); | |
1319 #endif | |
1320 | |
1321 /* signals */ | |
1322 gtk_signal_connect( GTK_OBJECT( CBExtraStereo ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)0 ); | |
1323 gtk_signal_connect( GTK_OBJECT( CBNormalize ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)1 ); | |
1324 gtk_signal_connect( GTK_OBJECT( CBSoftwareMixer ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)1 ); | |
1325 gtk_signal_connect( GTK_OBJECT( CBAudioEqualizer ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)2 ); | |
1326 gtk_signal_connect( GTK_OBJECT( CBShowVideoWindow ),"toggled",GTK_SIGNAL_FUNC( prToggled ), (void*)3 ); | |
1327 #ifdef CONFIG_FREETYPE | |
1328 gtk_signal_connect( GTK_OBJECT( RBFontNoAutoScale ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)4 ); | |
1329 gtk_signal_connect( GTK_OBJECT( RBFontAutoScaleHeight ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)5 ); | |
1330 gtk_signal_connect( GTK_OBJECT( RBFontAutoScaleWidth ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)6 ); | |
1331 gtk_signal_connect( GTK_OBJECT( RBFontAutoScaleDiagonal ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)7 ); | |
1332 #endif | |
1333 gtk_signal_connect( GTK_OBJECT( CBCache ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)8); | |
1334 gtk_signal_connect( GTK_OBJECT( CBAutoSync ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)9); | |
1335 #ifdef CONFIG_ASS | |
1336 gtk_signal_connect( GTK_OBJECT( CBUseASS ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)10); | |
1337 #endif | |
1338 | |
1339 gtk_signal_connect( GTK_OBJECT( HSExtraStereoMul ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)0 ); | |
1340 gtk_signal_connect( GTK_OBJECT( HSAudioDelay ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)1 ); | |
1341 gtk_signal_connect( GTK_OBJECT( HSPanscan ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)2 ); | |
1342 gtk_signal_connect( GTK_OBJECT( HSSubDelay ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)3 ); | |
1343 gtk_signal_connect( GTK_OBJECT( HSSubPosition ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)4 ); | |
1344 #ifndef CONFIG_FREETYPE | |
1345 gtk_signal_connect( GTK_OBJECT( HSFontFactor ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)5 ); | |
1346 #else | |
1347 gtk_signal_connect( GTK_OBJECT( HSFontBlur ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)6 ); | |
1348 gtk_signal_connect( GTK_OBJECT( HSFontOutLine ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)7 ); | |
1349 gtk_signal_connect( GTK_OBJECT( HSFontTextScale ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)8 ); | |
1350 gtk_signal_connect( GTK_OBJECT( HSFontOSDScale ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)9 ); | |
1351 gtk_signal_connect( GTK_OBJECT( EFontEncoding ),"changed",GTK_SIGNAL_FUNC( prEntry ),(void *)0 ); | |
1352 #endif | |
1353 #ifdef CONFIG_ICONV | |
1354 gtk_signal_connect( GTK_OBJECT( ESubEncoding ),"changed",GTK_SIGNAL_FUNC( prEntry ),(void *)1 ); | |
1355 #endif | |
1356 gtk_signal_connect( GTK_OBJECT( HSPPQuality ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)10 ); | |
1357 | |
1358 gtk_signal_connect( GTK_OBJECT( CLADrivers ),"select_row",GTK_SIGNAL_FUNC( prCListRow ),(void*)0 ); | |
1359 gtk_signal_connect( GTK_OBJECT( CLVDrivers ),"select_row",GTK_SIGNAL_FUNC( prCListRow ),(void*)1 ); | |
1360 | |
1361 gtk_widget_show( Preferences ); | |
1362 gtkSetLayer( Preferences ); | |
1363 { | |
1364 static int visible = True; | |
1365 if ( visible ) | |
1366 { | |
1367 gtkMessageBox( GTK_MB_WARNING,MSGTR_PREFERENCES_Message ); | |
1368 visible=False; | |
1369 } | |
1370 } | |
1371 } | |
1372 | |
33572 | 1373 #ifdef CONFIG_OSS_AUDIO |
1374 static GList *appendOSSDevices(GList *l) | |
1375 { | |
34684 | 1376 /* careful! the current implementation allows only string constants! */ |
33572 | 1377 l = g_list_append(l, (gpointer)"/dev/dsp"); |
1378 if (gtkAOOSSDevice && strncmp(gtkAOOSSDevice, "/dev/sound", 10) == 0) { | |
1379 l = g_list_append(l, (gpointer)"/dev/sound/dsp0"); | |
1380 l = g_list_append(l, (gpointer)"/dev/sound/dsp1"); | |
1381 l = g_list_append(l, (gpointer)"/dev/sound/dsp2"); | |
1382 l = g_list_append(l, (gpointer)"/dev/sound/dsp3"); | |
1383 } else { | |
1384 l = g_list_append(l, (gpointer)"/dev/dsp0"); | |
1385 l = g_list_append(l, (gpointer)"/dev/dsp1"); | |
1386 l = g_list_append(l, (gpointer)"/dev/dsp2"); | |
1387 l = g_list_append(l, (gpointer)"/dev/dsp3"); | |
1388 } | |
1389 #ifdef CONFIG_DXR3 | |
1390 l = g_list_append(l, (gpointer)"/dev/em8300_ma"); | |
1391 l = g_list_append(l, (gpointer)"/dev/em8300_ma-0"); | |
1392 l = g_list_append(l, (gpointer)"/dev/em8300_ma-1"); | |
1393 l = g_list_append(l, (gpointer)"/dev/em8300_ma-2"); | |
1394 l = g_list_append(l, (gpointer)"/dev/em8300_ma-3"); | |
1395 #endif | |
1396 return l; | |
1397 } | |
1398 | |
1399 static GList *appendOSSMixers(GList *l) | |
1400 { | |
34684 | 1401 /* careful! the current implementation allows only string constants! */ |
33572 | 1402 l = g_list_append(l, (gpointer)"/dev/mixer"); |
1403 if (gtkAOOSSMixer && strncmp(gtkAOOSSMixer, "/dev/sound", 10) == 0) { | |
1404 l = g_list_append(l, (gpointer)"/dev/sound/mixer0"); | |
1405 l = g_list_append(l, (gpointer)"/dev/sound/mixer1"); | |
1406 l = g_list_append(l, (gpointer)"/dev/sound/mixer2"); | |
1407 l = g_list_append(l, (gpointer)"/dev/sound/mixer3"); | |
1408 } else { | |
1409 l = g_list_append(l, (gpointer)"/dev/mixer0"); | |
1410 l = g_list_append(l, (gpointer)"/dev/mixer1"); | |
1411 l = g_list_append(l, (gpointer)"/dev/mixer2"); | |
1412 l = g_list_append(l, (gpointer)"/dev/mixer3"); | |
1413 } | |
1414 return l; | |
1415 } | |
1416 | |
1417 static GList *appendOSSMixerChannels(GList *l) | |
1418 { | |
1419 l = g_list_append(l, (gpointer)"vol"); | |
1420 l = g_list_append(l, (gpointer)"pcm"); | |
1421 l = g_list_append(l, (gpointer)"line"); | |
1422 return l; | |
1423 } | |
1424 #endif | |
1425 | |
1426 #ifdef CONFIG_ALSA | |
1427 static GList *appendALSADevices(GList *l) | |
1428 { | |
1429 l = g_list_append(l, (gpointer)"default"); | |
1430 l = g_list_append(l, (gpointer)"hw=0.0"); | |
1431 l = g_list_append(l, (gpointer)"hw=0.1"); | |
1432 l = g_list_append(l, (gpointer)"hw=0.2"); | |
1433 l = g_list_append(l, (gpointer)"surround40"); | |
1434 l = g_list_append(l, (gpointer)"surround51"); | |
1435 l = g_list_append(l, (gpointer)"plug=surround40"); | |
1436 l = g_list_append(l, (gpointer)"plug=surround51"); | |
1437 return l; | |
1438 } | |
1439 | |
1440 static GList *appendALSAMixers(GList *l) | |
1441 { | |
1442 l = g_list_append(l, (gpointer)"default"); | |
1443 return l; | |
1444 } | |
1445 | |
1446 static GList *appendALSAMixerChannels(GList *l) | |
1447 { | |
1448 l = g_list_append(l, (gpointer)"Master"); | |
1449 l = g_list_append(l, (gpointer)"Line"); | |
1450 l = g_list_append(l, (gpointer)"PCM"); | |
1451 l = g_list_append(l, (gpointer)"PCM,1"); | |
1452 return l; | |
1453 } | |
1454 #endif | |
1455 | |
1456 #ifdef CONFIG_SDL | |
1457 static GList *appendSDLDevices(GList *l) | |
1458 { | |
1459 l = g_list_append(l, (gpointer)"alsa"); | |
1460 l = g_list_append(l, (gpointer)"arts"); | |
1461 l = g_list_append(l, (gpointer)"esd"); | |
1462 l = g_list_append(l, (gpointer)"jack"); | |
1463 l = g_list_append(l, (gpointer)"oss"); | |
1464 l = g_list_append(l, (gpointer)"nas"); | |
1465 return l; | |
1466 } | |
1467 #endif | |
1468 | |
1469 #ifdef CONFIG_ESD | |
1470 static GList *appendESDDevices(GList *l) | |
1471 { | |
1472 l = g_list_append(l, (gpointer)"Enter Remote IP"); | |
1473 l = g_list_append(l, (gpointer)"Use Software Mixer"); | |
1474 return l; | |
1475 } | |
1476 #endif | |
1477 | |
34454 | 1478 #if defined(CONFIG_OSS_AUDIO) || defined(CONFIG_ALSA) || defined(CONFIG_SDL) || defined (CONFIG_ESD) |
33572 | 1479 // Gets text string from a gtk entry, interpreting |
1480 // MSGTR_PREFERENCES_DriverDefault as null string. | |
1481 static const char *getGtkEntryText(GtkWidget *from) | |
1482 { | |
1483 const char *tmp = gtk_entry_get_text(GTK_ENTRY(from)); | |
1484 if (strcmp(tmp, MSGTR_PREFERENCES_DriverDefault) == 0) { | |
1485 tmp = NULL; | |
1486 } | |
1487 return tmp; | |
1488 } | |
1489 | |
1490 // Sets text string of a gtk entry, interpreting | |
1491 // null string as MSGTR_PREFERENCES_DriverDefault. | |
1492 static void setGtkEntryText(GtkWidget *dest, char *to) | |
1493 { | |
1494 if (!to) { | |
1495 to = MSGTR_PREFERENCES_DriverDefault; | |
1496 } | |
1497 gtk_entry_set_text(GTK_ENTRY(dest),to); | |
1498 } | |
34454 | 1499 #endif |
33572 | 1500 |
1501 static GtkWidget *CEAudioDevice; | |
1502 static GtkWidget *CBAudioDevice; | |
1503 static GtkWidget *CEAudioMixer; | |
1504 static GtkWidget *CBAudioMixer; | |
1505 static GtkWidget *CEAudioMixerChannel; | |
1506 static GtkWidget *CBAudioMixerChannel; | |
1507 static GtkWidget *BAudioOk; | |
1508 static GtkWidget *BAudioCancel; | |
1509 | |
1510 static void audioButton(GtkButton *button, gpointer user_data) { | |
1511 switch( (int)user_data ) { | |
1512 case 1: | |
1513 #ifdef CONFIG_OSS_AUDIO | |
1514 if (strncmp(ao_driver[0], "oss", 3) == 0) { | |
33739 | 1515 nfree(gtkAOOSSDevice); |
33572 | 1516 gtkAOOSSDevice = gstrdup(getGtkEntryText(CEAudioDevice)); |
33739 | 1517 nfree(gtkAOOSSMixer); |
33572 | 1518 gtkAOOSSMixer = gstrdup(getGtkEntryText(CEAudioMixer)); |
33739 | 1519 nfree(gtkAOOSSMixerChannel); |
33572 | 1520 gtkAOOSSMixerChannel = gstrdup(getGtkEntryText(CEAudioMixerChannel)); |
1521 } | |
1522 #endif | |
1523 #ifdef CONFIG_ALSA | |
1524 if (strncmp(ao_driver[0], "alsa", 4) == 0) { | |
33739 | 1525 nfree(gtkAOALSADevice); |
33572 | 1526 gtkAOALSADevice = gstrdup(getGtkEntryText(CEAudioDevice)); |
33739 | 1527 nfree(gtkAOALSAMixer); |
33572 | 1528 gtkAOALSAMixer = gstrdup(getGtkEntryText(CEAudioMixer)); |
33739 | 1529 nfree(gtkAOALSAMixerChannel); |
33572 | 1530 gtkAOALSAMixerChannel = gstrdup(getGtkEntryText(CEAudioMixerChannel)); |
1531 } | |
1532 #endif | |
1533 #ifdef CONFIG_SDL | |
1534 if (strncmp(ao_driver[0], "sdl", 3) == 0) { | |
33739 | 1535 nfree(gtkAOSDLDriver); |
33572 | 1536 gtkAOSDLDriver = gstrdup(getGtkEntryText(CEAudioDevice)); |
1537 } | |
1538 #endif | |
1539 #ifdef CONFIG_ESD | |
1540 if (strncmp(ao_driver[0], "esd", 3) == 0) { | |
33739 | 1541 nfree(gtkAOESDDevice); |
33572 | 1542 gtkAOESDDevice = gstrdup(getGtkEntryText(CEAudioDevice)); |
1543 } | |
1544 #endif | |
1545 case 0: | |
36003
8fea01665c83
Remove HidePreferences(), HideAudioConfig() and HideDXR3Config().
ib
parents:
35996
diff
changeset
|
1546 gtk_widget_destroy(AudioConfig); |
8fea01665c83
Remove HidePreferences(), HideAudioConfig() and HideDXR3Config().
ib
parents:
35996
diff
changeset
|
1547 AudioConfig=NULL; |
33572 | 1548 break; |
1549 } | |
1550 } | |
1551 | |
35996 | 1552 static GtkWidget *CreateAudioConfig( void ) { |
33572 | 1553 GList *items = NULL; |
1554 GtkWidget *vbox; | |
1555 GtkWidget *table; | |
1556 GtkWidget *label; | |
1557 GtkWidget *hbuttonbox; | |
1558 GtkAccelGroup *accel_group; | |
1559 | |
1560 AudioConfig = gtk_window_new(GTK_WINDOW_TOPLEVEL); | |
1561 gtk_widget_set_name(AudioConfig, "AudioConfig"); | |
1562 gtk_object_set_data(GTK_OBJECT(AudioConfig), "AudioConfig", AudioConfig); | |
1563 gtk_window_set_title(GTK_WINDOW(AudioConfig), MSGTR_AudioPreferences); | |
1564 gtk_window_set_position(GTK_WINDOW(AudioConfig), GTK_WIN_POS_CENTER); | |
1565 gtk_window_set_policy(GTK_WINDOW(AudioConfig), FALSE, FALSE, FALSE); | |
1566 gtk_window_set_wmclass(GTK_WINDOW(AudioConfig), "Audio Config", "MPlayer"); | |
1567 | |
1568 gtk_widget_realize(AudioConfig); | |
1569 gtkAddIcon(AudioConfig); | |
1570 | |
1571 vbox = AddVBox(AddDialogFrame(AudioConfig), 0); | |
1572 | |
1573 table = gtk_table_new(2, 3, FALSE); | |
1574 gtk_widget_set_name(table, "table"); | |
1575 gtk_widget_show(table); | |
1576 gtk_box_pack_start(GTK_BOX(vbox), table, TRUE, TRUE, 0); | |
1577 | |
1578 label = AddLabel(MSGTR_PREFERENCES_Audio_Device, NULL); | |
1579 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(0), 0, 0); | |
1580 | |
1581 CBAudioDevice = AddComboBox(NULL); | |
1582 gtk_table_attach(GTK_TABLE(table), CBAudioDevice, 1, 2, 0, 1, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)(0), 0, 0); | |
1583 items = g_list_append(items,(gpointer)MSGTR_PREFERENCES_DriverDefault); | |
1584 #ifdef CONFIG_OSS_AUDIO | |
1585 if (strncmp(ao_driver[0], "oss", 3) == 0) | |
1586 items = appendOSSDevices(items); | |
1587 #endif | |
1588 #ifdef CONFIG_ALSA | |
1589 if (strncmp(ao_driver[0], "alsa", 4) == 0) | |
1590 items = appendALSADevices(items); | |
1591 #endif | |
1592 #ifdef CONFIG_SDL | |
1593 if (strncmp(ao_driver[0], "sdl", 3) == 0) | |
1594 items = appendSDLDevices(items); | |
1595 #endif | |
1596 #ifdef CONFIG_ESD | |
1597 if (strncmp(ao_driver[0], "esd", 3) == 0) | |
1598 items = appendESDDevices(items); | |
1599 #endif | |
1600 gtk_combo_set_popdown_strings(GTK_COMBO(CBAudioDevice), items); | |
1601 g_list_free(items); | |
1602 items = NULL; | |
1603 | |
1604 CEAudioDevice = GTK_COMBO(CBAudioDevice)->entry; | |
1605 gtk_widget_set_name(CEAudioDevice, "CEAudioDevice"); | |
1606 gtk_widget_show(CEAudioDevice); | |
1607 | |
1608 label = AddLabel(MSGTR_PREFERENCES_Audio_Mixer, NULL); | |
1609 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 1, 2, (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(0), 0, 0); | |
1610 | |
1611 CBAudioMixer = AddComboBox(NULL); | |
1612 gtk_table_attach(GTK_TABLE(table), CBAudioMixer, 1, 2, 1, 2, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)(0), 0, 0); | |
1613 items = g_list_append(items, (gpointer)MSGTR_PREFERENCES_DriverDefault); | |
1614 #ifdef CONFIG_OSS_AUDIO | |
1615 if (strncmp(ao_driver[0], "oss", 3) == 0) | |
1616 items = appendOSSMixers(items); | |
1617 #endif | |
1618 #ifdef CONFIG_ALSA | |
1619 if (strncmp(ao_driver[0], "alsa", 4) == 0) | |
1620 items = appendALSAMixers(items); | |
1621 #endif | |
1622 gtk_combo_set_popdown_strings(GTK_COMBO(CBAudioMixer), items); | |
1623 g_list_free(items); | |
1624 items = NULL; | |
1625 | |
1626 CEAudioMixer = GTK_COMBO(CBAudioMixer)->entry; | |
1627 gtk_widget_set_name(CEAudioMixer, "CEAudioMixer"); | |
1628 gtk_widget_show(CEAudioMixer); | |
1629 | |
1630 label = AddLabel(MSGTR_PREFERENCES_Audio_MixerChannel, NULL); | |
1631 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 2, 3, (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(0), 0, 0); | |
1632 | |
1633 CBAudioMixerChannel = AddComboBox(NULL); | |
1634 gtk_table_attach(GTK_TABLE(table), CBAudioMixerChannel, 1, 2, 2, 3, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)(0), 0, 0); | |
1635 items = g_list_append(items, (gpointer)MSGTR_PREFERENCES_DriverDefault); | |
1636 #ifdef CONFIG_OSS_AUDIO | |
1637 if (strncmp(ao_driver[0], "oss", 3) == 0) | |
1638 items = appendOSSMixerChannels(items); | |
1639 #endif | |
1640 #ifdef CONFIG_ALSA | |
1641 if (strncmp(ao_driver[0], "alsa", 4) == 0) | |
1642 items = appendALSAMixerChannels(items); | |
1643 #endif | |
1644 gtk_combo_set_popdown_strings(GTK_COMBO(CBAudioMixerChannel), items); | |
1645 g_list_free(items); | |
1646 items = NULL; | |
1647 | |
1648 CEAudioMixerChannel = GTK_COMBO(CBAudioMixerChannel)->entry; | |
1649 gtk_widget_set_name(CEAudioMixerChannel, "CEAudioMixerChannel"); | |
1650 gtk_widget_show(CEAudioMixerChannel); | |
1651 | |
1652 AddHSeparator(vbox); | |
1653 | |
1654 hbuttonbox = AddHButtonBox(vbox); | |
1655 gtk_button_box_set_layout(GTK_BUTTON_BOX(hbuttonbox), GTK_BUTTONBOX_END); | |
1656 gtk_button_box_set_spacing(GTK_BUTTON_BOX(hbuttonbox), 10); | |
1657 BAudioOk = AddButton(MSGTR_Ok, hbuttonbox); | |
1658 BAudioCancel = AddButton(MSGTR_Cancel, hbuttonbox); | |
1659 | |
1660 gtk_signal_connect(GTK_OBJECT(AudioConfig), "destroy", GTK_SIGNAL_FUNC(WidgetDestroy), &AudioConfig); | |
1661 gtk_signal_connect(GTK_OBJECT(BAudioOk), "clicked", GTK_SIGNAL_FUNC(audioButton), (void*)1); | |
1662 gtk_signal_connect(GTK_OBJECT(BAudioCancel), "clicked", GTK_SIGNAL_FUNC(audioButton), (void*)0); | |
1663 | |
1664 accel_group = gtk_accel_group_new(); | |
1665 gtk_widget_add_accelerator(BAudioOk, "clicked", accel_group, GDK_Return, 0, GTK_ACCEL_VISIBLE); | |
1666 gtk_widget_add_accelerator(BAudioCancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); | |
1667 gtk_window_add_accel_group(GTK_WINDOW(AudioConfig), accel_group); | |
1668 | |
1669 return AudioConfig; | |
1670 } | |
1671 | |
35993 | 1672 void ShowAudioConfig( void ) { |
1673 if (AudioConfig) gtkActive(AudioConfig); | |
35996 | 1674 else AudioConfig = CreateAudioConfig(); |
35993 | 1675 |
1676 #ifdef CONFIG_OSS_AUDIO | |
1677 if (strncmp(ao_driver[0], "oss", 3) == 0) { | |
1678 setGtkEntryText(CEAudioDevice, gtkAOOSSDevice); | |
1679 setGtkEntryText(CEAudioMixer, gtkAOOSSMixer); | |
1680 setGtkEntryText(CEAudioMixerChannel, gtkAOOSSMixerChannel); | |
1681 } | |
1682 #endif | |
1683 #ifdef CONFIG_ALSA | |
1684 if (strncmp(ao_driver[0], "alsa", 4) == 0) { | |
1685 setGtkEntryText(CEAudioDevice, gtkAOALSADevice); | |
1686 setGtkEntryText(CEAudioMixer, gtkAOALSAMixer); | |
1687 setGtkEntryText(CEAudioMixerChannel, gtkAOALSAMixerChannel); | |
1688 } | |
1689 #endif | |
1690 #ifdef CONFIG_SDL | |
1691 if (strncmp(ao_driver[0], "sdl", 3) == 0) { | |
1692 setGtkEntryText(CEAudioDevice, gtkAOSDLDriver); | |
1693 } | |
1694 #endif | |
1695 #ifdef CONFIG_ESD | |
1696 if (strncmp(ao_driver[0], "esd", 3) == 0) { | |
1697 setGtkEntryText(CEAudioDevice, gtkAOESDDevice); | |
1698 } | |
1699 #endif | |
1700 | |
1701 gtk_widget_show(AudioConfig); | |
1702 gtkSetLayer(AudioConfig); | |
1703 } | |
1704 | |
34684 | 1705 /* dxr3 config box */ |
33572 | 1706 |
1707 static GtkWidget * DXR3Config; | |
1708 static GtkWidget * CBDevice; | |
1709 static GtkWidget * CEDXR3Device; | |
1710 static GtkWidget * RBVNone; | |
1711 static GtkWidget * RBVLavc; | |
1712 static GtkWidget * dxr3BOk; | |
1713 static GtkWidget * dxr3BCancel; | |
1714 | |
35996 | 1715 GtkWidget * CreateDXR3Config( void ); |
33572 | 1716 |
1717 void ShowDXR3Config( void ) | |
1718 { | |
1719 if ( DXR3Config ) gtkActive( DXR3Config ); | |
35996 | 1720 else DXR3Config=CreateDXR3Config(); |
33572 | 1721 |
1722 gtk_entry_set_text( GTK_ENTRY( CEDXR3Device ),gtkDXR3Device ); | |
1723 | |
1724 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBVNone ),TRUE ); | |
1725 if ( gtkVfLAVC ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBVLavc ),TRUE ); | |
1726 | |
1727 gtk_widget_show( DXR3Config ); | |
1728 gtkSetLayer( DXR3Config ); | |
1729 } | |
1730 | |
1731 static void dxr3Button( GtkButton * button,gpointer user_data ) | |
1732 { | |
1733 switch ( (int)user_data ) | |
1734 { | |
1735 case 0: // Ok | |
33739 | 1736 nfree( gtkDXR3Device ); gtkDXR3Device=strdup( gtk_entry_get_text( GTK_ENTRY( CEDXR3Device ) ) ); |
33572 | 1737 gtkVfLAVC=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBVLavc ) ); |
1738 case 1: // Cancel | |
36003
8fea01665c83
Remove HidePreferences(), HideAudioConfig() and HideDXR3Config().
ib
parents:
35996
diff
changeset
|
1739 gtk_widget_destroy( DXR3Config ); |
8fea01665c83
Remove HidePreferences(), HideAudioConfig() and HideDXR3Config().
ib
parents:
35996
diff
changeset
|
1740 DXR3Config=NULL; |
33572 | 1741 break; |
1742 } | |
1743 } | |
1744 | |
35996 | 1745 GtkWidget * CreateDXR3Config( void ) |
33572 | 1746 { |
1747 GtkWidget * vbox1; | |
1748 GtkWidget * vbox2; | |
1749 GtkWidget * hbox1; | |
1750 GList * CBDevice_items = NULL; | |
1751 GtkWidget * vbox3; | |
1752 GSList * VEncoder_group = NULL; | |
1753 GtkWidget * hbuttonbox1; | |
1754 GtkAccelGroup * accel_group; | |
1755 | |
1756 accel_group=gtk_accel_group_new(); | |
1757 | |
1758 DXR3Config=gtk_window_new( GTK_WINDOW_TOPLEVEL ); | |
1759 gtk_widget_set_name( DXR3Config,"DXR3Config" ); | |
1760 gtk_object_set_data( GTK_OBJECT( DXR3Config ),"DXR3Config",DXR3Config ); | |
1761 // gtk_widget_set_usize( DXR3Config,300,156 ); | |
1762 GTK_WIDGET_SET_FLAGS( DXR3Config,GTK_CAN_DEFAULT ); | |
1763 gtk_window_set_title( GTK_WINDOW( DXR3Config ),"DXR3/H+" ); | |
1764 gtk_window_set_position( GTK_WINDOW( DXR3Config ),GTK_WIN_POS_CENTER ); | |
1765 gtk_window_set_policy( GTK_WINDOW( DXR3Config ),FALSE,FALSE,FALSE ); | |
1766 gtk_window_set_wmclass( GTK_WINDOW( DXR3Config ),"DXR3","MPlayer" ); | |
1767 | |
1768 gtk_widget_realize( DXR3Config ); | |
1769 gtkAddIcon( DXR3Config ); | |
1770 | |
1771 vbox1=AddVBox( AddDialogFrame( DXR3Config ),0 ); | |
1772 vbox2=AddVBox( vbox1,0 ); | |
1773 hbox1=AddHBox( vbox2,1 ); | |
1774 AddLabel( MSGTR_PREFERENCES_Audio_Device,hbox1 ); | |
1775 | |
1776 CBDevice=AddComboBox( hbox1 ); | |
1777 | |
1778 CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300" ); | |
1779 CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300-0" ); | |
1780 CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300-1" ); | |
1781 CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300-2" ); | |
1782 CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300-3" ); | |
1783 gtk_combo_set_popdown_strings( GTK_COMBO( CBDevice ),CBDevice_items ); | |
1784 g_list_free( CBDevice_items ); | |
1785 | |
1786 CEDXR3Device=GTK_COMBO( CBDevice )->entry; | |
1787 gtk_widget_set_name( CEDXR3Device,"CEDXR3Device" ); | |
1788 gtk_widget_show( CEDXR3Device ); | |
1789 gtk_entry_set_text( GTK_ENTRY( CEDXR3Device ),"/dev/em8300" ); | |
1790 | |
1791 AddHSeparator( vbox2 ); | |
1792 vbox3=AddVBox( vbox2,0 ); | |
1793 AddLabel( MSGTR_PREFERENCES_DXR3_VENC,vbox3 ); | |
1794 RBVNone=AddRadioButton( MSGTR_PREFERENCES_None,&VEncoder_group,vbox3 ); | |
1795 RBVLavc=AddRadioButton( MSGTR_PREFERENCES_DXR3_LAVC,&VEncoder_group,vbox3 ); | |
1796 | |
1797 AddHSeparator( vbox1 ); | |
1798 | |
1799 hbuttonbox1=AddHButtonBox( vbox1 ); | |
1800 gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox1 ),GTK_BUTTONBOX_END ); | |
1801 gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),10 ); | |
1802 dxr3BOk=AddButton( MSGTR_Ok,hbuttonbox1 ); | |
1803 dxr3BCancel=AddButton( MSGTR_Cancel,hbuttonbox1 ); | |
1804 | |
1805 gtk_widget_add_accelerator( dxr3BOk,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); | |
1806 gtk_widget_add_accelerator( dxr3BCancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); | |
1807 | |
1808 gtk_signal_connect( GTK_OBJECT( DXR3Config ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&DXR3Config ); | |
1809 | |
1810 gtk_signal_connect( GTK_OBJECT( dxr3BOk ),"clicked",GTK_SIGNAL_FUNC( dxr3Button ),(void *)0 ); | |
1811 gtk_signal_connect( GTK_OBJECT( dxr3BCancel ),"clicked",GTK_SIGNAL_FUNC( dxr3Button ),(void *)1 ); | |
1812 | |
1813 gtk_window_add_accel_group( GTK_WINDOW( DXR3Config ),accel_group ); | |
1814 | |
1815 return DXR3Config; | |
1816 } |