]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/input_manager.cpp
Spelling fixes
[vlc] / modules / gui / qt4 / input_manager.cpp
index ab6a3a227ec600292b6b8022991623a6801a2bfb..c12db37ef4a94c57278070b9ec24f260cf9f24d9 100644 (file)
@@ -141,6 +141,9 @@ void InputManager::addCallbacks()
     var_AddCallback( p_input, "state", ItemStateChanged, this );
     /* src/input/es-out.c:552 */
     var_AddCallback( p_input, "spu-es", ChangeSPU, this );
+    /* emit UpdateStatus so that main_interface updates controls 
+     * if there is new videotracks (mpeg-ts)*/
+    var_AddCallback( p_input, "video-es", ItemStateChanged, this );
     /* src/input/es-out.c: */
     var_AddCallback( p_input, "teletext-es", ChangeTeletext, this );
     /* src/input/input.c:1765 */
@@ -155,6 +158,7 @@ void InputManager::addCallbacks()
 void InputManager::delCallbacks()
 {
     var_DelCallback( p_input, "spu-es", ChangeSPU, this );
+    var_DelCallback( p_input, "video-es", ItemStateChanged, this );
     var_DelCallback( p_input, "teletext-es", ChangeTeletext, this );
     var_DelCallback( p_input, "state", ItemStateChanged, this );
     var_DelCallback( p_input, "rate-change", ItemRateChanged, this );
@@ -414,8 +418,22 @@ void InputManager::sectionMenu()
 {
     if( hasInput() )
     {
-        vlc_value_t val; val.i_int = 2;
-        var_Set( p_input, "title  0", val );
+        vlc_value_t val, text;
+        vlc_value_t root;
+
+        if( var_Change( p_input, "title  0", VLC_VAR_GETLIST, &val, &text ) < 0 )
+            return;
+
+        /* XXX is it "Root" or "Title" we want here ?" (set 0 by default) */
+        root.i_int = 0;
+        for( int i = 0; i < val.p_list->i_count; i++ )
+        {
+            if( !strcmp( text.p_list->p_values[i].psz_string, "Title" ) )
+                root.i_int = i;
+        }
+        var_Change( p_input, "title  0", VLC_VAR_FREELIST, &val, &text );
+
+        var_Set( p_input, "title  0", root );
     }
 }
 
@@ -443,17 +461,17 @@ void InputManager::telexGotoPage( int page )
 
 void InputManager::telexToggle( bool b_enabled )
 {
-    int i_page = 100;
-
     if( hasInput() )
     {
         const int i_teletext_es = var_GetInteger( p_input, "teletext-es" );
         const int i_spu_es = var_GetInteger( p_input, "spu-es" );
 
-        b_enabled = i_teletext_es >= 0;
-        if( b_enabled && i_teletext_es == i_spu_es )
+        b_enabled = (i_teletext_es >= 0);
+        emit teletextEnabled( b_enabled );
+        if( b_enabled && (i_teletext_es == i_spu_es) )
         {
             vlc_object_t *p_vbi;
+            int i_page = 100;
             p_vbi = (vlc_object_t *) vlc_object_find_name( p_input,
                         "zvbi", FIND_ANYWHERE );
             if( p_vbi )
@@ -465,7 +483,7 @@ void InputManager::telexToggle( bool b_enabled )
             }
         }
     }
-    emit teletextEnabled( b_enabled );
+    else emit teletextEnabled( b_enabled );
 }
 
 void InputManager::telexToggleButtons()