Mercurial > mplayer.hg
annotate Gui/mplayer/gtk/opts.c @ 8719:dc27303ae528
correct widget destroy event handler (thank for D J Hawkey Jr <hawkeyd@visi.com>)
author | pontscho |
---|---|
date | Thu, 02 Jan 2003 15:48:29 +0000 |
parents | 2df4e9d9922d |
children | d32accfed8e6 |
rev | line source |
---|---|
2901 | 1 |
6794 | 2 #include <sys/types.h> |
3 #include <sys/stat.h> | |
4 #include <unistd.h> | |
5 #include <string.h> | |
2901 | 6 |
6794 | 7 #include <gdk/gdkkeysyms.h> |
8 #include <gtk/gtk.h> | |
9 | |
2901 | 10 #include "../../../config.h" |
11 #include "../../../help_mp.h" | |
6794 | 12 #include "../../../mixer.h" |
13 #include "../../../libao2/audio_out.h" | |
14 #include "../../../libvo/video_out.h" | |
7186 | 15 |
6794 | 16 #include "../../cfg.h" |
17 #include "../../interface.h" | |
2901 | 18 #include "../widgets.h" |
19 #include "opts.h" | |
6794 | 20 #include "fs.h" |
8173 | 21 #include "common.h" |
2901 | 22 |
7186 | 23 typedef struct sh_video_t sh_video_t; |
24 typedef struct sh_audio_t sh_audio_t; | |
25 | |
7473
bd7a539178a3
compilation fix, patch by Sidik Isani <lksi@cfht.hawaii.edu>
arpi
parents:
7415
diff
changeset
|
26 // for mpcodecs_[av]d_drivers: |
7186 | 27 #include "../../../libmpcodecs/vd.h" |
28 #include "../../../libmpcodecs/ad.h" | |
29 | |
8299 | 30 GtkWidget * Preferences = NULL; |
6794 | 31 static GtkWidget * AConfig; |
32 static GtkWidget * VConfig; | |
33 //static GtkWidget * BLoadSubtitle; | |
34 static GtkWidget * BLoadFont; | |
35 static GtkWidget * BOk; | |
36 static GtkWidget * BCancel; | |
37 | |
38 static GtkWidget * CLADrivers; | |
39 static GtkWidget * CLVDrivers; | |
40 | |
41 //static GtkWidget * ESubtitleName; | |
42 GtkWidget * prEFontName; | |
43 static GtkWidget * EVFM; | |
7186 | 44 static GtkWidget * EAFM; |
6794 | 45 |
46 static GtkWidget * CBVFM; | |
7186 | 47 static GtkWidget * CBAFM; |
6794 | 48 static GtkWidget * CBAudioEqualizer; |
49 //static GtkWidget * CBSurround; | |
50 static GtkWidget * CBExtraStereo; | |
51 static GtkWidget * CBNoSound; | |
52 static GtkWidget * CBNormalize; | |
53 static GtkWidget * CBDoubleBuffer; | |
54 static GtkWidget * CBDR; | |
55 static GtkWidget * CBFramedrop; | |
56 static GtkWidget * CBHFramedrop; | |
57 //static GtkWidget * CBFullScreen; | |
58 static GtkWidget * CBNonInterlaved; | |
59 static GtkWidget * CBIndex; | |
60 static GtkWidget * CBFlip; | |
61 static GtkWidget * CBNoAutoSub; | |
62 static GtkWidget * CBSubUnicode; | |
8717 | 63 static GtkWidget * CBSubOverlap; |
6794 | 64 static GtkWidget * CBDumpMPSub; |
65 static GtkWidget * CBDumpSrt; | |
66 static GtkWidget * CBPostprocess; | |
7526 | 67 static GtkWidget * CBCache; |
7538 | 68 static GtkWidget * CBLoadFullscreen; |
8308 | 69 static GtkWidget * CBStopXScreenSaver; |
7526 | 70 |
71 static GtkWidget * SBCache; | |
72 static GtkAdjustment * SBCacheadj; | |
6794 | 73 |
8311 | 74 static GtkWidget * CBAutoSync; |
75 static GtkWidget * SBAutoSync; | |
76 static GtkAdjustment * SBAutoSyncadj; | |
77 | |
6794 | 78 static GtkWidget * RBOSDNone; |
79 static GtkWidget * RBOSDTandP; | |
80 static GtkWidget * RBOSDIndicator; | |
81 | |
82 static GtkWidget * HSAudioDelay; | |
83 static GtkWidget * HSExtraStereoMul; | |
84 static GtkWidget * HSPanscan; | |
85 static GtkWidget * HSSubDelay; | |
86 static GtkWidget * HSSubPosition; | |
87 static GtkWidget * HSSubFPS; | |
88 static GtkWidget * HSPPQuality; | |
89 | |
90 static GtkAdjustment * HSExtraStereoMuladj, * HSAudioDelayadj, * HSPanscanadj, * HSSubDelayadj; | |
7139 | 91 static GtkAdjustment * HSSubPositionadj, * HSSubFPSadj, * HSPPQualityadj; |
92 | |
93 #ifndef HAVE_FREETYPE | |
94 static GtkWidget * HSFontFactor; | |
95 static GtkAdjustment * HSFontFactoradj; | |
96 #else | |
97 static GtkWidget * HSFontBlur, * HSFontOutLine, * HSFontTextScale, * HSFontOSDScale; | |
98 static GtkAdjustment * HSFontBluradj, * HSFontOutLineadj, * HSFontTextScaleadj, * HSFontOSDScaleadj; | |
99 static GtkWidget * CBFontEncoding, * EFontEncoding; | |
100 static GtkWidget * RBFontNoAutoScale, * BRFontAutoScaleWidth, * RBFontAutoScaleHeight, * RBFontAutoScaleDiagonal; | |
101 //static GtkWidget * AutoScale; | |
102 #endif | |
6794 | 103 |
7139 | 104 #ifdef HAVE_FREETYPE |
105 static struct | |
106 { | |
107 char * name; | |
108 char * comment; | |
109 } lEncoding[] = | |
110 { | |
111 { "unicode", MSGTR_PREFERENCES_FontEncoding1 }, | |
112 { "iso-8859-1", MSGTR_PREFERENCES_FontEncoding2 }, | |
113 { "iso-8859-15", MSGTR_PREFERENCES_FontEncoding3 }, | |
114 { "iso-8859-2", MSGTR_PREFERENCES_FontEncoding4 }, | |
115 { "iso-8859-3", MSGTR_PREFERENCES_FontEncoding5 }, | |
116 { "iso-8859-4", MSGTR_PREFERENCES_FontEncoding6 }, | |
117 { "iso-8859-5", MSGTR_PREFERENCES_FontEncoding7 }, | |
7415 | 118 { "cp1251", MSGTR_PREFERENCES_FontEncoding21}, |
7139 | 119 { "iso-8859-6", MSGTR_PREFERENCES_FontEncoding8 }, |
120 { "iso-8859-7", MSGTR_PREFERENCES_FontEncoding9 }, | |
121 { "iso-8859-9", MSGTR_PREFERENCES_FontEncoding10 }, | |
122 { "iso-8859-13", MSGTR_PREFERENCES_FontEncoding11 }, | |
123 { "iso-8859-14", MSGTR_PREFERENCES_FontEncoding12 }, | |
124 { "iso-8859-8", MSGTR_PREFERENCES_FontEncoding13 }, | |
125 { "koi8-r", MSGTR_PREFERENCES_FontEncoding14 }, | |
126 { "koi8-u/ru", MSGTR_PREFERENCES_FontEncoding15 }, | |
127 { "cp936", MSGTR_PREFERENCES_FontEncoding16 }, | |
128 { "big5", MSGTR_PREFERENCES_FontEncoding17 }, | |
129 { "shift-jis", MSGTR_PREFERENCES_FontEncoding18 }, | |
130 { "cp949", MSGTR_PREFERENCES_FontEncoding19 }, | |
131 { "cp874", MSGTR_PREFERENCES_FontEncoding20 }, | |
132 { NULL,NULL } | |
133 }; | |
134 char * lCEncoding = NULL; | |
135 #endif | |
6794 | 136 |
137 static int old_audio_driver = 0; | |
6840 | 138 static char * ao_driver[3]; |
139 static char * vo_driver[3]; | |
6794 | 140 static int old_video_driver = 0; |
141 | |
7009 | 142 #ifdef USE_OSS_AUDIO |
143 void ShowOSSConfig( void ); | |
144 void HideOSSConfig( void ); | |
145 #endif | |
146 #ifdef HAVE_DXR3 | |
147 void ShowDXR3Config( void ); | |
148 void HideDXR3Config( void ); | |
149 #endif | |
8714
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
150 #ifdef HAVE_SDL |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
151 void ShowSDLConfig( void ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
152 void HideSDLConfig( void ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
153 #endif |
6794 | 154 static gboolean prHScaler( GtkWidget * widget,GdkEventMotion * event,gpointer user_data ); |
155 static void prToggled( GtkToggleButton * togglebutton,gpointer user_data ); | |
156 static void prCListRow( GtkCList * clist,gint row,gint column,GdkEvent * event,gpointer user_data ); | |
7139 | 157 #ifdef HAVE_FREETYPE |
158 static void prEntry( GtkContainer * container,GtkWidget * widget,gpointer user_data ); | |
159 #endif | |
6794 | 160 |
161 extern int muted; | |
8308 | 162 extern int stop_xscreensaver; |
6794 | 163 |
164 void ShowPreferences( void ) | |
165 { | |
8299 | 166 if ( Preferences ) gtkActive( Preferences ); |
6794 | 167 else Preferences=create_Preferences(); |
2901 | 168 |
6794 | 169 // -- 1. page |
170 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBAudioEqualizer ),gtkEnableAudioEqualizer ); | |
171 gtkAONoSound=muted; | |
172 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBNoSound ),gtkAONoSound ); | |
173 #if 0 | |
174 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSurround ),gtkAOSurround ); | |
175 #endif | |
176 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBExtraStereo ),gtkAOExtraStereo ); | |
177 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBNormalize ),gtkAONorm ); | |
178 gtk_adjustment_set_value( HSExtraStereoMuladj,gtkAOExtraStereoMul ); | |
179 { | |
180 int i = 0; | |
6840 | 181 char * tmp[3]; tmp[2]=""; |
8181 | 182 old_audio_driver=-1; |
8484 | 183 if ( CLADrivers ) gtk_clist_clear( GTK_CLIST( CLADrivers ) ); |
6794 | 184 while ( audio_out_drivers[i] ) |
185 { | |
186 const ao_info_t *info = audio_out_drivers[i++]->info; | |
187 if ( !strcmp( info->short_name,"plugin" ) ) continue; | |
7706 | 188 if ( audio_driver_list ) |
189 { | |
190 char * name = gstrdup( audio_driver_list[0] ); | |
8284 | 191 char * sep = gstrchr( audio_driver_list[0],':' ); |
7706 | 192 if ( sep ) *sep=0; |
193 if ( !gstrcmp( name,(char *)info->short_name ) ) old_audio_driver=i - 1; | |
8284 | 194 free( name ); |
7706 | 195 } |
6840 | 196 tmp[0]=(char *)info->short_name; tmp[1]=(char *)info->name; gtk_clist_append( GTK_CLIST( CLADrivers ),tmp ); |
6794 | 197 } |
8181 | 198 if ( old_audio_driver > -1 ) |
199 { | |
200 gtk_clist_select_row( GTK_CLIST( CLADrivers ),old_audio_driver,0 ); | |
201 gtk_clist_get_text( GTK_CLIST( CLADrivers ),old_audio_driver,0,(char **)&ao_driver ); | |
202 gtk_widget_set_sensitive( AConfig,FALSE ); | |
7009 | 203 #ifdef USE_OSS_AUDIO |
8181 | 204 if ( !strncmp( ao_driver[0],"oss",3 ) ) gtk_widget_set_sensitive( AConfig,TRUE ); |
7009 | 205 #endif |
8714
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
206 #ifdef HAVE_SDL |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
207 if ( !strncmp( ao_driver[0],"sdl",3 ) ) gtk_widget_set_sensitive( AConfig,TRUE ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
208 #endif |
8181 | 209 } |
6794 | 210 } |
2901 | 211 |
6794 | 212 // -- 2. page |
7019 | 213 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDoubleBuffer ),vo_doublebuffering ); |
214 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDR ),vo_directrendering ); | |
215 | |
216 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBFramedrop ),FALSE ); | |
217 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBHFramedrop ),FALSE ); | |
218 switch ( frame_dropping ) | |
219 { | |
220 case 2: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBHFramedrop ),TRUE ); | |
221 case 1: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBFramedrop ),TRUE ); | |
222 } | |
223 | |
7194 | 224 if (flip != -1) |
225 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBFlip ),flip ); | |
6794 | 226 gtk_adjustment_set_value( HSPanscanadj,vo_panscan ); |
7582 | 227 |
6794 | 228 { |
229 int i = 0, c = 0; | |
6840 | 230 char * tmp[3]; tmp[2]=""; |
6794 | 231 old_video_driver=0; |
8484 | 232 if ( CLVDrivers ) gtk_clist_clear( GTK_CLIST( CLVDrivers ) ); |
6794 | 233 while ( video_out_drivers[i] ) |
234 if ( video_out_drivers[i++]->control( VOCTRL_GUISUPPORT,NULL ) == VO_TRUE ) | |
235 { | |
8151 | 236 if ( video_driver_list && !gstrcmp( video_driver_list[0],(char *)video_out_drivers[i - 1]->info->short_name ) ) old_video_driver=c; c++; |
8154 | 237 tmp[0]=(char *)video_out_drivers[i - 1]->info->short_name; tmp[1]=(char *)video_out_drivers[i - 1]->info->name; |
238 gtk_clist_append( GTK_CLIST( CLVDrivers ),tmp ); | |
6794 | 239 } |
240 gtk_clist_select_row( GTK_CLIST( CLVDrivers ),old_video_driver,0 ); | |
241 gtk_clist_get_text( GTK_CLIST( CLVDrivers ),old_video_driver,0,(char **)&vo_driver ); | |
242 gtk_widget_set_sensitive( VConfig,FALSE ); | |
7009 | 243 #ifdef HAVE_DXR3 |
244 if ( !gstrcmp( vo_driver[0],"dxr3" ) ) gtk_widget_set_sensitive( VConfig,TRUE ); | |
245 #endif | |
6794 | 246 } |
2901 | 247 |
6794 | 248 // -- 3. page |
8717 | 249 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSubOverlap ),suboverlap_enabled ); |
7019 | 250 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBNoAutoSub ),!sub_auto ); |
6794 | 251 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDumpMPSub ),gtkSubDumpMPSub ); |
252 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDumpSrt ),gtkSubDumpSrt ); | |
7019 | 253 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSubUnicode ),sub_unicode ); |
254 gtk_adjustment_set_value( HSSubDelayadj,sub_delay ); | |
255 gtk_adjustment_set_value( HSSubFPSadj,sub_fps ); | |
256 gtk_adjustment_set_value( HSSubPositionadj,sub_pos ); | |
6794 | 257 switch ( osd_level ) |
2901 | 258 { |
6794 | 259 case 0: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBOSDNone ),TRUE ); break; |
260 case 1: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBOSDIndicator ),TRUE ); break; | |
261 case 2: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBOSDTandP ),TRUE ); break; | |
2901 | 262 } |
6794 | 263 #if 0 |
264 if ( guiIntfStruct.Subtitlename ) gtk_entry_set_text( GTK_ENTRY( ESubtitleName ),guiIntfStruct.Subtitlename ); | |
265 #endif | |
7139 | 266 // font ... |
7019 | 267 if ( font_name ) gtk_entry_set_text( GTK_ENTRY( prEFontName ),font_name ); |
7139 | 268 #ifndef HAVE_FREETYPE |
269 gtk_adjustment_set_value( HSFontFactoradj,font_factor ); | |
270 #else | |
7526 | 271 gtk_adjustment_set_value( HSFontBluradj,( subtitle_font_radius / 8.0f ) * 100.0f ); |
272 gtk_adjustment_set_value( HSFontOutLineadj,( subtitle_font_thickness / 8.0f ) * 100.0f ); | |
7139 | 273 gtk_adjustment_set_value( HSFontTextScaleadj,text_font_scale_factor ); |
274 gtk_adjustment_set_value( HSFontOSDScaleadj,osd_font_scale_factor ); | |
275 if ( subtitle_font_encoding ) | |
276 { | |
277 int i; | |
278 for ( i=0;lEncoding[i].name;i++ ) | |
279 if ( !gstrcmp( subtitle_font_encoding,lEncoding[i].name ) ) break; | |
280 if ( lEncoding[i].name ) lCEncoding=lEncoding[i].comment; | |
281 gtk_entry_set_text( GTK_ENTRY( EFontEncoding ),lCEncoding ); | |
282 } | |
283 switch ( subtitle_autoscale ) | |
284 { | |
285 case 0: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBFontNoAutoScale ),TRUE ); break; | |
286 case 1: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( BRFontAutoScaleWidth ),TRUE ); break; | |
287 case 2: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleHeight ),TRUE ); break; | |
288 case 3: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleDiagonal ),TRUE ); break; | |
289 } | |
290 #endif | |
6794 | 291 |
292 // -- 4. page | |
7019 | 293 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBNonInterlaved ),force_ni ); |
294 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBIndex ),index_mode ); | |
7009 | 295 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBPostprocess ),gtkVopPP ); |
7538 | 296 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBLoadFullscreen ),gtkLoadFullscreen ); |
8308 | 297 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBStopXScreenSaver ),stop_xscreensaver ); |
7019 | 298 gtk_adjustment_set_value( HSPPQualityadj,auto_quality ); |
6794 | 299 { |
7186 | 300 int i; |
301 GList * Items = NULL; | |
302 char * name = NULL; | |
303 | |
7203 | 304 Items=g_list_append( Items,MSGTR_PREFERENCES_None ); |
7186 | 305 for( i=0;mpcodecs_vd_drivers[i];i++ ) |
306 { | |
307 Items=g_list_append( Items,(char *)mpcodecs_vd_drivers[i]->info->name ); | |
7526 | 308 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; |
7186 | 309 } |
310 gtk_combo_set_popdown_strings( GTK_COMBO( CBVFM ),Items ); | |
311 g_list_free( Items ); | |
312 if ( name ) gtk_entry_set_text( GTK_ENTRY( EVFM ),name ); | |
313 } | |
7526 | 314 |
7186 | 315 { |
316 int i; | |
317 GList * Items = NULL; | |
318 char * name = NULL; | |
319 | |
7203 | 320 Items=g_list_append( Items,MSGTR_PREFERENCES_None ); |
7186 | 321 for( i=0;mpcodecs_ad_drivers[i];i++ ) |
322 { | |
323 Items=g_list_append( Items,(char *)mpcodecs_ad_drivers[i]->info->name ); | |
7526 | 324 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; |
7186 | 325 } |
326 gtk_combo_set_popdown_strings( GTK_COMBO( CBAFM ),Items ); | |
327 g_list_free( Items ); | |
328 if ( name ) gtk_entry_set_text( GTK_ENTRY( EAFM ),name ); | |
6794 | 329 } |
330 | |
7526 | 331 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBCache ),0 ); |
8284 | 332 gtk_adjustment_set_value( SBCacheadj,(float)gtkCacheSize ); |
333 if ( !gtkCacheOn ) gtk_widget_set_sensitive( SBCache,FALSE ); | |
8311 | 334 else gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBCache ),TRUE ); |
335 | |
336 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBAutoSync ),0 ); | |
337 gtk_adjustment_set_value( SBAutoSyncadj,(float)gtkAutoSync ); | |
338 if ( !gtkAutoSyncOn ) gtk_widget_set_sensitive( SBAutoSync,FALSE ); | |
339 else gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBAutoSync ),TRUE ); | |
7526 | 340 |
6794 | 341 // -- disables |
342 #ifndef USE_SUB | |
343 gtk_widget_set_sensitive( AConfig,FALSE ); | |
344 gtk_widget_set_sensitive( CBNoAutoSub,FALSE ); | |
8717 | 345 gtk_widget_set_sensitive( CBSubOverlap,FALSE ); |
6794 | 346 gtk_widget_set_sensitive( CBSubUnicode,FALSE ); |
347 gtk_widget_set_sensitive( CBDumpMPSub,FALSE ); | |
348 gtk_widget_set_sensitive( CBDumpSrt,FALSE ); | |
349 gtk_widget_set_sensitive( HSSubDelay,FALSE ); | |
350 gtk_widget_set_sensitive( HSSubPosition,FALSE ); | |
351 gtk_widget_set_sensitive( HSSubFPS,FALSE ); | |
352 #endif | |
353 | |
354 #ifndef USE_OSD | |
355 gtk_widget_set_sensitive( RBOSDNone,FALSE ); | |
356 gtk_widget_set_sensitive( RBOSDTandP,FALSE ); | |
357 gtk_widget_set_sensitive( RBOSDIndicator,FALSE ); | |
358 #endif | |
359 | |
360 #if !defined( USE_OSD ) && !defined( USE_SUB ) | |
361 gtk_widget_set_sensitive( HSFontFactor,FALSE ); | |
362 gtk_widget_set_sensitive( prEFontName,FALSE ); | |
363 gtk_widget_set_sensitive( BLoadFont,FALSE ); | |
364 #endif | |
365 | |
366 // -- signals | |
367 gtk_signal_connect( GTK_OBJECT( CBExtraStereo ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)0 ); | |
368 gtk_signal_connect( GTK_OBJECT( CBNormalize ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)1 ); | |
369 gtk_signal_connect( GTK_OBJECT( CBAudioEqualizer ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)2 ); | |
370 gtk_signal_connect( GTK_OBJECT( CBNoSound ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)3 ); | |
7139 | 371 #ifdef HAVE_FREETYPE |
372 gtk_signal_connect( GTK_OBJECT( RBFontNoAutoScale ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)4 ); | |
373 gtk_signal_connect( GTK_OBJECT( BRFontAutoScaleWidth ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)5 ); | |
374 gtk_signal_connect( GTK_OBJECT( RBFontAutoScaleHeight ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)6 ); | |
375 gtk_signal_connect( GTK_OBJECT( RBFontAutoScaleDiagonal ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)7 ); | |
376 #endif | |
7526 | 377 gtk_signal_connect( GTK_OBJECT( CBCache ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)8); |
8311 | 378 gtk_signal_connect( GTK_OBJECT( CBAutoSync ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)9); |
6794 | 379 |
380 gtk_signal_connect( GTK_OBJECT( HSExtraStereoMul ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)0 ); | |
381 gtk_signal_connect( GTK_OBJECT( HSAudioDelay ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)1 ); | |
382 gtk_signal_connect( GTK_OBJECT( HSPanscan ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)2 ); | |
383 gtk_signal_connect( GTK_OBJECT( HSSubDelay ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)3 ); | |
384 gtk_signal_connect( GTK_OBJECT( HSSubPosition ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)4 ); | |
7139 | 385 #ifndef HAVE_FREETYPE |
6794 | 386 gtk_signal_connect( GTK_OBJECT( HSFontFactor ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)5 ); |
7139 | 387 #else |
388 gtk_signal_connect( GTK_OBJECT( HSFontBlur ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)6 ); | |
389 gtk_signal_connect( GTK_OBJECT( HSFontOutLine ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)7 ); | |
390 gtk_signal_connect( GTK_OBJECT( HSFontTextScale ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)8 ); | |
391 gtk_signal_connect( GTK_OBJECT( HSFontOSDScale ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)9 ); | |
392 gtk_signal_connect( GTK_OBJECT( EFontEncoding ),"changed",GTK_SIGNAL_FUNC( prEntry ),NULL ); | |
393 #endif | |
7751 | 394 gtk_signal_connect( GTK_OBJECT( HSPPQuality ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)10 ); |
6794 | 395 |
396 gtk_signal_connect( GTK_OBJECT( CLADrivers ),"select_row",GTK_SIGNAL_FUNC( prCListRow ),(void*)0 ); | |
397 gtk_signal_connect( GTK_OBJECT( CLVDrivers ),"select_row",GTK_SIGNAL_FUNC( prCListRow ),(void*)1 ); | |
398 | |
399 gtk_widget_show( Preferences ); | |
400 gtkSetLayer( Preferences ); | |
401 gtkMessageBox( GTK_MB_WARNING,MSGTR_PREFERENCES_Message ); | |
2901 | 402 } |
403 | |
6794 | 404 void HidePreferences( void ) |
2901 | 405 { |
8299 | 406 if ( !Preferences ) return; |
407 gtk_widget_hide( Preferences ); | |
408 gtk_widget_destroy( Preferences ); | |
409 Preferences=NULL; | |
7009 | 410 #ifdef USE_OSS_AUDIO |
6794 | 411 HideOSSConfig(); |
7009 | 412 #endif |
8714
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
413 #ifdef HAVE_SDL |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
414 HideSDLConfig(); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
415 #endif |
7009 | 416 #ifdef HAVE_DXR3 |
417 HideDXR3Config(); | |
418 #endif | |
6794 | 419 } |
420 | |
7139 | 421 #ifdef HAVE_FREETYPE |
422 static void prEntry( GtkContainer * container,GtkWidget * widget,gpointer user_data ) | |
423 { | |
424 char * comment = gtk_entry_get_text( GTK_ENTRY( EFontEncoding ) ); | |
425 int i; | |
426 | |
427 for ( i=0;lEncoding[i].name;i++ ) | |
428 if ( !gstrcmp( lEncoding[i].comment,comment ) ) break; | |
429 | |
430 if ( lEncoding[i].comment ) gtkSet( gtkSetFontEncoding,0,lEncoding[i].name ); | |
431 } | |
432 #endif | |
433 | |
6794 | 434 #define bAConfig 0 |
435 #define bVconfig 1 | |
436 #define bOk 2 | |
437 #define bCancel 3 | |
438 #define bLSubtitle 4 | |
439 #define bLFont 5 | |
440 | |
441 void prButton( GtkButton * button,gpointer user_data ) | |
442 { | |
443 switch ( (int)user_data ) | |
2901 | 444 { |
6794 | 445 case bOk: |
446 // -- 1. page | |
447 gtkEnableAudioEqualizer=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBAudioEqualizer ) ); | |
448 gtkAOExtraStereo=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBExtraStereo ) ); | |
449 gtkAONorm=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBNormalize ) ); | |
450 gtkAONoSound=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBNoSound ) ); | |
451 gtkSet( gtkSetExtraStereo,HSExtraStereoMuladj->value,NULL ); | |
8043 | 452 audio_delay=HSAudioDelayadj->value; |
7582 | 453 |
454 gaddlist( &audio_driver_list,ao_driver[0] ); | |
455 gaddlist( &video_driver_list,vo_driver[0] ); | |
6794 | 456 |
457 // -- 2. page | |
7019 | 458 vo_doublebuffering=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBDoubleBuffer ) ); |
459 vo_directrendering=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBDR ) ); | |
460 | |
461 frame_dropping=0; | |
462 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBFramedrop ) ) == TRUE ) frame_dropping=1; | |
463 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBHFramedrop ) ) == TRUE ) frame_dropping=2; | |
464 | |
7705 | 465 flip=-1; |
466 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBFlip ) ) ) flip=1; | |
6794 | 467 |
468 // -- 3. page | |
8717 | 469 suboverlap_enabled=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBSubOverlap ) ); |
8043 | 470 sub_auto=!gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBNoAutoSub ) ); |
6794 | 471 gtkSubDumpMPSub=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBDumpMPSub ) ); |
472 gtkSubDumpSrt=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBDumpSrt ) ); | |
7019 | 473 sub_unicode=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBSubUnicode ) ); |
8043 | 474 sub_delay=HSSubDelayadj->value; |
475 sub_fps=HSSubFPSadj->value; | |
476 sub_pos=(int)HSSubPositionadj->value; | |
6794 | 477 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBOSDNone ) ) ) osd_level=0; |
478 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBOSDIndicator ) ) ) osd_level=1; | |
479 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBOSDTandP ) ) ) osd_level=2; | |
7139 | 480 |
481 // font ... | |
7019 | 482 guiSetFilename( font_name,gtk_entry_get_text( GTK_ENTRY( prEFontName ) ) ); |
7139 | 483 #ifndef HAVE_FREETYPE |
484 gtkSet( gtkSetFontFactor,HSFontFactoradj->value,NULL ); | |
485 #else | |
486 gtkSet( gtkSetFontBlur,HSFontBluradj->value,NULL ); | |
487 gtkSet( gtkSetFontOutLine,HSFontOutLineadj->value,NULL ); | |
488 gtkSet( gtkSetFontTextScale,HSFontTextScaleadj->value,NULL ); | |
489 gtkSet( gtkSetFontOSDScale,HSFontOSDScaleadj->value,NULL ); | |
490 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBFontNoAutoScale ) ) ) gtkSet( gtkSetFontAutoScale,0,NULL ); | |
491 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( BRFontAutoScaleWidth ) ) ) gtkSet( gtkSetFontAutoScale,1,NULL ); | |
492 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleHeight ) ) ) gtkSet( gtkSetFontAutoScale,2,NULL ); | |
493 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleDiagonal ) ) ) gtkSet( gtkSetFontAutoScale,3,NULL ); | |
494 #endif | |
6794 | 495 |
496 // -- 4. page | |
7019 | 497 force_ni=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBNonInterlaved ) ); |
498 index_mode=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBIndex ) ); | |
7009 | 499 gtkVopPP=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBPostprocess ) ); |
7538 | 500 gtkLoadFullscreen=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBLoadFullscreen ) ); |
8308 | 501 stop_xscreensaver=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBStopXScreenSaver ) ); |
6794 | 502 gtkSet( gtkSetAutoq,HSPPQualityadj->value,NULL ); |
7526 | 503 |
8284 | 504 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBCache ) ) ) { gtkCacheSize=(int)SBCacheadj->value; gtkCacheOn=1; } |
505 else gtkCacheOn=0; | |
8311 | 506 |
507 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBAutoSync ) ) ) { gtkAutoSync=(int)SBAutoSyncadj->value; gtkAutoSyncOn=1; } | |
508 else gtkAutoSyncOn=0; | |
7526 | 509 |
6794 | 510 { |
511 int i; | |
512 char * tmp = gtk_entry_get_text( GTK_ENTRY( EVFM ) ); | |
7186 | 513 for( i=0;mpcodecs_vd_drivers[i];i++ ) |
7582 | 514 if ( !gstrcmp( tmp,(char *)mpcodecs_vd_drivers[i]->info->name ) ) |
515 { gaddlist( &video_fm_list,(char *)mpcodecs_vd_drivers[i]->info->short_name ); break; } | |
7186 | 516 } |
7526 | 517 |
7186 | 518 { |
519 int i; | |
520 char * tmp = gtk_entry_get_text( GTK_ENTRY( EAFM ) ); | |
521 for( i=0;mpcodecs_ad_drivers[i];i++ ) | |
7582 | 522 if ( !gstrcmp( tmp,(char *)mpcodecs_ad_drivers[i]->info->name ) ) |
523 { gaddlist( &audio_fm_list,(char *)mpcodecs_ad_drivers[i]->info->short_name ); break; } | |
6794 | 524 } |
525 | |
526 case bCancel: | |
527 HidePreferences(); | |
528 break; | |
529 case bAConfig: | |
8299 | 530 if ( !ao_driver[0] ) break; |
6794 | 531 gtk_widget_set_sensitive( AConfig,FALSE ); |
7009 | 532 #ifdef USE_OSS_AUDIO |
7706 | 533 if ( !strncmp( ao_driver[0],"oss",3 ) ) { ShowOSSConfig(); gtk_widget_set_sensitive( AConfig,TRUE ); } |
7009 | 534 #endif |
8714
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
535 #ifdef HAVE_SDL |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
536 if ( !strncmp( ao_driver[0],"sdl",3 ) ) { ShowSDLConfig(); gtk_widget_set_sensitive( AConfig,TRUE ); } |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
537 #endif |
6794 | 538 break; |
7009 | 539 case bVconfig: |
8299 | 540 if ( !vo_driver[0] ) break; |
7009 | 541 gtk_widget_set_sensitive( VConfig,FALSE ); |
542 #ifdef HAVE_DXR3 | |
543 if ( !gstrcmp( vo_driver[0],"dxr3" ) ) { ShowDXR3Config(); gtk_widget_set_sensitive( VConfig,TRUE ); } | |
544 #endif | |
545 break; | |
6794 | 546 #if 0 |
547 case bLSubtitle: | |
548 break; | |
549 #endif | |
550 case bLFont: | |
551 ShowFileSelect( fsFontSelector,FALSE ); | |
552 gtkSetLayer( fsFileSelect ); | |
553 break; | |
554 } | |
555 } | |
556 | |
557 static gboolean prHScaler( GtkWidget * widget,GdkEventMotion * event,gpointer user_data ) | |
558 { | |
559 switch ( (int)user_data ) | |
560 { | |
561 case 0: // extra stereo coefficient | |
562 if ( !guiIntfStruct.Playing ) break; | |
563 gtkSet( gtkSetExtraStereo,HSExtraStereoMuladj->value,NULL ); | |
564 break; | |
565 case 1: // audio delay | |
8043 | 566 audio_delay=HSAudioDelayadj->value; |
6794 | 567 break; |
568 case 2: // panscan | |
569 gtkSet( gtkSetPanscan,HSPanscanadj->value,NULL ); | |
570 break; | |
571 case 3: // sub delay | |
8043 | 572 sub_delay=HSSubDelayadj->value; |
6794 | 573 break; |
574 case 4: // sub position | |
8043 | 575 sub_pos=(int)HSSubPositionadj->value; |
6794 | 576 break; |
8154 | 577 #ifndef HAVE_FREETYPE |
6794 | 578 case 5: // font factor |
579 gtkSet( gtkSetFontFactor,HSFontFactoradj->value,NULL ); | |
580 break; | |
7139 | 581 #else |
582 case 6: // font blur | |
583 gtkSet( gtkSetFontBlur,HSFontBluradj->value,NULL ); | |
584 break; | |
585 case 7: // font outline | |
586 gtkSet( gtkSetFontOutLine,HSFontOutLineadj->value,NULL ); | |
587 break; | |
588 case 8: // text scale | |
589 gtkSet( gtkSetFontTextScale,HSFontTextScaleadj->value,NULL ); | |
590 break; | |
591 case 9: // osd scale | |
592 gtkSet( gtkSetFontOSDScale,HSFontOSDScaleadj->value,NULL ); | |
593 break; | |
594 #endif | |
7751 | 595 case 10: // auto quality |
596 gtkSet( gtkSetAutoq,HSPPQualityadj->value,NULL ); | |
597 break; | |
2901 | 598 } |
599 return FALSE; | |
600 } | |
601 | |
6794 | 602 static void prToggled( GtkToggleButton * togglebutton,gpointer user_data ) |
2901 | 603 { |
6794 | 604 switch ( (int)user_data ) |
605 { | |
606 case 0: // extra stereo coefficient | |
607 if ( guiIntfStruct.Playing ) | |
608 gtk_widget_set_sensitive( HSExtraStereoMul,gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBExtraStereo ) ) ); | |
609 break; | |
610 // case 1: // normalize | |
611 // case 2: // equalizer | |
612 // if ( guiIntfStruct.Playing ) gtkMessageBox( GTK_MB_WARNING,"Please remember, this function need restart the playing." ); | |
613 // break; | |
614 case 3: // no sound | |
615 mixer_mute(); | |
616 break; | |
7139 | 617 case 4: |
618 case 5: | |
619 case 6: | |
620 case 7: | |
621 gtkSet( gtkSetFontAutoScale,(float)((int)user_data - 4 ),NULL ); | |
622 break; | |
7526 | 623 case 8: |
624 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBCache ) ) ) gtk_widget_set_sensitive( SBCache,TRUE ); | |
625 else gtk_widget_set_sensitive( SBCache,FALSE ); | |
626 break; | |
8311 | 627 case 9: |
628 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBAutoSync ) ) ) gtk_widget_set_sensitive( SBAutoSync,TRUE ); | |
629 else gtk_widget_set_sensitive( SBAutoSync,FALSE ); | |
630 break; | |
6794 | 631 } |
2901 | 632 } |
633 | |
6794 | 634 static void prCListRow( GtkCList * clist,gint row,gint column,GdkEvent * event,gpointer user_data ) |
2901 | 635 { |
6794 | 636 switch ( (int)user_data ) |
637 { | |
638 case 0: // audio driver | |
639 gtk_clist_get_text( GTK_CLIST( CLADrivers ),row,0,(char **)&ao_driver ); | |
640 gtk_widget_set_sensitive( AConfig,FALSE ); | |
7009 | 641 #ifdef USE_OSS_AUDIO |
7706 | 642 if ( !strncmp( ao_driver[0],"oss",3 ) ) gtk_widget_set_sensitive( AConfig,TRUE ); |
7009 | 643 #endif |
8714
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
644 #ifdef HAVE_SDL |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
645 if ( !strncmp( ao_driver[0],"sdl",3 ) ) gtk_widget_set_sensitive( AConfig,TRUE ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
646 #endif |
6794 | 647 break; |
648 case 1: // video driver | |
649 gtk_clist_get_text( GTK_CLIST( CLVDrivers ),row,0,(char **)&vo_driver ); | |
7009 | 650 gtk_widget_set_sensitive( VConfig,FALSE ); |
651 #ifdef HAVE_DXR3 | |
652 if ( !gstrcmp( vo_driver[0],"dxr3" ) ) gtk_widget_set_sensitive( VConfig,TRUE ); | |
653 #endif | |
6794 | 654 break; |
655 } | |
2901 | 656 } |
657 | |
6794 | 658 GtkWidget * create_Preferences( void ) |
2901 | 659 { |
8156 | 660 GtkWidget * label; |
8173 | 661 GtkWidget * frame; |
662 | |
6794 | 663 GtkWidget * vbox1; |
664 GtkWidget * notebook1; | |
665 GtkWidget * hbox1; | |
666 GtkWidget * vbox2; | |
667 GtkWidget * scrolledwindow3; | |
668 GtkWidget * hbuttonbox2; | |
669 GtkWidget * vbox3; | |
670 GtkWidget * hbox8; | |
671 GtkWidget * hbox2; | |
672 GtkWidget * vbox4; | |
673 GtkWidget * scrolledwindow2; | |
674 GtkWidget * hbuttonbox3; | |
675 GtkWidget * vbox5; | |
676 GtkWidget * hbox3; | |
677 GtkWidget * vbox6; | |
678 GtkWidget * vbox600; | |
679 GSList * OSD_group = NULL; | |
7139 | 680 GSList * Font_group = NULL; |
681 GList * CBFontEncoding_items = NULL; | |
6794 | 682 GtkWidget * vbox7; |
683 GtkWidget * vbox8; | |
684 GtkWidget * table1; | |
685 GtkWidget * vbox9; | |
686 GtkWidget * vbox603; | |
687 GtkWidget * hbox6; | |
688 GtkWidget * hbuttonbox5; | |
7139 | 689 #ifndef HAVE_FREETYPE |
6794 | 690 GtkWidget * hbox7; |
7139 | 691 #endif |
6794 | 692 GtkWidget * vbox601; |
693 GtkWidget * vbox602; | |
694 GtkWidget * hbox5; | |
695 GtkWidget * hbuttonbox1; | |
696 GtkAccelGroup * accel_group; | |
697 | |
698 accel_group=gtk_accel_group_new(); | |
2901 | 699 |
8043 | 700 Preferences=gtk_window_new( GTK_WINDOW_TOPLEVEL ); |
6794 | 701 gtk_widget_set_name( Preferences,"Preferences" ); |
702 gtk_object_set_data( GTK_OBJECT( Preferences ),"Preferences",Preferences ); | |
703 gtk_window_set_title( GTK_WINDOW( Preferences ),MSGTR_Preferences ); | |
704 gtk_window_set_position( GTK_WINDOW( Preferences ),GTK_WIN_POS_CENTER ); | |
7217 | 705 // gtk_window_set_policy( GTK_WINDOW( Preferences ),FALSE,FALSE,FALSE ); |
6794 | 706 gtk_window_set_wmclass( GTK_WINDOW( Preferences ),"Preferences","MPlayer" ); |
707 | |
708 gtk_widget_realize( Preferences ); | |
709 gtkAddIcon( Preferences ); | |
2901 | 710 |
8299 | 711 vbox1=AddVBox( AddDialogFrame( Preferences ),0 ); |
6794 | 712 notebook1=gtk_notebook_new(); |
713 gtk_widget_set_name( notebook1,"notebook1" ); | |
714 gtk_widget_show( notebook1 ); | |
715 gtk_box_pack_start( GTK_BOX( vbox1 ),notebook1,TRUE,TRUE,0 ); | |
2901 | 716 |
8173 | 717 hbox1=AddHBox( notebook1,0 ); |
6794 | 718 |
8154 | 719 frame=AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,hbox1,1 ); |
720 frame=AddFrame( NULL,GTK_SHADOW_NONE,frame,1 ); | |
6840 | 721 |
8299 | 722 vbox2=AddVBox( frame,0 ); |
2901 | 723 |
6794 | 724 scrolledwindow3=gtk_scrolled_window_new( NULL,NULL ); |
725 gtk_widget_set_name( scrolledwindow3,"scrolledwindow3" ); | |
726 gtk_widget_show( scrolledwindow3 ); | |
727 gtk_box_pack_start( GTK_BOX( vbox2 ),scrolledwindow3,TRUE,TRUE,0 ); | |
728 gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow3 ),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC ); | |
729 | |
6840 | 730 CLADrivers=gtk_clist_new( 2 ); |
6794 | 731 gtk_widget_set_name( CLADrivers,"CLADrivers" ); |
732 gtk_widget_show( CLADrivers ); | |
733 gtk_container_add( GTK_CONTAINER( scrolledwindow3 ),CLADrivers ); | |
6840 | 734 gtk_clist_set_column_width( GTK_CLIST( CLADrivers ),0,50 ); |
6794 | 735 gtk_clist_column_titles_show( GTK_CLIST( CLADrivers ) ); |
736 gtk_clist_set_shadow_type( GTK_CLIST( CLADrivers ),GTK_SHADOW_NONE ); | |
6840 | 737 gtk_widget_set_usize( CLADrivers,200,-2 ); |
8299 | 738 gtk_clist_set_column_widget( GTK_CLIST( CLADrivers ),0, |
739 AddLabel( MSGTR_PREFERENCES_AvailableDrivers,NULL ) ); | |
6794 | 740 |
8299 | 741 AConfig=AddButton( MSGTR_ConfigDriver, |
742 AddHButtonBox( vbox2 ) ); | |
6794 | 743 |
8299 | 744 vbox3=AddVBox( |
745 AddFrame( NULL,GTK_SHADOW_NONE, | |
746 AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,hbox1,1 ),1 ),0 ); | |
8173 | 747 gtk_widget_set_usize( vbox3,250,-2 ); |
2901 | 748 |
8173 | 749 CBNoSound=AddCheckButton( MSGTR_PREFERENCES_DoNotPlaySound,vbox3 ); |
750 AddHSeparator( vbox3 ); | |
751 CBNormalize=AddCheckButton( MSGTR_PREFERENCES_NormalizeSound,vbox3 ); | |
752 CBAudioEqualizer=AddCheckButton( MSGTR_PREFERENCES_EnEqualizer,vbox3 ); | |
6794 | 753 #if 0 |
8173 | 754 CBSurround=AddCheckButton( "Enable surround",vbox3 ); |
6794 | 755 #endif |
8173 | 756 CBExtraStereo=AddCheckButton( MSGTR_PREFERENCES_ExtraStereo,vbox3 ); |
6794 | 757 |
8173 | 758 hbox8=AddHBox( vbox3,1 ); |
2901 | 759 |
8156 | 760 label=AddLabel( MSGTR_PREFERENCES_Coefficient,hbox8 ); |
761 gtk_misc_set_padding( GTK_MISC( label ),20,0 ); | |
6794 | 762 |
763 HSExtraStereoMuladj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-10,10,0.1,0,0 ) ); | |
8173 | 764 HSExtraStereoMul=AddHScaler( HSExtraStereoMuladj,hbox8,1 ); |
765 hbox8=AddHBox( vbox3,1 ); | |
8156 | 766 AddLabel( MSGTR_PREFERENCES_AudioDelay,hbox8 ); |
6794 | 767 |
768 HSAudioDelayadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-100,100,0.01,0,0 ) ); | |
8173 | 769 HSAudioDelay=AddHScaler( HSAudioDelayadj,hbox8,2 ); |
8156 | 770 label=AddLabel( MSGTR_PREFERENCES_Audio,NULL ); |
771 gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),0 ),label ); | |
8173 | 772 hbox2=AddHBox( notebook1,0 ); |
6794 | 773 |
8299 | 774 vbox4=AddVBox( |
775 AddFrame( NULL,GTK_SHADOW_NONE, | |
776 AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,hbox2,1 ),1 ),0 ); | |
2901 | 777 |
6794 | 778 scrolledwindow2=gtk_scrolled_window_new( NULL,NULL ); |
779 gtk_widget_set_name( scrolledwindow2,"scrolledwindow2" ); | |
780 gtk_widget_show( scrolledwindow2 ); | |
781 gtk_box_pack_start( GTK_BOX( vbox4 ),scrolledwindow2,TRUE,TRUE,0 ); | |
782 gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow2 ),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC ); | |
783 | |
6840 | 784 CLVDrivers=gtk_clist_new( 2 ); |
6794 | 785 gtk_widget_set_name( CLVDrivers,"CLVDrivers" ); |
786 gtk_widget_show( CLVDrivers ); | |
787 gtk_container_add( GTK_CONTAINER( scrolledwindow2 ),CLVDrivers ); | |
6840 | 788 gtk_clist_set_column_width( GTK_CLIST( CLVDrivers ),0,50 ); |
6794 | 789 gtk_clist_column_titles_show( GTK_CLIST( CLVDrivers ) ); |
790 gtk_clist_set_shadow_type( GTK_CLIST( CLVDrivers ),GTK_SHADOW_NONE ); | |
6840 | 791 gtk_widget_set_usize( CLVDrivers,200,-2 ); |
6794 | 792 |
8156 | 793 label=AddLabel( MSGTR_PREFERENCES_AvailableDrivers,NULL ); |
794 gtk_clist_set_column_widget( GTK_CLIST( CLVDrivers ),0,label ); | |
6794 | 795 |
8173 | 796 hbuttonbox3=AddHButtonBox( vbox4 ); |
797 VConfig=AddButton( MSGTR_ConfigDriver,hbuttonbox3 ); | |
2901 | 798 |
8299 | 799 vbox5=AddVBox( |
800 AddFrame( NULL,GTK_SHADOW_NONE, | |
801 AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,hbox2,1 ),1 ),0 ); | |
8173 | 802 gtk_widget_set_usize( vbox5,250,-2 ); |
2901 | 803 |
8173 | 804 CBDoubleBuffer=AddCheckButton( MSGTR_PREFERENCES_DoubleBuffer,vbox5 ); |
805 CBDR=AddCheckButton( MSGTR_PREFERENCES_DirectRender,vbox5 ); | |
806 CBFramedrop=AddCheckButton( MSGTR_PREFERENCES_FrameDrop,vbox5 ); | |
807 CBHFramedrop=AddCheckButton( MSGTR_PREFERENCES_HFrameDrop,vbox5 ); | |
808 CBFlip=AddCheckButton( MSGTR_PREFERENCES_Flip,vbox5 ); | |
6794 | 809 |
8173 | 810 hbox3=AddHBox( vbox5,1 ); |
6794 | 811 |
8156 | 812 AddLabel( MSGTR_PREFERENCES_Panscan,hbox3 ); |
2901 | 813 |
6794 | 814 HSPanscanadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,1,0.001,0,0 ) ); |
8173 | 815 HSPanscan=AddHScaler( HSPanscanadj,hbox3,1 ); |
6794 | 816 |
8156 | 817 label=AddLabel( MSGTR_PREFERENCES_Video,NULL ); |
8173 | 818 gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),1 ),label ); |
8299 | 819 |
820 vbox6=AddVBox( notebook1,0 ); | |
6794 | 821 |
8299 | 822 vbox600=AddVBox( |
823 AddFrame( NULL,GTK_SHADOW_NONE, | |
824 AddFrame( MSGTR_PREFERENCES_FRAME_OSD_Level,GTK_SHADOW_ETCHED_OUT,vbox6,1 ),1 ),0 ); | |
2901 | 825 |
8173 | 826 RBOSDNone=AddRadioButton( MSGTR_PREFERENCES_None,&OSD_group,vbox600 ); |
827 RBOSDTandP=AddRadioButton( MSGTR_PREFERENCES_OSDTimer,&OSD_group,vbox600 ); | |
828 RBOSDIndicator=AddRadioButton( MSGTR_PREFERENCES_OSDProgress,&OSD_group,vbox600 ); | |
6794 | 829 |
8299 | 830 vbox7=AddVBox( |
831 AddFrame( NULL,GTK_SHADOW_NONE, | |
832 AddFrame( MSGTR_PREFERENCES_FRAME_Subtitle,GTK_SHADOW_ETCHED_OUT,vbox6,1 ),1 ),0 ); | |
6840 | 833 |
6794 | 834 #if 0 |
8173 | 835 hbox4=AddHBox( vbox7,1 ); |
6794 | 836 |
8173 | 837 AddLabel( MSGTR_PREFERENCES_Subtitle,hbox4 ); |
6794 | 838 |
839 ESubtitleName=gtk_entry_new(); | |
840 gtk_widget_set_name( ESubtitleName,"ESubtitleName" ); | |
841 gtk_widget_show( ESubtitleName ); | |
842 gtk_box_pack_start( GTK_BOX( hbox4 ),ESubtitleName,TRUE,TRUE,0 ); | |
843 | |
8173 | 844 hbuttonbox4=AddHButtonBox( hbuttonbox4 ); |
845 gtk_container_set_border_width( GTK_CONTAINER( hbuttonbox4 ),3 ); | |
846 BLoadSubtitle=AddButton( MSGTR_Browse,hbuttonbox4 ); | |
847 #endif | |
2901 | 848 |
8299 | 849 vbox8=AddVBox( vbox7,0 ); |
6794 | 850 |
851 table1=gtk_table_new( 3,2,FALSE ); | |
852 gtk_widget_set_name( table1,"table1" ); | |
853 gtk_widget_show( table1 ); | |
854 gtk_box_pack_start( GTK_BOX( vbox8 ),table1,FALSE,FALSE,0 ); | |
2901 | 855 |
8156 | 856 label=AddLabel( MSGTR_PREFERENCES_SUB_Delay,NULL ); |
857 gtk_table_attach( GTK_TABLE( table1 ),label,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
2901 | 858 |
8156 | 859 label=AddLabel( MSGTR_PREFERENCES_SUB_FPS,NULL ); |
860 gtk_table_attach( GTK_TABLE( table1 ),label,0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
6794 | 861 |
862 HSSubDelayadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-10.0,10,0.01,0,0 ) ); | |
8173 | 863 HSSubDelay=AddHScaler( HSSubDelayadj,NULL,1 ); |
864 gtk_table_attach( GTK_TABLE( table1 ),HSSubDelay,1,2,0,1,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
2901 | 865 |
8156 | 866 label=AddLabel( MSGTR_PREFERENCES_SUB_POS,NULL ); |
867 gtk_table_attach( GTK_TABLE( table1 ),label,0,1,2,3,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
6794 | 868 |
869 HSSubPositionadj=GTK_ADJUSTMENT( gtk_adjustment_new( 100,0,100,1,0,0 ) ); | |
8173 | 870 HSSubPosition=AddHScaler( HSSubPositionadj,NULL,0 ); |
871 gtk_table_attach( GTK_TABLE( table1 ),HSSubPosition,1,2,2,3,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
6794 | 872 |
873 HSSubFPSadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.01,0,0 ) ); | |
8173 | 874 HSSubFPS=AddHScaler( HSSubFPSadj,NULL,1 ); |
875 gtk_table_attach( GTK_TABLE( table1 ),HSSubFPS,1,2,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
6794 | 876 |
8299 | 877 vbox9=AddVBox( vbox8,0 ); |
6794 | 878 |
8717 | 879 CBSubOverlap=AddCheckButton( MSGTR_PREFERENCES_SUB_Overlap,vbox9 ); |
8173 | 880 CBNoAutoSub=AddCheckButton( MSGTR_PREFERENCES_SUB_AutoLoad,vbox9 ); |
881 CBSubUnicode=AddCheckButton( MSGTR_PREFERENCES_SUB_Unicode,vbox9 ); | |
882 CBDumpMPSub=AddCheckButton( MSGTR_PREFERENCES_SUB_MPSUB,vbox9 ); | |
883 CBDumpSrt=AddCheckButton( MSGTR_PREFERENCES_SUB_SRT,vbox9 ); | |
6794 | 884 |
8299 | 885 vbox603=AddVBox( |
886 AddFrame( NULL,GTK_SHADOW_NONE, | |
887 AddFrame( MSGTR_PREFERENCES_FRAME_Font,GTK_SHADOW_ETCHED_OUT,vbox6,1 ),1 ),0 ); | |
2901 | 888 |
8173 | 889 hbox6=AddHBox( vbox603,1 ); |
6794 | 890 |
8156 | 891 AddLabel( MSGTR_PREFERENCES_Font,hbox6 ); |
6794 | 892 |
893 prEFontName=gtk_entry_new(); | |
894 gtk_widget_set_name( prEFontName,"prEFontName" ); | |
895 gtk_widget_show( prEFontName ); | |
896 gtk_box_pack_start( GTK_BOX( hbox6 ),prEFontName,TRUE,TRUE,0 ); | |
897 | |
8173 | 898 hbuttonbox5=AddHButtonBox( hbox6 ); |
899 gtk_container_set_border_width( GTK_CONTAINER( hbuttonbox5 ),3 ); | |
900 BLoadFont=AddButton( MSGTR_Browse,hbuttonbox5 ); | |
6794 | 901 |
7139 | 902 #ifndef HAVE_FREETYPE |
8173 | 903 hbox7=AddHBox( vbox603,1 ); |
8156 | 904 AddLabel( MSGTR_PREFERENCES_FontFactor,hbox7 ); |
6794 | 905 HSFontFactoradj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,10,0.05,0,0 ) ); |
8173 | 906 HSFontFactor=AddHScaler( HSFontFactoradj,hbox7,2 ); |
7139 | 907 #else |
6794 | 908 |
8173 | 909 RBFontNoAutoScale=AddRadioButton( MSGTR_PREFERENCES_FontNoAutoScale,&Font_group,vbox603 ); |
910 BRFontAutoScaleWidth=AddRadioButton( MSGTR_PREFERENCES_FontPropWidth,&Font_group,vbox603 ); | |
911 RBFontAutoScaleHeight=AddRadioButton( MSGTR_PREFERENCES_FontPropHeight,&Font_group,vbox603 ); | |
912 RBFontAutoScaleDiagonal=AddRadioButton( MSGTR_PREFERENCES_FontPropDiagonal,&Font_group,vbox603 ); | |
7139 | 913 |
914 table1=gtk_table_new( 3,2,FALSE ); | |
915 gtk_widget_set_name( table1,"table1" ); | |
916 gtk_widget_show( table1 ); | |
917 gtk_box_pack_start( GTK_BOX( vbox603 ),table1,FALSE,FALSE,0 ); | |
918 | |
8156 | 919 label=AddLabel( MSGTR_PREFERENCES_FontEncoding,NULL ); |
920 gtk_table_attach( GTK_TABLE( table1 ),label,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
7139 | 921 |
922 CBFontEncoding=gtk_combo_new(); | |
923 gtk_widget_set_name( CBFontEncoding,"CBFontEncoding" ); | |
924 gtk_widget_show( CBFontEncoding ); | |
925 gtk_table_attach( GTK_TABLE( table1 ),CBFontEncoding,1,2,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
926 { | |
927 int i; | |
928 for ( i=0;lEncoding[i].name;i++ ) CBFontEncoding_items=g_list_append( CBFontEncoding_items,lEncoding[i].comment ); | |
929 } | |
930 gtk_combo_set_popdown_strings( GTK_COMBO( CBFontEncoding ),CBFontEncoding_items ); | |
931 g_list_free( CBFontEncoding_items ); | |
932 | |
933 EFontEncoding=GTK_COMBO( CBFontEncoding )->entry; | |
934 gtk_widget_set_name( EFontEncoding,"EFontEncoding" ); | |
935 gtk_entry_set_editable( GTK_ENTRY( EFontEncoding ),FALSE ); | |
936 gtk_widget_show( EFontEncoding ); | |
937 | |
8156 | 938 label=AddLabel( MSGTR_PREFERENCES_FontBlur,NULL ); |
939 gtk_table_attach( GTK_TABLE( table1 ),label,0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
7139 | 940 |
941 HSFontBluradj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.1,0,0 ) ); | |
8173 | 942 HSFontBlur=AddHScaler( HSFontBluradj,NULL,2 ); |
943 gtk_table_attach( GTK_TABLE( table1 ),HSFontBlur,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
7139 | 944 |
8156 | 945 label=AddLabel( MSGTR_PREFERENCES_FontOutLine,NULL ); |
946 gtk_table_attach( GTK_TABLE( table1 ),label,0,1,2,3,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
7139 | 947 |
948 HSFontOutLineadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.1,0,0 ) ); | |
8173 | 949 HSFontOutLine=AddHScaler( HSFontOutLineadj,NULL,2 ); |
950 gtk_table_attach( GTK_TABLE( table1 ),HSFontOutLine,1,2,2,3,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
7139 | 951 |
8156 | 952 label=AddLabel( MSGTR_PREFERENCES_FontTextScale,NULL ); |
953 gtk_table_attach( GTK_TABLE( table1 ),label,0,1,3,4,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
7139 | 954 |
955 HSFontTextScaleadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.1,0,0 ) ); | |
8173 | 956 HSFontTextScale=AddHScaler( HSFontTextScaleadj,NULL,2 ); |
957 gtk_table_attach( GTK_TABLE( table1 ),HSFontTextScale,1,2,3,4,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
7139 | 958 |
8156 | 959 label=AddLabel( MSGTR_PREFERENCES_FontOSDScale,NULL ); |
960 gtk_table_attach( GTK_TABLE( table1 ),label,0,1,4,5,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
7139 | 961 |
962 HSFontOSDScaleadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.1,0,0 ) ); | |
8173 | 963 HSFontOSDScale=AddHScaler( HSFontOSDScaleadj,NULL,2 ); |
964 gtk_table_attach( GTK_TABLE( table1 ),HSFontOSDScale,1,2,4,5,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
7139 | 965 #endif |
966 | |
8156 | 967 label=AddLabel( MSGTR_PREFERENCES_SubtitleOSD,NULL ); |
968 gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),2 ),label ); | |
8299 | 969 vbox601=AddVBox( notebook1,0 ); |
6794 | 970 |
8299 | 971 vbox602=AddVBox( |
972 AddFrame( NULL,GTK_SHADOW_NONE, | |
973 AddFrame( MSGTR_PREFERENCES_FRAME_PostProcess,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 ); | |
6794 | 974 |
8173 | 975 CBPostprocess=AddCheckButton( MSGTR_PREFERENCES_PostProcess,vbox602 ); |
6794 | 976 |
8173 | 977 hbox5=AddHBox( vbox602,1 ); |
2901 | 978 |
8156 | 979 AddLabel( MSGTR_PREFERENCES_AutoQuality,hbox5 ); |
2901 | 980 |
7751 | 981 if ( guiIntfStruct.sh_video && guiIntfStruct.Playing ) HSPPQualityadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,get_video_quality_max( guiIntfStruct.sh_video ),0,0,0 ) ); |
982 else HSPPQualityadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0,0,0 ) ); | |
8173 | 983 HSPPQuality=AddHScaler( HSPPQualityadj,hbox5,0 ); |
6794 | 984 |
8299 | 985 vbox602=AddVBox( |
986 AddFrame( NULL,GTK_SHADOW_NONE, | |
987 AddFrame( MSGTR_PREFERENCES_FRAME_CodecDemuxer,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 ); | |
6794 | 988 |
8173 | 989 CBNonInterlaved=AddCheckButton( MSGTR_PREFERENCES_NI,vbox602 ); |
990 CBIndex=AddCheckButton( MSGTR_PREFERENCES_IDX,vbox602 ); | |
2901 | 991 |
8173 | 992 hbox5=AddHBox( vbox602,1 ); |
6794 | 993 |
8156 | 994 AddLabel( MSGTR_PREFERENCES_VideoCodecFamily,hbox5 ); |
2901 | 995 |
6794 | 996 CBVFM=gtk_combo_new(); |
997 gtk_widget_set_name( CBVFM,"CBVFM" ); | |
998 gtk_widget_show( CBVFM ); | |
999 gtk_box_pack_start( GTK_BOX( hbox5 ),CBVFM,TRUE,TRUE,0 ); | |
1000 | |
1001 EVFM=GTK_COMBO( CBVFM )->entry; | |
1002 gtk_widget_set_name( EVFM,"CEVFM" ); | |
1003 gtk_entry_set_editable( GTK_ENTRY( EVFM ),FALSE ); | |
1004 gtk_widget_show( EVFM ); | |
2901 | 1005 |
8173 | 1006 hbox5=AddHBox( vbox602,1 ); |
7186 | 1007 |
8156 | 1008 AddLabel( MSGTR_PREFERENCES_AudioCodecFamily,hbox5 ); |
7186 | 1009 |
1010 CBAFM=gtk_combo_new(); | |
1011 gtk_widget_set_name( CBAFM,"CBAFM" ); | |
1012 gtk_widget_show( CBAFM ); | |
1013 gtk_box_pack_start( GTK_BOX( hbox5 ),CBAFM,TRUE,TRUE,0 ); | |
1014 | |
1015 EAFM=GTK_COMBO( CBAFM )->entry; | |
1016 gtk_widget_set_name( EAFM,"EAFM" ); | |
1017 gtk_entry_set_editable( GTK_ENTRY( EAFM ),FALSE ); | |
1018 gtk_widget_show( EAFM ); | |
1019 | |
8299 | 1020 vbox602=AddVBox( |
1021 AddFrame( NULL,GTK_SHADOW_NONE, | |
1022 AddFrame( MSGTR_PREFERENCES_FRAME_Cache,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 ); | |
7526 | 1023 |
8173 | 1024 CBCache=AddCheckButton( MSGTR_PREFERENCES_Cache,vbox602 ); |
7526 | 1025 |
8173 | 1026 hbox5=AddHBox( vbox602,1 ); |
7526 | 1027 |
8156 | 1028 AddLabel( MSGTR_PREFERENCES_CacheSize,hbox5 ); |
7526 | 1029 |
1030 SBCacheadj=GTK_ADJUSTMENT( gtk_adjustment_new( 2048,4,65535,1,10,10 ) ); | |
1031 SBCache=gtk_spin_button_new( GTK_ADJUSTMENT( SBCacheadj ),1,0 ); | |
1032 gtk_widget_show( SBCache ); | |
1033 gtk_box_pack_start( GTK_BOX( hbox5 ),SBCache,TRUE,TRUE,0 ); | |
1034 | |
8299 | 1035 vbox602=AddVBox( |
1036 AddFrame( NULL,GTK_SHADOW_NONE, | |
1037 AddFrame( MSGTR_PREFERENCES_FRAME_Misc,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 ); | |
7538 | 1038 |
8173 | 1039 CBLoadFullscreen=AddCheckButton( MSGTR_PREFERENCES_LoadFullscreen,vbox602 ); |
8311 | 1040 CBStopXScreenSaver=AddCheckButton( MSGTR_PREFERENCES_XSCREENSAVER,vbox602 ); |
1041 | |
1042 AddHSeparator( vbox602 ); | |
1043 | |
1044 CBAutoSync=AddCheckButton( MSGTR_PREFERENCES_AutoSync,vbox602 ); | |
1045 hbox5=AddHBox( vbox602,1 ); | |
1046 AddLabel( MSGTR_PREFERENCES_AutoSyncValue,hbox5 ); | |
1047 SBAutoSyncadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,10000,1,10,10 ) ); | |
1048 SBAutoSync=gtk_spin_button_new( GTK_ADJUSTMENT( SBAutoSyncadj ),1,0 ); | |
1049 gtk_widget_show( SBAutoSync ); | |
1050 gtk_box_pack_start( GTK_BOX( hbox5 ),SBAutoSync,TRUE,TRUE,0 ); | |
7538 | 1051 |
8156 | 1052 label=AddLabel( MSGTR_PREFERENCES_Misc,NULL ); |
1053 gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),3 ),label ); | |
2901 | 1054 |
8173 | 1055 AddHSeparator( vbox1 ); |
6794 | 1056 |
8173 | 1057 hbuttonbox1=AddHButtonBox( vbox1 ); |
1058 gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox1 ),GTK_BUTTONBOX_END ); | |
1059 gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),10 ); | |
1060 BOk=AddButton( MSGTR_Ok,hbuttonbox1 ); | |
1061 BCancel=AddButton( MSGTR_Cancel,hbuttonbox1 ); | |
6794 | 1062 |
8299 | 1063 gtk_widget_add_accelerator( BOk,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); |
1064 gtk_widget_add_accelerator( BCancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); | |
6794 | 1065 |
8719
dc27303ae528
correct widget destroy event handler (thank for D J Hawkey Jr <hawkeyd@visi.com>)
pontscho
parents:
8717
diff
changeset
|
1066 gtk_signal_connect( GTK_OBJECT( Preferences ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&Preferences ); |
6794 | 1067 |
8299 | 1068 gtk_signal_connect( GTK_OBJECT( AConfig ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bAConfig ); |
1069 gtk_signal_connect( GTK_OBJECT( BOk ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bOk ); | |
1070 gtk_signal_connect( GTK_OBJECT( BCancel ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bCancel ); | |
1071 gtk_signal_connect( GTK_OBJECT( VConfig ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bVconfig ); | |
6794 | 1072 #if 0 |
8299 | 1073 gtk_signal_connect( GTK_OBJECT( BLoadSubtitle ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bLSubtitle ); |
6794 | 1074 #endif |
8299 | 1075 gtk_signal_connect( GTK_OBJECT( BLoadFont ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bLFont ); |
2901 | 1076 |
6794 | 1077 #if 0 |
1078 gtk_signal_connect( GTK_OBJECT( CBNoSound ),"toggled",GTK_SIGNAL_FUNC( on_CBNoSound_toggled ),NULL ); | |
1079 gtk_signal_connect( GTK_OBJECT( CBNormalize ),"toggled",GTK_SIGNAL_FUNC( on_CBNormalize_toggled ),NULL ); | |
1080 gtk_signal_connect( GTK_OBJECT( CBSurround ),"toggled",GTK_SIGNAL_FUNC( on_CBSurround_toggled ),NULL ); | |
1081 gtk_signal_connect( GTK_OBJECT( CBExtraStereo ),"toggled",GTK_SIGNAL_FUNC( on_CBExtraStereo_toggled ),NULL ); | |
1082 gtk_signal_connect( GTK_OBJECT( CBDoubleBuffer ),"toggled",GTK_SIGNAL_FUNC( on_CBDoubleBuffer_toggled ),NULL ); | |
1083 gtk_signal_connect( GTK_OBJECT( CBDR ),"toggled",GTK_SIGNAL_FUNC( on_CBDR_toggled ),NULL ); | |
1084 gtk_signal_connect( GTK_OBJECT( CBFramedrop ),"toggled",GTK_SIGNAL_FUNC( on_CBFramedrop_toggled ),NULL ); | |
1085 gtk_signal_connect( GTK_OBJECT( CBHFramedrop ),"toggled",GTK_SIGNAL_FUNC( on_CBHFramedrop_toggled ),NULL ); | |
1086 gtk_signal_connect( GTK_OBJECT( CBFullScreen ),"toggled",GTK_SIGNAL_FUNC( on_CBFullScreen_toggled ),NULL ); | |
1087 gtk_signal_connect( GTK_OBJECT( CBNonInterlaved ),"toggled",GTK_SIGNAL_FUNC( on_CBNonInterlaved_toggled ),NULL ); | |
1088 gtk_signal_connect( GTK_OBJECT( CBFlip ),"toggled",GTK_SIGNAL_FUNC( on_CBFlip_toggled ),NULL ); | |
1089 gtk_signal_connect( GTK_OBJECT( CBPostprocess ),"toggled",GTK_SIGNAL_FUNC( on_CBPostprocess_toggled ),NULL ); | |
1090 gtk_signal_connect( GTK_OBJECT( CBNoAutoSub ),"toggled",GTK_SIGNAL_FUNC( on_CBNoAutoSub_toggled ),NULL ); | |
1091 gtk_signal_connect( GTK_OBJECT( CBSubUnicode ),"toggled",GTK_SIGNAL_FUNC( on_CNSubUnicode_toggled ),NULL ); | |
1092 gtk_signal_connect( GTK_OBJECT( CBDumpMPSub ),"toggled",GTK_SIGNAL_FUNC( on_CBDumpMPSub_toggled ),NULL ); | |
1093 gtk_signal_connect( GTK_OBJECT( CBDumpSrt ),"toggled",GTK_SIGNAL_FUNC( on_CBDumpSrt_toggled ),NULL ); | |
1094 #endif | |
1095 #if 0 | |
1096 gtk_signal_connect( GTK_OBJECT( RBOSDNone ),"toggled",GTK_SIGNAL_FUNC( on_RBOSDNone_toggled ),NULL ); | |
1097 gtk_signal_connect( GTK_OBJECT( RBOSDTandP ),"toggled",GTK_SIGNAL_FUNC( on_RBOSDTandP_toggled ),NULL ); | |
1098 gtk_signal_connect( GTK_OBJECT( RBOSDIndicator ),"toggled",GTK_SIGNAL_FUNC( on_RBOSDIndicator_toggled ),NULL ); | |
1099 gtk_signal_connect( GTK_OBJECT( CBAudioEqualizer ),"toggled",GTK_SIGNAL_FUNC( on_CBAudioEqualizer_toggled ),NULL ); | |
1100 #endif | |
1101 #if 0 | |
1102 gtk_signal_connect( GTK_OBJECT( HSAudioDelay ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSAudioDelay_motion_notify_event ),NULL ); | |
1103 gtk_signal_connect( GTK_OBJECT( HSPanscan ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSPanscan_motion_notify_event ),NULL ); | |
1104 gtk_signal_connect( GTK_OBJECT( label2 ),"motion_notify_event",GTK_SIGNAL_FUNC( on_label2_motion_notify_event ),NULL ); | |
1105 gtk_signal_connect( GTK_OBJECT( HSSubDelay ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSSubDelay_motion_notify_event ),NULL ); | |
1106 gtk_signal_connect( GTK_OBJECT( HSSubPosition ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSSubPosition_motion_notify_event ),NULL ); | |
1107 gtk_signal_connect( GTK_OBJECT( HSSubFPS ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSSubFPS_motion_notify_event ),NULL ); | |
1108 gtk_signal_connect( GTK_OBJECT( HSFontFactor ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSFontFactor_motion_notify_event ),NULL ); | |
1109 gtk_signal_connect( GTK_OBJECT( HSPPQuality ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSPPQuality_motion_notify_event ),NULL ); | |
1110 #endif | |
2901 | 1111 |
7187 | 1112 gtk_notebook_set_page( GTK_NOTEBOOK( notebook1 ),2 ); |
6794 | 1113 |
1114 gtk_window_add_accel_group( GTK_WINDOW( Preferences ),accel_group ); | |
1115 | |
1116 return Preferences; | |
1117 } | |
2901 | 1118 |
7009 | 1119 #ifdef USE_OSS_AUDIO |
6794 | 1120 GtkWidget * OSSConfig; |
1121 static GtkWidget * CEOssDevice; | |
1122 static GtkWidget * CEOssMixer; | |
1123 static GtkWidget * CBOssMixer; | |
1124 static GtkWidget * CBOssDevice; | |
1125 static GtkWidget * BOssOk; | |
1126 static GtkWidget * BOssCancel; | |
1127 | |
1128 void ShowOSSConfig( void ) | |
1129 { | |
8299 | 1130 if ( OSSConfig ) gtkActive( OSSConfig ); |
6794 | 1131 else OSSConfig=create_OSSConfig(); |
1132 | |
7706 | 1133 gtk_entry_set_text( GTK_ENTRY( CEOssMixer ),gtkAOOSSMixer ); |
1134 gtk_entry_set_text( GTK_ENTRY( CEOssDevice ),gtkAOOSSDevice ); | |
2901 | 1135 |
6794 | 1136 gtk_widget_show( OSSConfig ); |
1137 gtkSetLayer( OSSConfig ); | |
1138 } | |
1139 | |
1140 void HideOSSConfig( void ) | |
1141 { | |
8299 | 1142 if ( !OSSConfig ) return; |
6794 | 1143 gtk_widget_hide( OSSConfig ); |
1144 gtk_widget_destroy( OSSConfig ); | |
8299 | 1145 OSSConfig=NULL; |
6794 | 1146 } |
1147 | |
1148 static void ossButton( GtkButton * button,gpointer user_data ) | |
1149 { | |
1150 switch( (int)user_data ) | |
1151 { | |
1152 case 1: | |
7706 | 1153 gfree( (void **)>kAOOSSMixer ); gtkAOOSSMixer=strdup( gtk_entry_get_text( GTK_ENTRY( CEOssMixer ) ) ); |
1154 gfree( (void **)>kAOOSSDevice ); gtkAOOSSDevice=strdup( gtk_entry_get_text( GTK_ENTRY( CEOssDevice ) ) ); | |
6794 | 1155 case 0: |
1156 HideOSSConfig(); | |
1157 break; | |
1158 } | |
1159 } | |
2901 | 1160 |
6794 | 1161 GtkWidget * create_OSSConfig( void ) |
1162 { | |
8299 | 1163 GList * CBOssDevice_items=NULL; |
1164 GList * CBOssMixer_items=NULL; | |
6794 | 1165 GtkWidget * vbox604; |
1166 GtkWidget * table2; | |
8156 | 1167 GtkWidget * label; |
6794 | 1168 GtkWidget * hbuttonbox6; |
1169 GtkAccelGroup * accel_group; | |
1170 | |
1171 accel_group=gtk_accel_group_new(); | |
1172 | |
8043 | 1173 OSSConfig=gtk_window_new( GTK_WINDOW_TOPLEVEL ); |
6794 | 1174 gtk_widget_set_name( OSSConfig,"OSSConfig" ); |
1175 gtk_object_set_data( GTK_OBJECT( OSSConfig ),"OSSConfig",OSSConfig ); | |
1176 gtk_widget_set_usize( OSSConfig,270,92 ); | |
1177 gtk_window_set_title( GTK_WINDOW( OSSConfig ),MSGTR_OSSPreferences ); | |
1178 gtk_window_set_position( GTK_WINDOW( OSSConfig ),GTK_WIN_POS_CENTER ); | |
1179 gtk_window_set_policy( GTK_WINDOW( OSSConfig ),FALSE,FALSE,FALSE ); | |
1180 gtk_window_set_wmclass( GTK_WINDOW( OSSConfig ),"OSS Config","MPlayer" ); | |
2901 | 1181 |
6794 | 1182 gtk_widget_realize( OSSConfig ); |
1183 gtkAddIcon( OSSConfig ); | |
2901 | 1184 |
8299 | 1185 vbox604=AddVBox( AddDialogFrame( OSSConfig ),0 ); |
6794 | 1186 |
1187 table2=gtk_table_new( 2,2,FALSE ); | |
1188 gtk_widget_set_name( table2,"table2" ); | |
1189 gtk_widget_show( table2 ); | |
1190 gtk_box_pack_start( GTK_BOX( vbox604 ),table2,TRUE,TRUE,0 ); | |
1191 | |
8156 | 1192 label=AddLabel( MSGTR_PREFERENCES_OSS_Device,NULL ); |
1193 gtk_table_attach( GTK_TABLE( table2 ),label,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
6794 | 1194 |
8156 | 1195 label=AddLabel( MSGTR_PREFERENCES_OSS_Mixer,NULL ); |
1196 gtk_table_attach( GTK_TABLE( table2 ),label,0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
2901 | 1197 |
8299 | 1198 CBOssDevice=AddComboBox( NULL ); |
6794 | 1199 gtk_table_attach( GTK_TABLE( table2 ),CBOssDevice,1,2,0,1,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); |
1200 CBOssDevice_items=g_list_append( CBOssDevice_items,(gpointer)"/dev/dsp" ); | |
1201 CBOssDevice_items=g_list_append( CBOssDevice_items,(gpointer)"/dev/dsp0" ); | |
1202 CBOssDevice_items=g_list_append( CBOssDevice_items,(gpointer)"/dev/dsp1" ); | |
1203 CBOssDevice_items=g_list_append( CBOssDevice_items,(gpointer)"/dev/dsp2" ); | |
1204 CBOssDevice_items=g_list_append( CBOssDevice_items,(gpointer)"/dev/dsp3" ); | |
7706 | 1205 #ifdef HAVE_DXR3 |
1206 CBOssDevice_items=g_list_append( CBOssDevice_items,(gpointer)"/dev/em8300_ma" ); | |
1207 CBOssDevice_items=g_list_append( CBOssDevice_items,(gpointer)"/dev/em8300_ma-0" ); | |
1208 CBOssDevice_items=g_list_append( CBOssDevice_items,(gpointer)"/dev/em8300_ma-1" ); | |
1209 CBOssDevice_items=g_list_append( CBOssDevice_items,(gpointer)"/dev/em8300_ma-2" ); | |
1210 CBOssDevice_items=g_list_append( CBOssDevice_items,(gpointer)"/dev/em8300_ma-3" ); | |
1211 #endif | |
6794 | 1212 gtk_combo_set_popdown_strings( GTK_COMBO( CBOssDevice ),CBOssDevice_items ); |
1213 g_list_free( CBOssDevice_items ); | |
1214 | |
1215 CEOssDevice=GTK_COMBO( CBOssDevice )->entry; | |
1216 gtk_widget_set_name( CEOssDevice,"CEOssDevice" ); | |
1217 gtk_widget_show( CEOssDevice ); | |
1218 | |
8299 | 1219 CBOssMixer=AddComboBox( NULL ); |
1220 gtk_table_attach( GTK_TABLE( table2 ),CBOssMixer,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); | |
6794 | 1221 CBOssMixer_items=g_list_append( CBOssMixer_items,(gpointer)"/dev/mixer" ); |
1222 CBOssMixer_items=g_list_append( CBOssMixer_items,(gpointer)"/dev/mixer0" ); | |
1223 CBOssMixer_items=g_list_append( CBOssMixer_items,(gpointer)"/dev/mixer1" ); | |
1224 CBOssMixer_items=g_list_append( CBOssMixer_items,(gpointer)"/dev/mixer2" ); | |
1225 CBOssMixer_items=g_list_append( CBOssMixer_items,(gpointer)"/dev/mixer3" ); | |
1226 gtk_combo_set_popdown_strings( GTK_COMBO( CBOssMixer ),CBOssMixer_items ); | |
1227 g_list_free( CBOssMixer_items ); | |
1228 | |
1229 CEOssMixer=GTK_COMBO( CBOssMixer )->entry; | |
1230 gtk_widget_set_name( CEOssMixer,"CEOssMixer" ); | |
1231 gtk_widget_show( CEOssMixer ); | |
2901 | 1232 |
8173 | 1233 AddHSeparator( vbox604 ); |
6794 | 1234 |
8173 | 1235 hbuttonbox6=AddHButtonBox( vbox604 ); |
1236 gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox6 ),GTK_BUTTONBOX_END ); | |
1237 gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox6 ),10 ); | |
1238 BOssOk=AddButton( MSGTR_Ok,hbuttonbox6 ); | |
1239 BOssCancel=AddButton( MSGTR_Cancel,hbuttonbox6 ); | |
2901 | 1240 |
8719
dc27303ae528
correct widget destroy event handler (thank for D J Hawkey Jr <hawkeyd@visi.com>)
pontscho
parents:
8717
diff
changeset
|
1241 gtk_signal_connect( GTK_OBJECT( OSSConfig ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&OSSConfig ); |
6794 | 1242 |
8299 | 1243 gtk_signal_connect( GTK_OBJECT( BOssOk ),"clicked",GTK_SIGNAL_FUNC( ossButton ),(void*)1 ); |
1244 gtk_signal_connect( GTK_OBJECT( BOssCancel ),"clicked",GTK_SIGNAL_FUNC( ossButton ),(void*)0 ); | |
6794 | 1245 |
8299 | 1246 gtk_widget_add_accelerator( BOssOk,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); |
1247 gtk_widget_add_accelerator( BOssCancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); | |
6794 | 1248 |
1249 gtk_window_add_accel_group( GTK_WINDOW( OSSConfig ),accel_group ); | |
1250 | |
1251 return OSSConfig; | |
2901 | 1252 } |
6794 | 1253 |
7009 | 1254 #endif |
1255 | |
8714
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1256 #ifdef HAVE_SDL |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1257 GtkWidget * SDLConfig; |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1258 static GtkWidget * CESDLDriver; |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1259 static GtkWidget * CBSDLDriver; |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1260 static GtkWidget * BSDLOk; |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1261 static GtkWidget * BSDLCancel; |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1262 |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1263 void ShowSDLConfig( void ) |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1264 { |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1265 if ( SDLConfig ) gtkActive( SDLConfig ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1266 else SDLConfig=create_SDLConfig(); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1267 |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1268 if ( gtkAOSDLDriver ) |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1269 gtk_entry_set_text( GTK_ENTRY( CESDLDriver ), gtkAOSDLDriver ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1270 |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1271 gtk_widget_show( SDLConfig ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1272 gtkSetLayer( SDLConfig ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1273 } |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1274 |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1275 void HideSDLConfig( void ) |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1276 { |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1277 if ( !SDLConfig ) return; |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1278 gtk_widget_hide( SDLConfig ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1279 gtk_widget_destroy( SDLConfig ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1280 SDLConfig=NULL; |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1281 } |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1282 |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1283 static void sdlButton( GtkButton * button,gpointer user_data ) |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1284 { |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1285 switch( (int)user_data ) |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1286 { |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1287 case 1: |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1288 gfree( (void **)>kAOSDLDriver ); gtkAOSDLDriver=strdup( gtk_entry_get_text( GTK_ENTRY( CESDLDriver ) ) ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1289 case 0: |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1290 HideSDLConfig(); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1291 break; |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1292 } |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1293 } |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1294 |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1295 GtkWidget * create_SDLConfig( void ) |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1296 { |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1297 GList * CBSDLDriver_items=NULL; |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1298 GtkWidget * vbox604; |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1299 GtkWidget * table2; |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1300 GtkWidget * label; |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1301 GtkWidget * hbuttonbox6; |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1302 GtkAccelGroup * accel_group; |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1303 |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1304 accel_group=gtk_accel_group_new(); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1305 |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1306 SDLConfig=gtk_window_new( GTK_WINDOW_TOPLEVEL ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1307 gtk_widget_set_name( SDLConfig,"SDLConfig" ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1308 gtk_object_set_data( GTK_OBJECT( SDLConfig ),"SDLConfig",SDLConfig ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1309 gtk_widget_set_usize( SDLConfig,270,70 ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1310 gtk_window_set_title( GTK_WINDOW( SDLConfig ),MSGTR_SDLPreferences ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1311 gtk_window_set_position( GTK_WINDOW( SDLConfig ),GTK_WIN_POS_CENTER ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1312 gtk_window_set_policy( GTK_WINDOW( SDLConfig ),FALSE,FALSE,FALSE ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1313 gtk_window_set_wmclass( GTK_WINDOW( SDLConfig ),"SDL Config","MPlayer" ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1314 |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1315 gtk_widget_realize( SDLConfig ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1316 gtkAddIcon( SDLConfig ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1317 |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1318 vbox604=AddVBox( AddDialogFrame( SDLConfig ),0 ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1319 |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1320 table2=gtk_table_new( 2,2,FALSE ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1321 gtk_widget_set_name( table2,"table2" ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1322 gtk_widget_show( table2 ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1323 gtk_box_pack_start( GTK_BOX( vbox604 ),table2,TRUE,TRUE,0 ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1324 |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1325 label=AddLabel( MSGTR_PREFERENCES_SDL_Driver,NULL ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1326 gtk_table_attach( GTK_TABLE( table2 ),label,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1327 |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1328 CBSDLDriver=AddComboBox( NULL ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1329 gtk_table_attach( GTK_TABLE( table2 ),CBSDLDriver,1,2,0,1,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1330 CBSDLDriver_items=g_list_append( CBSDLDriver_items,(gpointer) NULL ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1331 CBSDLDriver_items=g_list_append( CBSDLDriver_items,(gpointer)"alsa" ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1332 CBSDLDriver_items=g_list_append( CBSDLDriver_items,(gpointer)"arts" ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1333 CBSDLDriver_items=g_list_append( CBSDLDriver_items,(gpointer)"esd" ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1334 CBSDLDriver_items=g_list_append( CBSDLDriver_items,(gpointer)"jack" ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1335 CBSDLDriver_items=g_list_append( CBSDLDriver_items,(gpointer)"oss" ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1336 CBSDLDriver_items=g_list_append( CBSDLDriver_items,(gpointer)"nas" ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1337 gtk_combo_set_popdown_strings( GTK_COMBO( CBSDLDriver ),CBSDLDriver_items ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1338 g_list_free( CBSDLDriver_items ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1339 |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1340 CESDLDriver=GTK_COMBO( CBSDLDriver )->entry; |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1341 gtk_widget_set_name( CESDLDriver,"CESDLDriver" ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1342 gtk_widget_show( CESDLDriver ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1343 |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1344 AddHSeparator( vbox604 ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1345 |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1346 hbuttonbox6=AddHButtonBox( vbox604 ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1347 gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox6 ),GTK_BUTTONBOX_END ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1348 gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox6 ),10 ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1349 BSDLOk=AddButton( MSGTR_Ok,hbuttonbox6 ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1350 BSDLCancel=AddButton( MSGTR_Cancel,hbuttonbox6 ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1351 |
8719
dc27303ae528
correct widget destroy event handler (thank for D J Hawkey Jr <hawkeyd@visi.com>)
pontscho
parents:
8717
diff
changeset
|
1352 gtk_signal_connect( GTK_OBJECT( SDLConfig ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&SDLConfig ); |
8714
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1353 |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1354 gtk_signal_connect( GTK_OBJECT( BSDLOk ),"clicked",GTK_SIGNAL_FUNC( sdlButton ),(void*)1 ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1355 gtk_signal_connect( GTK_OBJECT( BSDLCancel ),"clicked",GTK_SIGNAL_FUNC( sdlButton ),(void*)0 ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1356 |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1357 gtk_widget_add_accelerator( BSDLOk,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1358 gtk_widget_add_accelerator( BSDLCancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1359 |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1360 gtk_window_add_accel_group( GTK_WINDOW( SDLConfig ),accel_group ); |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1361 |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1362 return SDLConfig; |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1363 } |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1364 #endif |
a88f827ec563
SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents:
8484
diff
changeset
|
1365 |
7009 | 1366 #ifdef HAVE_DXR3 |
1367 // --- dxr3 config box | |
1368 | |
1369 static GtkWidget * DXR3Config; | |
1370 static GtkWidget * CBDevice; | |
1371 static GtkWidget * CEDXR3Device; | |
1372 static GtkWidget * RBVNone; | |
8043 | 1373 #ifdef USE_LIBAVCODEC |
1374 static GtkWidget * RBVLavc; | |
1375 #endif | |
1376 #ifdef USE_LIBFAME | |
1377 static GtkWidget * RBVFame; | |
1378 #endif | |
7009 | 1379 static GtkWidget * dxr3BOk; |
1380 static GtkWidget * dxr3BCancel; | |
1381 | |
1382 GtkWidget * create_DXR3Config( void ); | |
1383 | |
1384 void ShowDXR3Config( void ) | |
1385 { | |
8299 | 1386 if ( DXR3Config ) gtkActive( DXR3Config ); |
7009 | 1387 else DXR3Config=create_DXR3Config(); |
1388 | |
7706 | 1389 gtk_entry_set_text( GTK_ENTRY( CEDXR3Device ),gtkDXR3Device ); |
1390 | |
7009 | 1391 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBVNone ),TRUE ); |
8043 | 1392 #ifdef USE_LIBAVCODEC |
7009 | 1393 if ( gtkVopLAVC ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBVLavc ),TRUE ); |
8043 | 1394 #endif |
1395 #ifdef USE_LIBFAME | |
7009 | 1396 if ( gtkVopFAME ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBVFame ),TRUE ); |
8043 | 1397 #endif |
7009 | 1398 |
1399 gtk_widget_show( DXR3Config ); | |
1400 gtkSetLayer( DXR3Config ); | |
1401 } | |
1402 | |
1403 void HideDXR3Config( void ) | |
1404 { | |
8299 | 1405 if ( !DXR3Config ) return; |
7009 | 1406 gtk_widget_hide( DXR3Config ); |
1407 gtk_widget_destroy( DXR3Config ); | |
8299 | 1408 DXR3Config=NULL; |
7009 | 1409 } |
1410 | |
1411 static void dxr3Button( GtkButton * button,gpointer user_data ) | |
1412 { | |
1413 switch ( (int)user_data ) | |
1414 { | |
1415 case 0: // Ok | |
7706 | 1416 gfree( (void **)>kDXR3Device ); gtkDXR3Device=strdup( gtk_entry_get_text( GTK_ENTRY( CEDXR3Device ) ) ); |
8043 | 1417 #ifdef USE_LIBAVCODEC |
7009 | 1418 gtkVopLAVC=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBVLavc ) ); |
8043 | 1419 #endif |
1420 #ifdef USE_LIBFAME | |
7009 | 1421 gtkVopFAME=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBVFame ) ); |
8043 | 1422 #endif |
7009 | 1423 case 1: // Cancel |
1424 HideDXR3Config(); | |
1425 break; | |
1426 } | |
1427 } | |
1428 | |
1429 GtkWidget * create_DXR3Config( void ) | |
1430 { | |
1431 GtkWidget * vbox1; | |
1432 GtkWidget * vbox2; | |
1433 GtkWidget * hbox1; | |
1434 GList * CBDevice_items = NULL; | |
1435 GtkWidget * vbox3; | |
1436 GSList * VEncoder_group = NULL; | |
1437 GtkWidget * hbuttonbox1; | |
1438 GtkAccelGroup * accel_group; | |
1439 | |
1440 accel_group=gtk_accel_group_new(); | |
1441 | |
8043 | 1442 DXR3Config=gtk_window_new( GTK_WINDOW_TOPLEVEL ); |
7009 | 1443 gtk_widget_set_name( DXR3Config,"DXR3Config" ); |
1444 gtk_object_set_data( GTK_OBJECT( DXR3Config ),"DXR3Config",DXR3Config ); | |
8043 | 1445 // gtk_widget_set_usize( DXR3Config,300,156 ); |
7009 | 1446 GTK_WIDGET_SET_FLAGS( DXR3Config,GTK_CAN_DEFAULT ); |
1447 gtk_window_set_title( GTK_WINDOW( DXR3Config ),"DXR3/H+" ); | |
1448 gtk_window_set_position( GTK_WINDOW( DXR3Config ),GTK_WIN_POS_CENTER ); | |
1449 gtk_window_set_policy( GTK_WINDOW( DXR3Config ),FALSE,FALSE,FALSE ); | |
1450 gtk_window_set_wmclass( GTK_WINDOW( DXR3Config ),"DXR3","MPlayer" ); | |
1451 | |
1452 gtk_widget_realize( DXR3Config ); | |
1453 gtkAddIcon( DXR3Config ); | |
1454 | |
8299 | 1455 vbox1=AddVBox( AddDialogFrame( DXR3Config ),0 ); |
1456 vbox2=AddVBox( vbox1,0 ); | |
8173 | 1457 hbox1=AddHBox( vbox2,1 ); |
8156 | 1458 AddLabel( MSGTR_PREFERENCES_OSS_Device,hbox1 ); |
7009 | 1459 |
8299 | 1460 CBDevice=AddComboBox( hbox1 ); |
1461 | |
7009 | 1462 CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300" ); |
7706 | 1463 CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300-0" ); |
1464 CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300-1" ); | |
1465 CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300-2" ); | |
1466 CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300-3" ); | |
7009 | 1467 gtk_combo_set_popdown_strings( GTK_COMBO( CBDevice ),CBDevice_items ); |
1468 g_list_free( CBDevice_items ); | |
1469 | |
1470 CEDXR3Device=GTK_COMBO( CBDevice )->entry; | |
1471 gtk_widget_set_name( CEDXR3Device,"CEDXR3Device" ); | |
1472 gtk_widget_show( CEDXR3Device ); | |
1473 gtk_entry_set_text( GTK_ENTRY( CEDXR3Device ),"/dev/em8300" ); | |
1474 | |
8043 | 1475 #if defined( USE_LIBAVCODEC ) || defined( USE_LIBFAME ) |
8173 | 1476 AddHSeparator( vbox2 ); |
8299 | 1477 vbox3=AddVBox( vbox2,0 ); |
8156 | 1478 AddLabel( MSGTR_PREFERENCES_DXR3_VENC,vbox3 ); |
8173 | 1479 RBVNone=AddRadioButton( MSGTR_PREFERENCES_None,&VEncoder_group,vbox3 ); |
8043 | 1480 #ifdef USE_LIBAVCODEC |
8173 | 1481 RBVLavc=AddRadioButton( MSGTR_PREFERENCES_DXR3_LAVC,&VEncoder_group,vbox3 ); |
1482 #endif | |
1483 #ifdef USE_LIBFAME | |
1484 RBVFame=AddRadioButton( MSGTR_PREFERENCES_DXR3_FAME,&VEncoder_group,vbox3 ); | |
8043 | 1485 #endif |
7009 | 1486 |
8043 | 1487 #endif |
7009 | 1488 |
8173 | 1489 AddHSeparator( vbox1 ); |
7009 | 1490 |
8173 | 1491 hbuttonbox1=AddHButtonBox( vbox1 ); |
1492 gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox1 ),GTK_BUTTONBOX_END ); | |
1493 gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),10 ); | |
1494 dxr3BOk=AddButton( MSGTR_Ok,hbuttonbox1 ); | |
1495 dxr3BCancel=AddButton( MSGTR_Cancel,hbuttonbox1 ); | |
7009 | 1496 |
8299 | 1497 gtk_widget_add_accelerator( dxr3BOk,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); |
1498 gtk_widget_add_accelerator( dxr3BCancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); | |
7009 | 1499 |
8719
dc27303ae528
correct widget destroy event handler (thank for D J Hawkey Jr <hawkeyd@visi.com>)
pontscho
parents:
8717
diff
changeset
|
1500 gtk_signal_connect( GTK_OBJECT( DXR3Config ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&DXR3Config ); |
7009 | 1501 |
8299 | 1502 gtk_signal_connect( GTK_OBJECT( dxr3BOk ),"clicked",GTK_SIGNAL_FUNC( dxr3Button ),(void *)0 ); |
1503 gtk_signal_connect( GTK_OBJECT( dxr3BCancel ),"clicked",GTK_SIGNAL_FUNC( dxr3Button ),(void *)1 ); | |
7009 | 1504 |
1505 gtk_window_add_accel_group( GTK_WINDOW( DXR3Config ),accel_group ); | |
1506 | |
1507 return DXR3Config; | |
1508 } | |
1509 | |
1510 #endif |