Mercurial > mplayer.hg
diff gui/ui/gtk/menu.c @ 34387:0ba85cad4c7e
Add audio CD playback support to the X11/GTK GUI.
(The Win32 GUI already had this support. Add missing - although already
used - user event evPlayCD here as well as internal event ivSetCDTrack
- although it's unused - for consistency.)
author | ib |
---|---|
date | Sat, 31 Dec 2011 12:38:52 +0000 |
parents | e8e4e6f9b7ac |
children | a56707da37cd |
line wrap: on
line diff
--- a/gui/ui/gtk/menu.c Sat Dec 31 12:20:08 2011 +0000 +++ b/gui/ui/gtk/menu.c Sat Dec 31 12:38:52 2011 +0000 @@ -66,6 +66,10 @@ #include "gui/ui/pixmaps/empty.xpm" #include "gui/ui/pixmaps/loadeaf.xpm" #include "gui/ui/pixmaps/title.xpm" +#ifdef CONFIG_CDDA +#include "gui/ui/pixmaps/cd.xpm" +#include "gui/ui/pixmaps/playcd.xpm" +#endif #ifdef CONFIG_VCD #include "gui/ui/pixmaps/vcd.xpm" #include "gui/ui/pixmaps/playvcd.xpm" @@ -404,6 +408,8 @@ GtkWidget * AspectMenu; GtkWidget * VCDSubMenu; GtkWidget * VCDTitleMenu; +GtkWidget * CDSubMenu; +GtkWidget * CDTitleMenu; GtkWidget * create_PopUpMenu( void ) { @@ -425,6 +431,9 @@ AddSeparator( Menu ); SubMenu=AddSubMenu( window1, (const char*)open_xpm, Menu,MSGTR_MENU_Open ); AddMenuItem( window1, (const char*)file2_xpm, SubMenu,MSGTR_MENU_PlayFile" ", evLoadPlay ); +#ifdef CONFIG_CDDA + AddMenuItem( window1, (const char*)playcd_xpm, SubMenu,MSGTR_MENU_PlayCD, evPlayCD ); +#endif #ifdef CONFIG_VCD AddMenuItem( window1, (const char*)playvcd_xpm, SubMenu,MSGTR_MENU_PlayVCD, evPlayVCD ); #endif @@ -450,6 +459,27 @@ // AddMenuItem( SubMenu,MSGTR_MENU_NormalSize" ", evNormalSize ); // AddMenuItem( SubMenu,MSGTR_MENU_DoubleSize, evDoubleSize ); // AddMenuItem( SubMenu,MSGTR_MENU_FullScreen, evFullScreen ); +#ifdef CONFIG_CDDA + CDSubMenu=AddSubMenu( window1, (const char*)cd_xpm, Menu,MSGTR_MENU_CD ); + AddMenuItem( window1, (const char*)playcd_xpm, CDSubMenu,MSGTR_MENU_PlayDisc,evPlayCD ); + AddSeparator( CDSubMenu ); + CDTitleMenu=AddSubMenu( window1, (const char*)title_xpm, CDSubMenu,MSGTR_MENU_Titles ); + if ( guiInfo.Tracks ) + { + char tmp[32]; int i; + for ( i=1;i <= guiInfo.Tracks;i++ ) + { + snprintf( tmp,32,MSGTR_MENU_Title,i ); + //AddMenuItem( CDTitleMenu,tmp,( i << 16 ) + ivSetCDTrack ); + AddMenuItem(window1, (const char*)empty_xpm, CDTitleMenu,tmp,( i << 16 ) + ivSetCDTrack ); + } + } + else + { + MenuItem=AddMenuItem( window1, (const char*)empty_xpm, CDTitleMenu,MSGTR_MENU_None,evNone ); + gtk_widget_set_sensitive( MenuItem,FALSE ); + } +#endif #ifdef CONFIG_VCD VCDSubMenu=AddSubMenu( window1, (const char*)vcd_xpm, Menu,MSGTR_MENU_VCD ); AddMenuItem( window1, (const char*)playvcd_xpm, VCDSubMenu,MSGTR_MENU_PlayDisc,evPlayVCD );