mirror of
https://code.videolan.org/videolan/vlc
synced 2024-10-03 01:31:53 +02:00
Extensions/Qt: listen to input-change events
Forward messages to the extensions manager
This commit is contained in:
parent
32ec9c1e6d
commit
2d46240cd7
@ -22,6 +22,7 @@
|
||||
*****************************************************************************/
|
||||
|
||||
#include "extensions_manager.hpp"
|
||||
#include "input_manager.hpp"
|
||||
#include "dialogs/extensions.hpp"
|
||||
|
||||
#include "assert.h"
|
||||
@ -46,6 +47,8 @@ ExtensionsManager::ExtensionsManager( intf_thread_t *_p_intf, QObject *parent )
|
||||
|
||||
menuMapper = new QSignalMapper( this );
|
||||
CONNECT( menuMapper, mapped( int ), this, triggerMenu( int ) );
|
||||
CONNECT( THEMIM, inputChanged( input_thread_t* ),
|
||||
this, inputChanged( input_thread_t* ) );
|
||||
b_unloading = false;
|
||||
b_failed = false;
|
||||
}
|
||||
@ -243,3 +246,24 @@ void ExtensionsManager::triggerMenu( int id )
|
||||
extension_TriggerMenu( p_extensions_manager, p_ext, i_action );
|
||||
}
|
||||
}
|
||||
|
||||
void ExtensionsManager::inputChanged( input_thread_t* p_input )
|
||||
{
|
||||
if( p_input )
|
||||
vlc_object_hold( p_input );
|
||||
vlc_mutex_lock( &p_extensions_manager->lock );
|
||||
|
||||
extension_t *p_ext;
|
||||
FOREACH_ARRAY( p_ext, p_extensions_manager->extensions )
|
||||
{
|
||||
if( extension_IsActivated( p_extensions_manager, p_ext ) )
|
||||
{
|
||||
extension_SetInput( p_extensions_manager, p_ext, p_input );
|
||||
}
|
||||
}
|
||||
FOREACH_END()
|
||||
|
||||
vlc_mutex_unlock( &p_extensions_manager->lock );
|
||||
if( p_input )
|
||||
vlc_object_release( p_input );
|
||||
}
|
||||
|
@ -78,6 +78,7 @@ public slots:
|
||||
|
||||
private slots:
|
||||
void triggerMenu( int id );
|
||||
void inputChanged( input_thread_t *p_input );
|
||||
|
||||
private:
|
||||
static ExtensionsManager* instance;
|
||||
|
Loading…
Reference in New Issue
Block a user