middle menu is working

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2941 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
pontscho 2001-11-16 23:17:52 +00:00
parent 5b5be67bd4
commit 4332bed459
6 changed files with 25 additions and 10 deletions

View File

@ -8,8 +8,9 @@
void ActivateMenuItem( int Item ) void ActivateMenuItem( int Item )
{ {
gtkVisiblePopUpMenu=0; // fprintf( stderr,"[menu] item: %d\n",Item );
fprintf( stderr,"[menu] item: %d\n",Item ); gtkShMem->popupmenu=Item;
gtkSendMessage( evShowPopUpMenu );
} }
GtkWidget * AddMenuItem( GtkWidget * Menu,char * label,int Number ) GtkWidget * AddMenuItem( GtkWidget * Menu,char * label,int Number )
@ -51,6 +52,8 @@ GtkWidget * AddSeparator( GtkWidget * Menu )
} }
GtkWidget * DVDSubMenu; GtkWidget * DVDSubMenu;
GtkWidget * DVDAudioLanguageMenu;
GtkWidget * DVDSubtitleLanguageMenu;
GtkWidget * create_PopUpMenu( void ) GtkWidget * create_PopUpMenu( void )
{ {
@ -63,7 +66,7 @@ GtkWidget * create_PopUpMenu( void )
AddMenuItem( Menu,"About MPlayer"" ", evAbout ); AddMenuItem( Menu,"About MPlayer"" ", evAbout );
AddSeparator( Menu ); AddSeparator( Menu );
SubMenu=AddSubMenu( Menu,"Open ..." ); SubMenu=AddSubMenu( Menu,"Open ..." );
AddMenuItem( SubMenu,"Play file ..."" ", evLoad ); AddMenuItem( SubMenu,"Play file ..."" ", evLoadPlay );
AddMenuItem( SubMenu,"Play VCD ...", evNone ); AddMenuItem( SubMenu,"Play VCD ...", evNone );
AddMenuItem( SubMenu,"Play DVD ...", evNone ); AddMenuItem( SubMenu,"Play DVD ...", evNone );
AddMenuItem( SubMenu,"Play URL ...", evNone ); AddMenuItem( SubMenu,"Play URL ...", evNone );
@ -86,10 +89,11 @@ GtkWidget * create_PopUpMenu( void )
AddMenuItem( SubMenu,"Double size", evDoubleSize ); AddMenuItem( SubMenu,"Double size", evDoubleSize );
AddMenuItem( SubMenu,"Fullscreen", evFullScreen ); AddMenuItem( SubMenu,"Fullscreen", evFullScreen );
DVDSubMenu=AddSubMenu( Menu,"DVD" ); DVDSubMenu=AddSubMenu( Menu,"DVD" );
AddMenuItem( DVDSubMenu,"Play disc ...", evNone ); AddMenuItem( DVDSubMenu,"Play disc ..."" ", evNone );
AddMenuItem( DVDSubMenu,"Show DVD Menu", evNone ); AddMenuItem( DVDSubMenu,"Show DVD Menu", evNone );
AddSeparator( DVDSubMenu ); AddSeparator( DVDSubMenu );
AddMenuItem( DVDSubMenu," ... ", evNone ); DVDAudioLanguageMenu=AddSubMenu( DVDSubMenu,"Audio language" );
DVDSubtitleLanguageMenu=AddSubMenu( DVDSubMenu,"Subtitle language" );
AddSeparator( Menu ); AddSeparator( Menu );
AddMenuItem( Menu,"Playlist", evPlayList ); AddMenuItem( Menu,"Playlist", evPlayList );
AddMenuItem( Menu,"Skin browser", evSkinBrowser ); AddMenuItem( Menu,"Skin browser", evSkinBrowser );

View File

@ -11,6 +11,7 @@ extern unsigned char * mplMenuDrawBuffer;
extern int mainVisible; extern int mainVisible;
extern int mplMainAutoPlay; extern int mplMainAutoPlay;
extern int mplMiddleMenu;
extern void mplInit( int argc,char* argv[], char *envp[], void* disp ); extern void mplInit( int argc,char* argv[], char *envp[], void* disp );
extern void mplMsgHandle( int msg,float param ); extern void mplMsgHandle( int msg,float param );

View File

@ -5,7 +5,9 @@
unsigned char * mplDrawBuffer = NULL; unsigned char * mplDrawBuffer = NULL;
int mplMainRender = 1; int mplMainRender = 1;
int mplMainAutoPlay = 0; int mplMainAutoPlay = 0;
int mplMiddleMenu = 0;
int mainVisible = 1; int mainVisible = 1;
@ -380,7 +382,14 @@ NoPause:
mplMainRender=1; mplMainRender=1;
mplMainAutoPlay=0; mplMainAutoPlay=0;
mplPlay(); mplPlay();
break;
} }
if ( mplMiddleMenu )
{
mplMiddleMenu=0;
mplMsgHandle( gtkShMem->popupmenu,0 );
break;
}
break; break;
// --- system events // --- system events
case evNone: case evNone:

