+ }
+ vlc_list_release( p_list );
+ vlc_object_release( p_playlist );
+ return menu;
+}
+
+QMenu *QVLCMenu::FileMenu()
+{
+ QMenu *menu = new QMenu();
+ DP_SADD( qtr("Quick &Open File...") , "", "", simpleOpenDialog() );
+ DP_SADD( qtr("&Advanced Open..." ), "", "", openDialog() );
+ menu->addSeparator();
+ DP_SADD( qtr("Streaming..."), "", "", streamingDialog() );
+ menu->addSeparator();
+ DP_SADD( qtr("&Quit") , "", "", quit() );
+ return menu;
+}
+
+QMenu *QVLCMenu::ToolsMenu( intf_thread_t *p_intf, bool with_intf )
+{
+ QMenu *menu = new QMenu();
+ if( with_intf )
+ {
+ QMenu *intfmenu = InterfacesMenu( p_intf, NULL );
+ intfmenu->setTitle( qtr("Interfaces" ) );
+ menu->addMenu( intfmenu );
+ /** \todo ADD EXT GUI HERE */
+ menu->addSeparator();
+ }
+ DP_SADD( qtr("Messages" ), "", "", messagesDialog() );
+ DP_SADD( qtr("Information") , "", "", streaminfoDialog() );
+ DP_SADD( qtr("Bookmarks"), "", "", bookmarksDialog() );
+ menu->addSeparator();
+ DP_SADD( qtr("Preferences"), "", "", prefsDialog() );
+ return menu;
+}
+
+QMenu *QVLCMenu::InterfacesMenu( intf_thread_t *p_intf, QMenu *current )
+{
+ vector<int> objects;
+ vector<const char *> varnames;
+ /** \todo add "switch to XXX" */
+ varnames.push_back( "intf-add" );
+ objects.push_back( p_intf->i_object_id );
+
+ QMenu *menu = Populate( p_intf, current, varnames, objects );
+ connect( menu, SIGNAL( aboutToShow() ),
+ THEDP->menusUpdateMapper, SLOT(map()) );
+ THEDP->menusUpdateMapper->setMapping( menu, 4 );
+
+ return menu;
+}
+
+QMenu *QVLCMenu::AudioMenu( intf_thread_t *p_intf, QMenu * current )
+{
+ vector<int> objects;
+ vector<const char *> varnames;
+
+ vlc_object_t *p_object = (vlc_object_t *)vlc_object_find( p_intf,
+ VLC_OBJECT_INPUT, FIND_ANYWHERE );
+ if( p_object != NULL )
+ {
+ PUSH_VAR( "audio-es" );