]> git.sesse.net Git - vlc/commitdiff
Qt: Call Lua status callbacks on playing status changes
authorSrikanth Raju <srikiraju@gmail.com>
Mon, 8 Feb 2010 17:57:43 +0000 (23:27 +0530)
committerJean-Philippe André <jpeg@videolan.org>
Sun, 14 Feb 2010 17:31:00 +0000 (18:31 +0100)
Signed-off-by: Jean-Philippe André <jpeg@videolan.org>
modules/gui/qt4/extensions_manager.cpp
modules/gui/qt4/extensions_manager.hpp

index 37888edaa37097c36df85f436c4439e75a1cd70c..b1f451ede27c43a961a6b8f719eecb20e14da3e0 100644 (file)
@@ -47,6 +47,7 @@ ExtensionsManager::ExtensionsManager( intf_thread_t *_p_intf, QObject *parent )
 
     menuMapper = new QSignalMapper( this );
     CONNECT( menuMapper, mapped( int ), this, triggerMenu( int ) );
+    CONNECT( THEMIM->getIM(), statusChanged( int ), this, playingChanged( int ) );
     CONNECT( THEMIM, inputChanged( input_thread_t* ),
              this, inputChanged( input_thread_t* ) );
     b_unloading = false;
@@ -271,3 +272,20 @@ void ExtensionsManager::inputChanged( input_thread_t* p_input )
 
     vlc_mutex_unlock( &p_extensions_manager->lock );
 }
+
+void ExtensionsManager::playingChanged( int state )
+{
+    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_PlayingChanged( p_extensions_manager, p_ext, state );
+        }
+    }
+    FOREACH_END()
+
+    vlc_mutex_unlock( &p_extensions_manager->lock );
+}
index 7659357260921d1db78c11a99d126c1c926710d1..17f5af95727cdc3a9121ef2bf9715990c5b2f67b 100644 (file)
@@ -79,6 +79,7 @@ public slots:
 private slots:
     void triggerMenu( int id );
     void inputChanged( input_thread_t *p_input );
+    void playingChanged( int );
 
 private:
     static ExtensionsManager* instance;