vlc_value_t val;
var_Change( p_input, "chapter", VLC_VAR_CHOICESCOUNT, &val, NULL );
if( val.i_int > 0 )
+ {
emit navigationChanged( 1 ); // 1 = chapter, 2 = title, 0 = NO
+ }
else
emit navigationChanged( 2 );
}
emit statusChanged( state.i_int );
}
+void InputManager::sectionPrev()
+{
+ if( hasInput() )
+ {
+ int i_type = var_Type( p_input, "prev-chapter" );
+ vlc_value_t val; val.b_bool = VLC_TRUE;
+ var_Set( p_input, (i_type & VLC_VAR_TYPE) != 0 ?
+ "prev-chapter":"prev-title", val );
+ }
+}
+
+void InputManager::sectionNext()
+{
+ if( hasInput() )
+ {
+ int i_type = var_Type( p_input, "prev-chapter" );
+ vlc_value_t val; val.b_bool = VLC_TRUE;
+ var_Set( p_input, (i_type & VLC_VAR_TYPE) != 0 ?
+ "next-chapter":"next-title", val );
+ }
+}
+
+void InputManager::sectionMenu()
+{
+ if( hasInput() )
+ var_SetInteger( p_input, "title 0", 2);
+}
+
void InputManager::slower()
{
if( hasInput() )
this, setDisplay( float, int, int ) );
CONNECT( THEMIM->getIM(), nameChanged( QString ), this,setName( QString ) );
CONNECT( THEMIM->getIM(), statusChanged( int ), this, setStatus( int ) );
+ CONNECT( THEMIM->getIM(), navigationChanged( int ), this, setNavigation(int) );
CONNECT( slider, sliderDragged( float ),
THEMIM->getIM(), sliderUpdate( float ) );
+ CONNECT( ui.prevSectionButton, clicked(), THEMIM->getIM(),
+ sectionPrev() );
+ CONNECT( ui.nextSectionButton, clicked(), THEMIM->getIM(),
+ sectionNext() );
+ CONNECT( ui.menuButton, clicked(), THEMIM->getIM(),
+ sectionMenu() );
+
var_Create( p_intf, "interaction", VLC_VAR_ADDRESS );
var_AddCallback( p_intf, "interaction", InteractCallback, this );
p_intf->b_interaction = VLC_TRUE;
slider = new InputSlider( Qt::Horizontal, NULL );
ui.hboxLayout->insertWidget( 0, slider );
+ ui.discFrame->hide();
+ BUTTON_SET_IMG( ui.prevSectionButton, "", previous.png, "" );
+ BUTTON_SET_IMG( ui.nextSectionButton, "", next.png, "" );
+ BUTTON_SET_IMG( ui.menuButton, "", previous.png, "" );
BUTTON_SET_ACT_I( ui.prevButton, "" , previous.png,
qtr("Previous"), prev() );
ui.playButton->setIcon( QIcon( ":/pixmaps/play.png" ) );
}
+#define HELP_MENU N_("Menu")
+#define HELP_PCH N_("Previous chapter")
+#define HELP_NCH N_("Next chapter")
+#define HELP_PTR N_("Previous track")
+#define HELP_NTR N_("Next track")
+
+void MainInterface::setNavigation( int navigation )
+{
+ // 1 = chapter, 2 = title, 0 = no
+ if( navigation == 0 )
+ {
+ ui.discFrame->hide();
+ } else if( navigation == 1 ) {
+ ui.prevSectionButton->show();
+ ui.prevSectionButton->setToolTip( qfu(HELP_PCH) );
+ ui.nextSectionButton->show();
+ ui.nextSectionButton->setToolTip( qfu(HELP_NCH) );
+ ui.menuButton->show();
+ ui.discFrame->show();
+ } else {
+ ui.prevSectionButton->show();
+ ui.prevSectionButton->setToolTip( qfu(HELP_PCH) );
+ ui.nextSectionButton->show();
+ ui.nextSectionButton->setToolTip( qfu(HELP_NCH) );
+ ui.menuButton->hide();
+ ui.discFrame->show();
+ }
+}
+
static bool b_my_volume;
void MainInterface::updateOnTimer()
<ui version="4.0" >
- <author></author>
- <comment></comment>
- <exportmacro></exportmacro>
<class>MainInterfaceUI</class>
<widget class="QWidget" name="MainInterfaceUI" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
- <width>426</width>
- <height>73</height>
+ <width>819</width>
+ <height>384</height>
</rect>
</property>
<property name="sizePolicy" >
</item>
<item>
<widget class="QFrame" name="discFrame" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>9</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="menuButton" >
+ <property name="text" >
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="prevSectionButton" >
+ <property name="text" >
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="nextSectionButton" >
+ <property name="text" >
+ <string/>
+ </property>
+ </widget>
+ </item>
+ </layout>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
- <pixmapfunction></pixmapfunction>
<resources/>
<connections/>
</ui>