qt: update seek capability when changed
authorThomas Guillem <thomas@gllm.fr>
Fri, 13 Jul 2018 07:34:20 +0000 (09:34 +0200)
committerThomas Guillem <thomas@gllm.fr>
Fri, 13 Jul 2018 07:34:31 +0000 (09:34 +0200)
And not only when a title or chapter event is sent.

modules/gui/qt/input_manager.cpp
modules/gui/qt/input_manager.hpp

index 426a0dc..98e3f81 100644 (file)
@@ -230,6 +230,9 @@ void InputManager::customEvent( QEvent *event )
     /* Actions */
     switch( i_type )
     {
+    case IMEvent::CapabilitiesChanged:
+        UpdateCapabilities();
+        break;
     case IMEvent::PositionUpdate:
         UpdatePosition();
         break;
@@ -340,6 +343,9 @@ static int InputEvent( vlc_object_t *, const char *,
     case INPUT_EVENT_RATE:
         event = new IMEvent( IMEvent::ItemRateChanged );
         break;
+    case INPUT_EVENT_CAPABILITIES:
+        event = new IMEvent( IMEvent::CapabilitiesChanged );
+        break;
     case INPUT_EVENT_POSITION:
     //case INPUT_EVENT_LENGTH:
         event = new IMEvent( IMEvent::PositionUpdate );
@@ -476,6 +482,11 @@ void InputManager::UpdateNavigation()
         emit inputCanSeek( false );
 }
 
+void InputManager::UpdateCapabilities()
+{
+    emit inputCanSeek( var_GetBool( p_input, "can-seek" ) );
+}
+
 void InputManager::UpdateStatus()
 {
     /* Update playing status */
index 5c3f2b3..3058911 100644 (file)
@@ -68,6 +68,7 @@ public:
         RandomChanged,
         LoopOrRepeatChanged, /* 20 */
         EPGEvent,
+        CapabilitiesChanged,
     /*    SignalChanged, */
 
         FullscreenControlToggle = QEvent::User + IMEventTypeOffset + 50,
@@ -167,6 +168,7 @@ private:
     void UpdateName();
     void UpdateStatus();
     void UpdateNavigation();
+    void UpdateCapabilities();
     void UpdatePosition();
     void UpdateTeletext();
     void UpdateArt();