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