bool playlist, bool adv_controls_enabled,
bool visual_selector_enabled )
{
-#ifndef WIN32
+#ifndef WIN32
/* Ugly klugde
* Remove SIGCHLD from the ignored signal the time to initialise
* Qt because it call gconf to get the icon theme */
QMenu *QVLCMenu::FileMenu()
{
QMenu *menu = new QMenu();
-/* DP_SADD( qtr("Quick &Open File...") , "", "", simpleOpenDialog() );*/
DP_SADD( qtr("Open &File..." ), "", "", openFileDialog(), "Ctrl+O" );
DP_SADD( qtr("Open &Disc..." ), "", "", openDiscDialog(), "Ctrl+D" );
DP_SADD( qtr("Open &Network..." ), "", "", openNetDialog(), "Ctrl+N" );
DP_SADD( qtr("Open &Capture Device..." ), "", "", openCaptureDialog(),
"Ctrl+C" );
menu->addSeparator();
- DP_SADD( qtr("&Streaming..."), "", "", streamingDialog(), "Ctrl+S" );
+ DP_SADD( qtr("&Streaming..."), "", "", openThenStreamingDialogs(),
+ "Ctrl+S" );
menu->addSeparator();
DP_SADD( qtr("&Quit") , "", "", quit(), "Ctrl+Q");
return menu;
#define POPUP_STATIC_ENTRIES \
vlc_value_t val; \
- MIM_SADD( qtr("Stop"), "", "", stop() ); \
- MIM_SADD( qtr("Previous"), "", "", prev() ); \
- MIM_SADD( qtr("Next"), "", "", next() ); \
if( p_input ) \
{ \
var_Get( p_input, "state", &val ); \
MIM_SADD( qtr("Pause"), "", "", togglePlayPause() ) \
} \
else if( THEPL->items.i_size && THEPL->i_enabled ) \
- MIM_SADD( qtr("Play"), "", "", togglePlayPause() ) \
+ MIM_SADD( qtr("Play"), "", "", togglePlayPause() );\
\
+ MIM_SADD( qtr("Stop"), "", "", stop() ); \
+ MIM_SADD( qtr("Previous"), "", "", prev() ); \
+ MIM_SADD( qtr("Next"), "", "", next() ); \
+ menu->addSeparator(); \
QMenu *intfmenu = InterfacesMenu( p_intf, NULL ); \
intfmenu->setTitle( qtr("Interfaces" ) ); \
menu->addMenu( intfmenu ); \
QMenu *toolsmenu = ToolsMenu( p_intf, NULL, false, false ); \
toolsmenu->setTitle( qtr("Tools" ) ); \
menu->addMenu( toolsmenu ); \
+ DP_SADD( qtr("Quit"), "", "", quit() , "Ctrl+Q" );
void QVLCMenu::VideoPopupMenu( intf_thread_t *p_intf )
{
p_intf->p_sys->p_popup_menu = NULL;
}
-void QVLCMenu::PopupMenu( intf_thread_t *p_intf )
+void QVLCMenu::PopupMenu( intf_thread_t *p_intf, bool show )
{
- POPUP_BOILERPLATE;
- if( p_input )
+ if( show )
{
- vlc_object_yield( p_input );
- InputAutoMenuBuilder( VLC_OBJECT(p_input), objects, varnames );
-
- /* Video menu */
- PUSH_SEPARATOR;
- varnames.push_back( "video-es" );
- objects.push_back( p_input->i_object_id );
- varnames.push_back( "spu-es" );
- objects.push_back( p_input->i_object_id );
- vlc_object_t *p_vout = (vlc_object_t *)vlc_object_find( p_input,
- VLC_OBJECT_VOUT, FIND_CHILD );
- if( p_vout )
- {
- VideoAutoMenuBuilder( p_vout, objects, varnames );
- vlc_object_release( p_vout );
- }
- /* Audio menu */
- PUSH_SEPARATOR
- varnames.push_back( "audio-es" );
- objects.push_back( p_input->i_object_id );
- vlc_object_t *p_aout = (vlc_object_t *)vlc_object_find( p_input,
- VLC_OBJECT_AOUT, FIND_ANYWHERE );
- if( p_aout )
- {
- AudioAutoMenuBuilder( p_aout, objects, varnames );
- vlc_object_release( p_aout );
- }
+ // create a popup if there is none
+ if( ! p_intf->p_sys->p_popup_menu )
+ {
+ POPUP_BOILERPLATE;
+ if( p_input )
+ {
+ vlc_object_yield( p_input );
+ InputAutoMenuBuilder( VLC_OBJECT(p_input), objects, varnames );
+
+ /* Video menu */
+ PUSH_SEPARATOR;
+ varnames.push_back( "video-es" );
+ objects.push_back( p_input->i_object_id );
+ varnames.push_back( "spu-es" );
+ objects.push_back( p_input->i_object_id );
+ vlc_object_t *p_vout = (vlc_object_t *)vlc_object_find( p_input,
+ VLC_OBJECT_VOUT, FIND_CHILD );
+ if( p_vout )
+ {
+ VideoAutoMenuBuilder( p_vout, objects, varnames );
+ vlc_object_release( p_vout );
+ }
+ /* Audio menu */
+ PUSH_SEPARATOR
+ varnames.push_back( "audio-es" );
+ objects.push_back( p_input->i_object_id );
+ vlc_object_t *p_aout = (vlc_object_t *)vlc_object_find( p_input,
+ VLC_OBJECT_AOUT, FIND_ANYWHERE );
+ if( p_aout )
+ {
+ AudioAutoMenuBuilder( p_aout, objects, varnames );
+ vlc_object_release( p_aout );
+ }
+ }
+
+ QMenu *menu = new QMenu();
+ Populate( p_intf, menu, varnames, objects );
+ menu->addSeparator();
+ POPUP_STATIC_ENTRIES;
+
+ p_intf->p_sys->p_popup_menu = menu;
+ }
+ p_intf->p_sys->p_popup_menu->popup( QCursor::pos() );
+ }
+ else
+ {
+ // destroy popup if there is one
+ delete p_intf->p_sys->p_popup_menu;
+ p_intf->p_sys->p_popup_menu = NULL;
}
-
- QMenu *menu = new QMenu();
- Populate( p_intf, menu, varnames, objects );
- menu->addSeparator();
- POPUP_STATIC_ENTRIES;
-
- p_intf->p_sys->p_popup_menu = menu;
- menu->popup( QCursor::pos() );
- p_intf->p_sys->p_popup_menu = NULL;
}
#undef PUSH_VAR
case VLC_VAR_BOOL:
var_Get( p_object, psz_var, &val );
+ val.b_bool = !val.b_bool;
CreateAndConnect( menu, psz_var, TEXT_OR_VAR, "", ITEM_CHECK,
- p_object->i_object_id, val, i_type, val.b_bool );
+ p_object->i_object_id, val, i_type, !val.b_bool );
break;
}
FREENULL( text.psz_string );