+ {
+ vlc_value_t val; val.i_int = 2;
+ var_Set( p_input, "title 0", val );
+ }
+}
+
+void InputManager::telexGotoPage( int page )
+{
+ if( hasInput() )
+ {
+ vlc_object_t *p_vbi;
+ p_vbi = (vlc_object_t *) vlc_object_find_name( p_input,
+ "zvbi", FIND_ANYWHERE );
+ if( p_vbi )
+ {
+ var_SetInteger( p_vbi, "vbi-page", page );
+ vlc_object_release( p_vbi );
+ }
+ }
+ emit setNewTelexPage( page );
+}
+
+void InputManager::telexToggle( bool b_enabled )
+{
+ int i_page = 100;
+
+ if( hasInput() )
+ {
+ vlc_value_t val;
+ vlc_object_t *p_vbi;
+ var_Change( p_input, "spu-es", VLC_VAR_CHOICESCOUNT, &val, NULL );
+ b_enabled = (val.i_int > 0);
+ p_vbi = (vlc_object_t *) vlc_object_find_name( p_input,
+ "zvbi", FIND_ANYWHERE );
+ if( p_vbi )
+ {
+ i_page = var_GetInteger( p_vbi, "vbi-page" );
+ vlc_object_release( p_vbi );
+ i_page = b_enabled ? i_page : 0;
+ telexGotoPage( i_page );
+ }
+ }
+ emit teletextEnabled( b_enabled );
+}
+
+void InputManager::telexToggleButtons()
+{
+ emit toggleTelexButtons();
+}
+
+void InputManager::telexSetTransparency()
+{
+ if( hasInput() )
+ {
+ vlc_object_t *p_vbi;
+ p_vbi = (vlc_object_t *) vlc_object_find_name( p_input,
+ "zvbi", FIND_ANYWHERE );
+ if( p_vbi )
+ {
+ var_SetBool( p_vbi, "vbi-opaque", b_transparentTelextext );
+ b_transparentTelextext = !b_transparentTelextext;
+ vlc_object_release( p_vbi );
+ }
+ }
+ emit toggleTelexTransparency();