Mercurial > mplayer.hg
comparison Gui/mplayer/gtk/fs.c @ 6623:7bc4c6ba9485
add -audiofile support for gui
author | pontscho |
---|---|
date | Tue, 02 Jul 2002 22:31:50 +0000 |
parents | da08877b9512 |
children | 54cfbaaf161b |
comparison
equal
deleted
inserted
replaced
6622:da08877b9512 | 6623:7bc4c6ba9485 |
---|---|
33 gchar * fsSelectedDirectory = NULL; | 33 gchar * fsSelectedDirectory = NULL; |
34 unsigned char * fsThatDir = "."; | 34 unsigned char * fsThatDir = "."; |
35 gchar fsFilter[64] = "*"; | 35 gchar fsFilter[64] = "*"; |
36 | 36 |
37 int fsPressed = 0; | 37 int fsPressed = 0; |
38 int fsMessage = -1; | |
39 int fsType = 0; | 38 int fsType = 0; |
40 | 39 |
41 int gtkVFileSelect = 0; | 40 int gtkVFileSelect = 0; |
42 | 41 |
43 #define fsNumberOfVideoFilterNames 9 | 42 #define fsNumberOfVideoFilterNames 9 |
62 { "RT (*.rt) ", "*.rt" }, | 61 { "RT (*.rt) ", "*.rt" }, |
63 { "TXT (*.txt)", "*.txt" }, | 62 { "TXT (*.txt)", "*.txt" }, |
64 { "SSA (*.ssa)", "*.ssa" }, | 63 { "SSA (*.ssa)", "*.ssa" }, |
65 { "AQT (*.aqt)", "*.aqt" }, | 64 { "AQT (*.aqt)", "*.aqt" }, |
66 { "Subtitles (*.utf,*.sub,*.srt,*.smi,*.rt,*.txt,*.ssa,*.aqt)", "*.utf,*.sub,*.srt,*.smi,*.rt,*.txt,*.ssa,*.aqt" }, | 65 { "Subtitles (*.utf,*.sub,*.srt,*.smi,*.rt,*.txt,*.ssa,*.aqt)", "*.utf,*.sub,*.srt,*.smi,*.rt,*.txt,*.ssa,*.aqt" }, |
67 { "All files ( * )", "*" } }; | 66 { "All files ( * )", "*" } }; |
68 | 67 |
69 #define fsNumberOfOtherFilterNames 0 | 68 #define fsNumberOfOtherFilterNames 0 |
70 char * fsOtherFilterNames[fsNumberOfOtherFilterNames+1][2] = | 69 char * fsOtherFilterNames[fsNumberOfOtherFilterNames+1][2] = |
71 { { "All files ( * )", "*" } }; | 70 { { "All files ( * )", "*" } }; |
71 | |
72 #define fsNumberOfAudioFilterNames 3 | |
73 char * fsAudioFileNames[fsNumberOfAudioFilterNames+1][2] = | |
74 { { "WAV files (*.wav)", "*.wav" }, | |
75 { "MP3 files (*.mp2, *.mp3)", "*.mp2,*.mp3" }, | |
76 { "Audio files (*.wav,*.mp2,*.mp3)", "*.wav,*.mp2,*.mp3" }, | |
77 { "All files ( * )", "*" } }; | |
72 | 78 |
73 GtkWidget * fsFileNamesList; | 79 GtkWidget * fsFileNamesList; |
74 GtkWidget * fsFNameList; | 80 GtkWidget * fsFNameList; |
75 GtkWidget * fsFileSelect; | 81 GtkWidget * fsFileSelect; |
76 GdkColormap * fsColorMap; | 82 GdkColormap * fsColorMap; |
205 | 211 |
206 fsType=type; | 212 fsType=type; |
207 switch ( type ) | 213 switch ( type ) |
208 { | 214 { |
209 case fsVideoSelector: | 215 case fsVideoSelector: |
210 fsMessage=evFileLoaded; | |
211 gtk_window_set_title( GTK_WINDOW( fsFileSelect ),MSGTR_FileSelect ); | 216 gtk_window_set_title( GTK_WINDOW( fsFileSelect ),MSGTR_FileSelect ); |
212 fsList_items=NULL; | 217 fsList_items=NULL; |
213 for( i=0;i<fsNumberOfVideoFilterNames + 1;i++ ) | 218 for( i=0;i<fsNumberOfVideoFilterNames + 1;i++ ) |
214 fsList_items=g_list_append( fsList_items,fsVideoFilterNames[i][0] ); | 219 fsList_items=g_list_append( fsList_items,fsVideoFilterNames[i][0] ); |
215 gtk_combo_set_popdown_strings( GTK_COMBO( List ),fsList_items ); | 220 gtk_combo_set_popdown_strings( GTK_COMBO( List ),fsList_items ); |
232 fsList_items=g_list_append( fsList_items,fsOtherFilterNames[i][0] ); | 237 fsList_items=g_list_append( fsList_items,fsOtherFilterNames[i][0] ); |
233 gtk_combo_set_popdown_strings( GTK_COMBO( List ),fsList_items ); | 238 gtk_combo_set_popdown_strings( GTK_COMBO( List ),fsList_items ); |
234 g_list_free( fsList_items ); | 239 g_list_free( fsList_items ); |
235 gtk_entry_set_text( GTK_ENTRY( fsFilterCombo ),fsOtherFilterNames[fsNumberOfOtherFilterNames][0] ); | 240 gtk_entry_set_text( GTK_ENTRY( fsFilterCombo ),fsOtherFilterNames[fsNumberOfOtherFilterNames][0] ); |
236 break; | 241 break; |
242 case fsAudioSelector: | |
243 gtk_window_set_title( GTK_WINDOW( fsFileSelect ),MSGTR_AudioFileSelect ); | |
244 fsList_items=NULL; | |
245 for( i=0;i<fsNumberOfAudioFilterNames + 1;i++ ) | |
246 fsList_items=g_list_append( fsList_items,fsAudioFileNames[i][0] ); | |
247 gtk_combo_set_popdown_strings( GTK_COMBO( List ),fsList_items ); | |
248 g_list_free( fsList_items ); | |
249 gtk_entry_set_text( GTK_ENTRY( fsFilterCombo ),fsAudioFileNames[fsNumberOfAudioFilterNames - 1][0] ); | |
250 break; | |
237 } | 251 } |
238 | 252 |
239 gtk_window_set_modal( GTK_WINDOW( fsFileSelect ),modal ); | 253 gtk_window_set_modal( GTK_WINDOW( fsFileSelect ),modal ); |
240 | 254 |
241 gtk_widget_show( fsFileSelect ); | 255 gtk_widget_show( fsFileSelect ); |
267 switch ( fsType ) | 281 switch ( fsType ) |
268 { | 282 { |
269 case fsVideoSelector: | 283 case fsVideoSelector: |
270 for( i=0;i<fsNumberOfVideoFilterNames+1;i++ ) | 284 for( i=0;i<fsNumberOfVideoFilterNames+1;i++ ) |
271 if( !strcmp( str,fsVideoFilterNames[i][0] ) ) | 285 if( !strcmp( str,fsVideoFilterNames[i][0] ) ) |
272 { | 286 { strcpy( fsFilter,fsVideoFilterNames[i][1] ); break; } |
273 strcpy( fsFilter,fsVideoFilterNames[i][1] ); | |
274 CheckDir( fsFNameList,get_current_dir_name() ); | |
275 break; | |
276 } | |
277 break; | 287 break; |
278 case fsSubtitleSelector: | 288 case fsSubtitleSelector: |
279 for( i=0;i<fsNumberOfSubtitleFilterNames+1;i++ ) | 289 for( i=0;i<fsNumberOfSubtitleFilterNames+1;i++ ) |
280 if( !strcmp( str,fsSubtitleFilterNames[i][0] ) ) | 290 if( !strcmp( str,fsSubtitleFilterNames[i][0] ) ) |
281 { | 291 { strcpy( fsFilter,fsSubtitleFilterNames[i][1] ); break; } |
282 strcpy( fsFilter,fsSubtitleFilterNames[i][1] ); | |
283 CheckDir( fsFNameList,get_current_dir_name() ); | |
284 break; | |
285 } | |
286 break; | 292 break; |
287 case fsOtherSelector: | 293 case fsOtherSelector: |
288 for( i=0;i<fsNumberOfOtherFilterNames+1;i++ ) | 294 for( i=0;i<fsNumberOfOtherFilterNames+1;i++ ) |
289 if( !strcmp( str,fsOtherFilterNames[i][0] ) ) | 295 if( !strcmp( str,fsOtherFilterNames[i][0] ) ) |
290 { | 296 { strcpy( fsFilter,fsOtherFilterNames[i][1] ); break; } |
291 strcpy( fsFilter,fsOtherFilterNames[i][1] ); | |
292 CheckDir( fsFNameList,get_current_dir_name() ); | |
293 break; | |
294 } | |
295 break; | 297 break; |
296 } | 298 case fsAudioSelector: |
299 for( i=0;i<fsNumberOfAudioFilterNames+1;i++ ) | |
300 if( !strcmp( str,fsAudioFileNames[i][0] ) ) | |
301 { strcpy( fsFilter,fsAudioFileNames[i][1] ); break; } | |
302 break; | |
303 default: return; | |
304 } | |
305 CheckDir( fsFNameList,get_current_dir_name() ); | |
297 } | 306 } |
298 | 307 |
299 void fs_fsPathCombo_activate( GtkEditable * editable,gpointer user_data ) | 308 void fs_fsPathCombo_activate( GtkEditable * editable,gpointer user_data ) |
300 { | 309 { |
301 unsigned char * str; | 310 unsigned char * str; |
373 { | 382 { |
374 case fsVideoSelector: | 383 case fsVideoSelector: |
375 guiSetDF( guiIntfStruct.Filename,fsSelectedDirectory,fsSelectedFile ); | 384 guiSetDF( guiIntfStruct.Filename,fsSelectedDirectory,fsSelectedFile ); |
376 guiIntfStruct.StreamType=STREAMTYPE_FILE; | 385 guiIntfStruct.StreamType=STREAMTYPE_FILE; |
377 guiIntfStruct.FilenameChanged=1; | 386 guiIntfStruct.FilenameChanged=1; |
387 if ( guiIntfStruct.AudioFile ) free( guiIntfStruct.AudioFile ); | |
388 guiIntfStruct.AudioFile=NULL; | |
378 break; | 389 break; |
379 case fsSubtitleSelector: | 390 case fsSubtitleSelector: |
380 guiSetDF( guiIntfStruct.Subtitlename,fsSelectedDirectory,fsSelectedFile ); | 391 guiSetDF( guiIntfStruct.Subtitlename,fsSelectedDirectory,fsSelectedFile ); |
381 guiIntfStruct.SubtitleChanged=1; | 392 guiIntfStruct.SubtitleChanged=1; |
382 break; | 393 break; |
383 case fsOtherSelector: | 394 case fsOtherSelector: |
384 guiSetDF( guiIntfStruct.Othername,fsSelectedDirectory,fsSelectedFile ); | 395 guiSetDF( guiIntfStruct.Othername,fsSelectedDirectory,fsSelectedFile ); |
385 break; | 396 break; |
397 case fsAudioSelector: | |
398 guiSetDF( guiIntfStruct.AudioFile,fsSelectedDirectory,fsSelectedFile ); | |
399 break; | |
386 } | 400 } |
387 | 401 |
388 HideFileSelect(); | 402 HideFileSelect(); |
389 | 403 |
390 item=fsTopList_items; | 404 item=fsTopList_items; |
392 { | 406 { |
393 if ( !strcmp( item->data,fsSelectedDirectory ) ) i=0; | 407 if ( !strcmp( item->data,fsSelectedDirectory ) ) i=0; |
394 item=item->next; | 408 item=item->next; |
395 } | 409 } |
396 if ( i ) fsTopList_items=g_list_prepend( fsTopList_items,(gchar *)get_current_dir_name() ); | 410 if ( i ) fsTopList_items=g_list_prepend( fsTopList_items,(gchar *)get_current_dir_name() ); |
397 if ( mplMainAutoPlay ) mplEventHandling( evPlay,0 ); | 411 if ( mplMainAutoPlay ) mplEventHandling( evPlay,0 ); |
398 } | 412 } |
399 | 413 |
400 void fs_Cancel_released( GtkButton * button,gpointer user_data ) | 414 void fs_Cancel_released( GtkButton * button,gpointer user_data ) |
401 { HideFileSelect(); } | 415 { HideFileSelect(); } |
402 | 416 |