QList<QAction*> actions = menu->actions(); foreach( QAction *a, actions ) { QMenu *m = a->menu(); if( a->parent() == menu ) delete a; else menu->removeAction( a ); if( m && m->parent() == menu ) delete m; } } menu->addAction( #ifndef __APPLE__ QIcon( ":/menu/playlist_menu" ), #endif qtr( "Play&list" ), mi, SLOT( togglePlaylist() ), qtr( "Ctrl+L" ) ); if( mi->getPlaylistView() ) menu->addMenu( StandardPLPanel::viewSelectionMenu( mi->getPlaylistView() ) ); menu->addSeparator(); /* Minimal View */ action = menu->addAction( qtr( "Mi&nimal Interface" ) ); action->setShortcut( qtr( "Ctrl+H" ) ); action->setCheckable( true ); action->setChecked( (mi->getControlsVisibilityStatus() & MainInterface::CONTROLS_HIDDEN ) ); CONNECT( action, triggered( bool ), mi, toggleMinimalView( bool ) ); CONNECT( mi, minimalViewToggled( bool ), action, setChecked( bool ) );
/** * View Menu * Interface Modification **/ QMenu *QVLCMenu::ViewMenu( intf_thread_t *p_intf, MainInterface *mi, bool with_intf ) { assert( mi ); QMenu *menu = new QMenu( qtr( "V&iew" ), mi ); QAction *act = menu->addAction( QIcon( ":/menu/playlist_menu" ), qtr( "Play&list" ), mi, SLOT( togglePlaylist() ), qtr( "Ctrl+L" ) ); /*menu->addSeparator(); menu->addAction( qtr( "Undock from Interface" ), mi, SLOT( undockPlaylist() ), qtr( "Ctrl+U" ) );*/ menu->addSeparator(); if( with_intf ) { QMenu *intfmenu = InterfacesMenu( p_intf, menu ); MenuFunc *f = new MenuFunc( intfmenu, 4 ); CONNECT( intfmenu, aboutToShow(), THEDP->menusUpdateMapper, map() ); THEDP->menusUpdateMapper->setMapping( intfmenu, f ); menu->addSeparator(); } /* Minimal View */ QAction *action = menu->addAction( qtr( "Mi&nimal View" ) ); action->setShortcut( qtr( "Ctrl+H" ) ); action->setCheckable( true ); action->setChecked( !with_intf && (mi->getControlsVisibilityStatus() & CONTROLS_HIDDEN ) ); CONNECT( action, triggered( bool ), mi, toggleMinimalView( bool ) ); CONNECT( mi, minimalViewToggled( bool ), action, setChecked( bool ) ); /* FullScreen View */ action = menu->addAction( qtr( "&Fullscreen Interface" ), mi, SLOT( toggleFullScreen() ), QString( "F11" ) ); action->setCheckable( true ); action->setChecked( mi->isFullScreen() ); CONNECT( mi, fullscreenInterfaceToggled( bool ), action, setChecked( bool ) ); /* Advanced Controls */ action = menu->addAction( qtr( "&Advanced Controls" ), mi, SLOT( toggleAdvanced() ) ); action->setCheckable( true ); if( mi->getControlsVisibilityStatus() & CONTROLS_ADVANCED ) action->setChecked( true ); if( with_intf ) // I don't want to manage consistency between menus, so no popup-menu { action = menu->addAction( qtr( "Quit after Playback" ) ); action->setCheckable( true ); CONNECT( action, triggered( bool ), THEMIM, activatePlayQuit( bool ) ); } #if 0 /* For Visualisations. Not yet working */ adv = menu->addAction( qtr( "Visualizations selector" ), mi, SLOT( visual() ) ); adv->setCheckable( true ); if( visual_selector_enabled ) adv->setChecked( true ); #endif menu->addSeparator(); addDPStaticEntry( menu, qtr( "Customi&ze Interface..." ), ":/menu/preferences", SLOT( toolbarDialog() ) ); menu->addSeparator(); return menu; }