*** MPlayer-20021019/Gui/mplayer/gtk/menu.c Wed Oct 2 17:57:42 2002 --- MPlayer-new/Gui/mplayer/gtk/menu.c Fri Oct 18 17:46:35 2002 *************** *** 19,24 **** --- 19,37 ---- mplEventHandling( Item & 0x0000ffff,Item >> 16 ); } + GtkWidget * AddMenuCheckItem(GtkWidget* Menu,char* label, gboolean state, int Number) + { + GtkWidget * Item = NULL; + Item=gtk_check_menu_item_new_with_label( label ); + gtk_menu_append( GTK_MENU( Menu ),Item ); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(Item),state); + gtk_signal_connect_object( GTK_OBJECT(Item),"activate", + GTK_SIGNAL_FUNC(ActivateMenuItem),(gpointer)Number ); + gtk_widget_show( Item ); + return Item; + } + + GtkWidget * AddMenuItem( GtkWidget * Menu,char * label,int Number ) { GtkWidget * Item = NULL; *************** *** 328,337 **** if ( guiIntfStruct.DVD.titles ) { char tmp[32]; int i; ! for ( i=0;i < guiIntfStruct.DVD.titles;i++ ) { ! snprintf( tmp,32,MSGTR_MENU_Title,i+1 ); ! AddMenuItem( DVDTitleMenu,tmp,( (i+1) << 16 ) + evSetDVDTitle ); } } else --- 341,352 ---- if ( guiIntfStruct.DVD.titles ) { char tmp[32]; int i; ! for ( i=1 ; i<= guiIntfStruct.DVD.titles;i++ ) { ! snprintf( tmp,32,MSGTR_MENU_Title,i); ! AddMenuCheckItem( DVDTitleMenu,tmp, ! guiIntfStruct.DVD.current_title == i, ! (i << 16) + evSetDVDTitle ); } } else *************** *** 343,352 **** if ( guiIntfStruct.DVD.chapters ) { char tmp[32]; int i; ! for ( i=0;i < guiIntfStruct.DVD.chapters;i++ ) { ! snprintf( tmp,32,MSGTR_MENU_Chapter,i+1 ); ! AddMenuItem( DVDChapterMenu,tmp,( (i+1) << 16 ) + evSetDVDChapter ); } } else --- 358,368 ---- if ( guiIntfStruct.DVD.chapters ) { char tmp[32]; int i; ! for ( i=1;i <= guiIntfStruct.DVD.chapters;i++ ) { ! snprintf( tmp,32,MSGTR_MENU_Chapter,i ); ! AddMenuCheckItem( DVDChapterMenu,tmp,guiIntfStruct.DVD.current_chapter == i, ! ( i << 16 ) + evSetDVDChapter ); } } else *************** *** 363,369 **** snprintf( tmp,64,"%s - %s %s",GetLanguage( guiIntfStruct.DVD.audio_streams[i].language ), ChannelTypes[ guiIntfStruct.DVD.audio_streams[i].type ], ChannelNumbers[ guiIntfStruct.DVD.audio_streams[i].channels ] ); ! AddMenuItem( DVDAudioLanguageMenu,tmp,( guiIntfStruct.DVD.audio_streams[i].id << 16 ) + evSetDVDAudio ); } } else --- 379,390 ---- snprintf( tmp,64,"%s - %s %s",GetLanguage( guiIntfStruct.DVD.audio_streams[i].language ), ChannelTypes[ guiIntfStruct.DVD.audio_streams[i].type ], ChannelNumbers[ guiIntfStruct.DVD.audio_streams[i].channels ] ); ! AddMenuCheckItem( DVDAudioLanguageMenu,tmp, ! FALSE, ! ( guiIntfStruct.DVD.audio_streams[i].id << 16 ) + evSetDVDAudio ); ! /* ! guiIntfStruct.DVD.current_austream == i ??? ! */ } } else *************** *** 379,385 **** for ( i=0;i < guiIntfStruct.DVD.nr_of_subtitles;i++ ) { snprintf( tmp,64,"%s",GetLanguage( guiIntfStruct.DVD.subtitles[i].language ) ); ! AddMenuItem( DVDSubtitleLanguageMenu,tmp,( guiIntfStruct.DVD.subtitles[i].id << 16 ) + evSetDVDSubtitle ); } } else --- 400,410 ---- for ( i=0;i < guiIntfStruct.DVD.nr_of_subtitles;i++ ) { snprintf( tmp,64,"%s",GetLanguage( guiIntfStruct.DVD.subtitles[i].language ) ); ! AddMenuCheckItem( DVDSubtitleLanguageMenu,tmp,FALSE, ! ( guiIntfStruct.DVD.subtitles[i].id << 16 ) + evSetDVDSubtitle ); ! /* ! guiIntfStruct.DVD.current_subtitles == i ???; ! */ } } else