+void VLCMenuBar::updateAudioDevice( intf_thread_t * p_intf, audio_output_t *p_aout, QMenu *current )
+{
+ char **ids, **names;
+ char *selected;
+
+ if( !p_aout )
+ return;
+
+ current->clear();
+ int i_result = aout_DevicesList( p_aout, &ids, &names);
+ selected = aout_DeviceGet( p_aout );
+
+ QActionGroup *actionGroup = new QActionGroup(current);
+ QAction *action;
+
+ for( int i = 0; i < i_result; i++ )
+ {
+ action = new QAction( qfu( names[i] ), NULL );
+ action->setData( ids[i] );
+ action->setCheckable( true );
+ if( selected && !strcmp( ids[i], selected ) )
+ action->setChecked( true );
+ actionGroup->addAction( action );
+ current->addAction( action );
+ CONNECT(action, changed(), THEMIM->menusAudioMapper, map());
+ THEMIM->menusAudioMapper->setMapping(action, ids[i]);
+ free( ids[i] );
+ free( names[i] );
+ }
+ free( ids );
+ free( names );
+}
+