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 );
|
// fprintf( stderr,"[menu] item: %d\n",Item );
|
||||||
gtkShMem->popupmenu=Item;
|
gtkShMem->popupmenu=Item;
|
||||||
|
gtkShMem->visiblepopupmenu=0;
|
||||||
gtkSendMessage( evShowPopUpMenu );
|
gtkSendMessage( evShowPopUpMenu );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -52,6 +53,7 @@ GtkWidget * AddSeparator( GtkWidget * Menu )
|
|||||||
}
|
}
|
||||||
|
|
||||||
GtkWidget * DVDSubMenu;
|
GtkWidget * DVDSubMenu;
|
||||||
|
GtkWidget * DVDTitleMenu;
|
||||||
GtkWidget * DVDAudioLanguageMenu;
|
GtkWidget * DVDAudioLanguageMenu;
|
||||||
GtkWidget * DVDSubtitleLanguageMenu;
|
GtkWidget * DVDSubtitleLanguageMenu;
|
||||||
|
|
||||||
@ -68,7 +70,7 @@ GtkWidget * create_PopUpMenu( void )
|
|||||||
SubMenu=AddSubMenu( Menu,"Open ..." );
|
SubMenu=AddSubMenu( Menu,"Open ..." );
|
||||||
AddMenuItem( SubMenu,"Play file ..."" ", evLoadPlay );
|
AddMenuItem( SubMenu,"Play file ..."" ", evLoadPlay );
|
||||||
AddMenuItem( SubMenu,"Play VCD ...", evNone );
|
AddMenuItem( SubMenu,"Play VCD ...", evNone );
|
||||||
AddMenuItem( SubMenu,"Play DVD ...", evNone );
|
AddMenuItem( SubMenu,"Play DVD ...", evPlayDVD );
|
||||||
AddMenuItem( SubMenu,"Play URL ...", evNone );
|
AddMenuItem( SubMenu,"Play URL ...", evNone );
|
||||||
AddMenuItem( SubMenu,"Load subtitle ... ", evLoadSubtitle );
|
AddMenuItem( SubMenu,"Load subtitle ... ", evLoadSubtitle );
|
||||||
SubMenu=AddSubMenu( Menu,"Playing" );
|
SubMenu=AddSubMenu( Menu,"Playing" );
|
||||||
@ -89,9 +91,10 @@ 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 ..."" ", evPlayDVD );
|
||||||
AddMenuItem( DVDSubMenu,"Show DVD Menu", evNone );
|
AddMenuItem( DVDSubMenu,"Show DVD Menu", evNone );
|
||||||
AddSeparator( DVDSubMenu );
|
AddSeparator( DVDSubMenu );
|
||||||
|
DVDTitleMenu=AddSubMenu( DVDSubMenu,"Titles" );
|
||||||
DVDAudioLanguageMenu=AddSubMenu( DVDSubMenu,"Audio language" );
|
DVDAudioLanguageMenu=AddSubMenu( DVDSubMenu,"Audio language" );
|
||||||
DVDSubtitleLanguageMenu=AddSubMenu( DVDSubMenu,"Subtitle language" );
|
DVDSubtitleLanguageMenu=AddSubMenu( DVDSubMenu,"Subtitle language" );
|
||||||
AddSeparator( Menu );
|
AddSeparator( Menu );
|
||||||
|
@ -128,7 +128,14 @@ void gtkSigHandler( int s )
|
|||||||
break;
|
break;
|
||||||
case evShowPopUpMenu:
|
case evShowPopUpMenu:
|
||||||
gtkShMem->popupmenu=evNone;
|
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 );
|
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;
|
break;
|
||||||
}
|
}
|
||||||
gtkShMem->message=0;
|
gtkShMem->message=0;
|
||||||
|
@ -33,12 +33,14 @@ void mplSubMouseHandle( int Button,int X,int Y,int RX,int RY )
|
|||||||
mplMouseTimer=mplMouseTimerConst;
|
mplMouseTimer=mplMouseTimerConst;
|
||||||
wsVisibleMouse( &appMPlayer.subWindow,wsShowMouseCursor );
|
wsVisibleMouse( &appMPlayer.subWindow,wsShowMouseCursor );
|
||||||
|
|
||||||
|
|
||||||
switch( Button )
|
switch( Button )
|
||||||
{
|
{
|
||||||
case wsPMMouseButton:
|
case wsPMMouseButton:
|
||||||
gtkSendMessage( evShowPopUpMenu );
|
gtkSendMessage( evShowPopUpMenu );
|
||||||
break;
|
break;
|
||||||
case wsPRMouseButton:
|
case wsPRMouseButton:
|
||||||
|
if ( gtkShMem->visiblepopupmenu ) gtkSendMessage( evHidePopUpMenu );
|
||||||
mplShowMenu( RX,RY );
|
mplShowMenu( RX,RY );
|
||||||
msButton=wsPRMouseButton;
|
msButton=wsPRMouseButton;
|
||||||
break;
|
break;
|
||||||
@ -48,6 +50,7 @@ void mplSubMouseHandle( int Button,int X,int Y,int RX,int RY )
|
|||||||
break;
|
break;
|
||||||
// ---
|
// ---
|
||||||
case wsPLMouseButton:
|
case wsPLMouseButton:
|
||||||
|
if ( gtkShMem->visiblepopupmenu ) gtkSendMessage( evHidePopUpMenu );
|
||||||
sx=X; sy=Y;
|
sx=X; sy=Y;
|
||||||
msButton=wsPLMouseButton;
|
msButton=wsPLMouseButton;
|
||||||
mplSubMoved=0;
|
mplSubMoved=0;
|
||||||
|
@ -59,7 +59,7 @@ void widgetsCreate( void )
|
|||||||
FileSelect=create_FileSelect();
|
FileSelect=create_FileSelect();
|
||||||
MessageBox=create_MessageBox(0);
|
MessageBox=create_MessageBox(0);
|
||||||
Options=create_Options();
|
Options=create_Options();
|
||||||
PopUpMenu=create_PopUpMenu();
|
// PopUpMenu=create_PopUpMenu();
|
||||||
}
|
}
|
||||||
|
|
||||||
// --- forked function
|
// --- forked function
|
||||||
|
@ -52,7 +52,9 @@ typedef struct
|
|||||||
gtkSkinStruct sb;
|
gtkSkinStruct sb;
|
||||||
gtkVisibleStruct vs;
|
gtkVisibleStruct vs;
|
||||||
gtkOptionsStruct op;
|
gtkOptionsStruct op;
|
||||||
|
|
||||||
int popupmenu;
|
int popupmenu;
|
||||||
|
int visiblepopupmenu;
|
||||||
} gtkCommStruct;
|
} gtkCommStruct;
|
||||||
|
|
||||||
extern gtkCommStruct * gtkShMem;
|
extern gtkCommStruct * gtkShMem;
|
||||||
|
Loading…
Reference in New Issue
Block a user