summaryrefslogtreecommitdiffstats
path: root/Gui
diff options
context:
space:
mode:
authorpontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-11-16 23:17:52 +0000
committerpontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-11-16 23:17:52 +0000
commit4332bed459567aa7a746131c56d5a07ba88c05b1 (patch)
tree42de79556ada265f0bd2e6240a4da43919db2f25 /Gui
parent5b5be67bd4a48d913a9f4578c7fa6d17c925db2c (diff)
downloadmpv-4332bed459567aa7a746131c56d5a07ba88c05b1.tar.bz2
mpv-4332bed459567aa7a746131c56d5a07ba88c05b1.tar.xz
middle menu is working
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2941 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'Gui')
-rw-r--r--Gui/mplayer/gtk/menu.c14
-rw-r--r--Gui/mplayer/mplayer.h1
-rw-r--r--Gui/mplayer/mw.h9
-rw-r--r--Gui/mplayer/psignal.c8
-rw-r--r--Gui/mplayer/widgets.c1
-rw-r--r--Gui/mplayer/widgets.h2
6 files changed, 25 insertions, 10 deletions
diff --git a/Gui/mplayer/gtk/menu.c b/Gui/mplayer/gtk/menu.c
index fc02d0f5f1..b79ec363d4 100644
--- a/Gui/mplayer/gtk/menu.c
+++ b/Gui/mplayer/gtk/menu.c
@@ -8,8 +8,9 @@
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 )
@@ -51,6 +52,8 @@ GtkWidget * AddSeparator( GtkWidget * Menu )
}
GtkWidget * DVDSubMenu;
+GtkWidget * DVDAudioLanguageMenu;
+GtkWidget * DVDSubtitleLanguageMenu;
GtkWidget * create_PopUpMenu( void )
{
@@ -63,7 +66,7 @@ GtkWidget * create_PopUpMenu( void )
AddMenuItem( Menu,"About MPlayer"" ", evAbout );
AddSeparator( Menu );
SubMenu=AddSubMenu( Menu,"Open ..." );
- AddMenuItem( SubMenu,"Play file ..."" ", evLoad );
+ AddMenuItem( SubMenu,"Play file ..."" ", evLoadPlay );
AddMenuItem( SubMenu,"Play VCD ...", evNone );
AddMenuItem( SubMenu,"Play DVD ...", evNone );
AddMenuItem( SubMenu,"Play URL ...", evNone );
@@ -86,10 +89,11 @@ 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 ..."" ", evNone );
AddMenuItem( DVDSubMenu,"Show DVD Menu", evNone );
AddSeparator( DVDSubMenu );
- AddMenuItem( DVDSubMenu," ... ", evNone );
+ DVDAudioLanguageMenu=AddSubMenu( DVDSubMenu,"Audio language" );
+ DVDSubtitleLanguageMenu=AddSubMenu( DVDSubMenu,"Subtitle language" );
AddSeparator( Menu );
AddMenuItem( Menu,"Playlist", evPlayList );
AddMenuItem( Menu,"Skin browser", evSkinBrowser );
diff --git a/Gui/mplayer/mplayer.h b/Gui/mplayer/mplayer.h
index b98b178b1b..8bfabf8122 100644
--- a/Gui/mplayer/mplayer.h
+++ b/Gui/mplayer/mplayer.h
@@ -11,6 +11,7 @@ extern unsigned char * mplMenuDrawBuffer;
extern int mainVisible;
extern int mplMainAutoPlay;
+extern int mplMiddleMenu;
extern void mplInit( int argc,char* argv[], char *envp[], void* disp );
extern void mplMsgHandle( int msg,float param );
diff --git a/Gui/mplayer/mw.h b/Gui/mplayer/mw.h
index 7f21924b0c..b6482ded75 100644
--- a/Gui/mplayer/mw.h
+++ b/Gui/mplayer/mw.h
@@ -5,7 +5,9 @@
unsigned char * mplDrawBuffer = NULL;
int mplMainRender = 1;
+
int mplMainAutoPlay = 0;
+int mplMiddleMenu = 0;
int mainVisible = 1;
@@ -380,7 +382,14 @@ NoPause:
mplMainRender=1;
mplMainAutoPlay=0;
mplPlay();
+ break;
}
+ if ( mplMiddleMenu )
+ {
+ mplMiddleMenu=0;
+ mplMsgHandle( gtkShMem->popupmenu,0 );
+ break;
+ }
break;
// --- system events
case evNone:
diff --git a/Gui/mplayer/psignal.c b/Gui/mplayer/psignal.c
index 90b163f8f1..4bb30bbd35 100644
--- a/Gui/mplayer/psignal.c
+++ b/Gui/mplayer/psignal.c
@@ -127,10 +127,8 @@ void gtkSigHandler( int s )
gtk_main_quit();
break;
case evShowPopUpMenu:
-// if ( gtkVisiblePopUpMenu ) gtk_widget_hide( PopUpMenu );
-// gtk_widget_show( PopUpMenu );
+ gtkShMem->popupmenu=evNone;
gtk_menu_popup( GTK_MENU( PopUpMenu ),NULL,NULL,NULL,NULL,0,0 );
- gtkVisiblePopUpMenu=1;
break;
}
gtkShMem->message=0;
@@ -184,6 +182,10 @@ void mplMainSigHandler( int s )
mplShMem->StreamType=STREAMTYPE_FILE;
if ( mplMainAutoPlay ) mplGeneralTimer=1;
break;
+ case evShowPopUpMenu:
+ fprintf( stderr,"[psignal] PopUpMenu: %d\n",gtkShMem->popupmenu );
+ mplMiddleMenu=1; mplGeneralTimer=1;
+ break;
case evMessageBox:
if ( mplCriticalError )
{ gtkSendMessage( evExit ); exit( 1 ); }
diff --git a/Gui/mplayer/widgets.c b/Gui/mplayer/widgets.c
index 9037af6b08..f10726e920 100644
--- a/Gui/mplayer/widgets.c
+++ b/Gui/mplayer/widgets.c
@@ -40,7 +40,6 @@ int gtkVisibleFileSelect = 0;
int gtkVisibleMessageBox = 0;
int gtkVisibleAboutBox = 0;
int gtkVisibleOptions = 0;
-int gtkVisiblePopUpMenu = 0;
gtkCommStruct * gtkShMem;
diff --git a/Gui/mplayer/widgets.h b/Gui/mplayer/widgets.h
index 46cc5663f8..86c67e2e30 100644
--- a/Gui/mplayer/widgets.h
+++ b/Gui/mplayer/widgets.h
@@ -52,6 +52,7 @@ typedef struct
gtkSkinStruct sb;
gtkVisibleStruct vs;
gtkOptionsStruct op;
+ int popupmenu;
} gtkCommStruct;
extern gtkCommStruct * gtkShMem;
@@ -77,7 +78,6 @@ extern int gtkVisibleFileSelect;
extern int gtkVisibleMessageBox;
extern int gtkVisibleAboutBox;
extern int gtkVisibleOptions;
-extern int gtkVisiblePopUpMenu;
extern char * sbMPlayerDirInHome;
extern char * sbMPlayerPrefixDir;