View File

@ -127,10 +127,8 @@ void gtkSigHandler( int s )
gtk_main_quit(); gtk_main_quit();
break; break;
case evShowPopUpMenu: case evShowPopUpMenu:
// if ( gtkVisiblePopUpMenu ) gtk_widget_hide( PopUpMenu ); gtkShMem->popupmenu=evNone;
// gtk_widget_show( PopUpMenu );
gtk_menu_popup( GTK_MENU( PopUpMenu ),NULL,NULL,NULL,NULL,0,0 ); gtk_menu_popup( GTK_MENU( PopUpMenu ),NULL,NULL,NULL,NULL,0,0 );
gtkVisiblePopUpMenu=1;
break; break;
} }
gtkShMem->message=0; gtkShMem->message=0;
@ -184,6 +182,10 @@ void mplMainSigHandler( int s )
mplShMem->StreamType=STREAMTYPE_FILE; mplShMem->StreamType=STREAMTYPE_FILE;
if ( mplMainAutoPlay ) mplGeneralTimer=1; if ( mplMainAutoPlay ) mplGeneralTimer=1;
break; break;
case evShowPopUpMenu:
fprintf( stderr,"[psignal] PopUpMenu: %d\n",gtkShMem->popupmenu );
mplMiddleMenu=1; mplGeneralTimer=1;
break;
case evMessageBox: case evMessageBox:
if ( mplCriticalError ) if ( mplCriticalError )
{ gtkSendMessage( evExit ); exit( 1 ); } { gtkSendMessage( evExit ); exit( 1 ); }

View File

@ -40,7 +40,6 @@ int gtkVisibleFileSelect = 0;
int gtkVisibleMessageBox = 0; int gtkVisibleMessageBox = 0;
int gtkVisibleAboutBox = 0; int gtkVisibleAboutBox = 0;
int gtkVisibleOptions = 0; int gtkVisibleOptions = 0;
int gtkVisiblePopUpMenu = 0;
gtkCommStruct * gtkShMem; gtkCommStruct * gtkShMem;

View File

@ -52,6 +52,7 @@ typedef struct
gtkSkinStruct sb; gtkSkinStruct sb;
gtkVisibleStruct vs; gtkVisibleStruct vs;
gtkOptionsStruct op; gtkOptionsStruct op;
int popupmenu;
} gtkCommStruct; } gtkCommStruct;
extern gtkCommStruct * gtkShMem; extern gtkCommStruct * gtkShMem;
@ -77,7 +78,6 @@ extern int gtkVisibleFileSelect;
extern int gtkVisibleMessageBox; extern int gtkVisibleMessageBox;
extern int gtkVisibleAboutBox; extern int gtkVisibleAboutBox;
extern int gtkVisibleOptions; extern int gtkVisibleOptions;
extern int gtkVisiblePopUpMenu;
extern char * sbMPlayerDirInHome; extern char * sbMPlayerDirInHome;
extern char * sbMPlayerPrefixDir; extern char * sbMPlayerPrefixDir;