mirror of
https://github.com/mpv-player/mpv
synced 2024-10-18 10:25:02 +02:00
fix middle menu hideing bug
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2981 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
c7bdd84243
commit
3e771db3e4
@ -10,6 +10,7 @@ void ActivateMenuItem( int Item )
|
||||
{
|
||||
// fprintf( stderr,"[menu] item: %d\n",Item );
|
||||
gtkShMem->popupmenu=Item;
|
||||
gtkShMem->visiblepopupmenu=0;
|
||||
gtkSendMessage( evShowPopUpMenu );
|
||||
}
|
||||
|
||||
@ -52,6 +53,7 @@ GtkWidget * AddSeparator( GtkWidget * Menu )
|
||||
}
|
||||
|
||||
GtkWidget * DVDSubMenu;
|
||||
GtkWidget * DVDTitleMenu;
|
||||
GtkWidget * DVDAudioLanguageMenu;
|
||||
GtkWidget * DVDSubtitleLanguageMenu;
|
||||
|
||||
@ -68,7 +70,7 @@ GtkWidget * create_PopUpMenu( void )
|
||||
SubMenu=AddSubMenu( Menu,"Open ..." );
|
||||
AddMenuItem( SubMenu,"Play file ..."" ", evLoadPlay );
|
||||
AddMenuItem( SubMenu,"Play VCD ...", evNone );
|
||||
AddMenuItem( SubMenu,"Play DVD ...", evNone );
|
||||
AddMenuItem( SubMenu,"Play DVD ...", evPlayDVD );
|
||||
AddMenuItem( SubMenu,"Play URL ...", evNone );
|
||||
AddMenuItem( SubMenu,"Load subtitle ... ", evLoadSubtitle );
|
||||
SubMenu=AddSubMenu( Menu,"Playing" );
|
||||
@ -89,9 +91,10 @@ GtkWidget * create_PopUpMenu( void )
|
||||
AddMenuItem( SubMenu,"Double size", evDoubleSize );
|
||||
AddMenuItem( SubMenu,"Fullscreen", evFullScreen );
|
||||
DVDSubMenu=AddSubMenu( Menu,"DVD" );
|
||||
AddMenuItem( DVDSubMenu,"Play disc ..."" ", evNone );
|
||||
AddMenuItem( DVDSubMenu,"Play disc ..."" ", evPlayDVD );
|
||||
AddMenuItem( DVDSubMenu,"Show DVD Menu", evNone );
|
||||
AddSeparator( DVDSubMenu );
|
||||
DVDTitleMenu=AddSubMenu( DVDSubMenu,"Titles" );
|
||||
DVDAudioLanguageMenu=AddSubMenu( DVDSubMenu,"Audio language" );
|
||||
DVDSubtitleLanguageMenu=AddSubMenu( DVDSubMenu,"Subtitle language" );
|
||||
AddSeparator( Menu );
|
||||
|
@ -128,7 +128,14 @@ void gtkSigHandler( int s )
|
||||
break;
|
||||
case evShowPopUpMenu:
|
||||
gtkShMem->popupmenu=evNone;
|
||||
if ( gtkShMem->visiblepopupmenu ) gtk_widget_hide_on_delete( PopUpMenu );
|
||||
PopUpMenu=create_PopUpMenu();
|
||||
gtk_menu_popup( GTK_MENU( PopUpMenu ),NULL,NULL,NULL,NULL,0,0 );
|
||||
gtkShMem->visiblepopupmenu=1;
|
||||
break;
|
||||
case evHidePopUpMenu:
|
||||
if ( gtkShMem->visiblepopupmenu ) gtk_widget_hide_on_delete( PopUpMenu );
|
||||
gtkShMem->visiblepopupmenu=0;
|
||||
break;
|
||||
}
|
||||
gtkShMem->message=0;
|
||||
|
@ -32,13 +32,15 @@ void mplSubMouseHandle( int Button,int X,int Y,int RX,int RY )
|
||||
|
||||
mplMouseTimer=mplMouseTimerConst;
|
||||
wsVisibleMouse( &appMPlayer.subWindow,wsShowMouseCursor );
|
||||
|
||||
|
||||
switch( Button )
|
||||
{
|
||||
case wsPMMouseButton:
|
||||
gtkSendMessage( evShowPopUpMenu );
|
||||
break;
|
||||
gtkSendMessage( evShowPopUpMenu );
|
||||
break;
|
||||
case wsPRMouseButton:
|
||||
if ( gtkShMem->visiblepopupmenu ) gtkSendMessage( evHidePopUpMenu );
|
||||
mplShowMenu( RX,RY );
|
||||
msButton=wsPRMouseButton;
|
||||
break;
|
||||
@ -48,6 +50,7 @@ void mplSubMouseHandle( int Button,int X,int Y,int RX,int RY )
|
||||
break;
|
||||
// ---
|
||||
case wsPLMouseButton:
|
||||
if ( gtkShMem->visiblepopupmenu ) gtkSendMessage( evHidePopUpMenu );
|
||||
sx=X; sy=Y;
|
||||
msButton=wsPLMouseButton;
|
||||
mplSubMoved=0;
|
||||
|
@ -59,7 +59,7 @@ void widgetsCreate( void )
|
||||
FileSelect=create_FileSelect();
|
||||
MessageBox=create_MessageBox(0);
|
||||
Options=create_Options();
|
||||
PopUpMenu=create_PopUpMenu();
|
||||
// PopUpMenu=create_PopUpMenu();
|
||||
}
|
||||
|
||||
// --- forked function
|
||||
|
@ -52,7 +52,9 @@ typedef struct
|
||||
gtkSkinStruct sb;
|
||||
gtkVisibleStruct vs;
|
||||
gtkOptionsStruct op;
|
||||
|
||||
int popupmenu;
|
||||
int visiblepopupmenu;
|
||||
} gtkCommStruct;
|
||||
|
||||
extern gtkCommStruct * gtkShMem;
|
||||
|
Loading…
Reference in New Issue
Block a user