Commit 552963d5 authored by Jean-Paul Saman's avatar Jean-Paul Saman

(qt4) Define reverse playback direction button in qt4 interface (not visible yet).

parent 61a2101b
...@@ -57,6 +57,7 @@ ...@@ -57,6 +57,7 @@
#include <math.h> #include <math.h>
#define I_PLAY_TOOLTIP N_("Play\nIf the playlist is empty, open a media") #define I_PLAY_TOOLTIP N_("Play\nIf the playlist is empty, open a media")
#define I_REVERSE_TOOLTIP N_("Reverse\nRevert playback direction")
/********************************************************************** /**********************************************************************
* Video Widget. A simple frame on which video is drawn * Video Widget. A simple frame on which video is drawn
...@@ -641,6 +642,14 @@ ControlsWidget::ControlsWidget( intf_thread_t *_p_i, ...@@ -641,6 +642,14 @@ ControlsWidget::ControlsWidget( intf_thread_t *_p_i,
sizePolicy.setHorizontalStretch( 0 ); sizePolicy.setHorizontalStretch( 0 );
sizePolicy.setVerticalStretch( 0 ); sizePolicy.setVerticalStretch( 0 );
/* Reverse */
reverseButton = new QPushButton;
reverseButton->setSizePolicy( sizePolicy );
reverseButton->setMaximumSize( QSize( 32, 32 ) );
reverseButton->setMinimumSize( QSize( 32, 32 ) );
reverseButton->setIconSize( QSize( 26, 26 ) );
reverseButton->setFocusPolicy( Qt::NoFocus );
/* Play */ /* Play */
playButton = new QPushButton; playButton = new QPushButton;
playButton->setSizePolicy( sizePolicy ); playButton->setSizePolicy( sizePolicy );
...@@ -676,6 +685,7 @@ ControlsWidget::ControlsWidget( intf_thread_t *_p_i, ...@@ -676,6 +685,7 @@ ControlsWidget::ControlsWidget( intf_thread_t *_p_i,
/* Add this block to the main layout */ /* Add this block to the main layout */
BUTTON_SET_ACT_I( reverseButton, "", reverse_b, qtr( I_REVERSE_TOOLTIP ), reverse() );
BUTTON_SET_ACT_I( playButton, "", play_b, qtr( I_PLAY_TOOLTIP ), play() ); BUTTON_SET_ACT_I( playButton, "", play_b, qtr( I_PLAY_TOOLTIP ), play() );
BUTTON_SET_ACT_I( prevButton, "" , previous_b, BUTTON_SET_ACT_I( prevButton, "" , previous_b,
qtr( "Previous media in the playlist" ), prev() ); qtr( "Previous media in the playlist" ), prev() );
...@@ -758,6 +768,10 @@ ControlsWidget::ControlsWidget( intf_thread_t *_p_i, ...@@ -758,6 +768,10 @@ ControlsWidget::ControlsWidget( intf_thread_t *_p_i,
controlLayout->addWidget( discFrame, 1, 8, 2, 3, Qt::AlignBottom ); controlLayout->addWidget( discFrame, 1, 8, 2, 3, Qt::AlignBottom );
controlLayout->addWidget( telexFrame, 1, 8, 2, 5, Qt::AlignBottom ); controlLayout->addWidget( telexFrame, 1, 8, 2, 5, Qt::AlignBottom );
controlLayout->addWidget( reverseButton, 2, 0, 2, 2, Qt::AlignBottom );
controlLayout->setColumnMinimumWidth( 2, 10 );
controlLayout->setColumnStretch( 2, 0 );
controlLayout->addWidget( playButton, 2, 0, 2, 2, Qt::AlignBottom ); controlLayout->addWidget( playButton, 2, 0, 2, 2, Qt::AlignBottom );
controlLayout->setColumnMinimumWidth( 2, 10 ); controlLayout->setColumnMinimumWidth( 2, 10 );
controlLayout->setColumnStretch( 2, 0 ); controlLayout->setColumnStretch( 2, 0 );
...@@ -840,6 +854,11 @@ void ControlsWidget::stop() ...@@ -840,6 +854,11 @@ void ControlsWidget::stop()
THEMIM->stop(); THEMIM->stop();
} }
void ControlsWidget::reverse()
{
THEMIM->reverse();
}
void ControlsWidget::play() void ControlsWidget::play()
{ {
if( THEPL->current.i_size == 0 ) if( THEPL->current.i_size == 0 )
...@@ -1045,8 +1064,9 @@ FullscreenControllerWidget::FullscreenControllerWidget( intf_thread_t *_p_i, ...@@ -1045,8 +1064,9 @@ FullscreenControllerWidget::FullscreenControllerWidget( intf_thread_t *_p_i,
fsLayout->addWidget( fasterButton, 0, 12 ); fsLayout->addWidget( fasterButton, 0, 12 );
/* Second line */ /* Second line */
fsLayout->addWidget( playButton, 1, 0, 1, 2 ); fsLayout->addWidget( reverseButton, 1, 0, 1, 2);
fsLayout->addLayout( controlButLayout, 1, 2 ); fsLayout->addWidget( playButton, 1, 0, 1, 3 );
fsLayout->addLayout( controlButLayout, 1, 3 );
fsLayout->addWidget( discFrame, 1, 3 ); fsLayout->addWidget( discFrame, 1, 3 );
fsLayout->addWidget( telexFrame, 1, 4 ); fsLayout->addWidget( telexFrame, 1, 4 );
......
...@@ -186,7 +186,7 @@ protected: ...@@ -186,7 +186,7 @@ protected:
QGridLayout *controlLayout; QGridLayout *controlLayout;
InputSlider *slider; InputSlider *slider;
QPushButton *prevSectionButton, *nextSectionButton, *menuButton; QPushButton *prevSectionButton, *nextSectionButton, *menuButton;
QPushButton *playButton, *fullscreenButton, *extSettingsButton; QPushButton *playButton, *reverseButton, *fullscreenButton, *extSettingsButton;
QPushButton *telexTransparent, *telexOn; QPushButton *telexTransparent, *telexOn;
QSpinBox *telexPage; QSpinBox *telexPage;
QToolButton *slowerButton, *fasterButton; QToolButton *slowerButton, *fasterButton;
...@@ -200,6 +200,7 @@ protected: ...@@ -200,6 +200,7 @@ protected:
bool b_telexTransparent; bool b_telexTransparent;
bool b_telexEnabled; bool b_telexEnabled;
protected slots: protected slots:
void reverse();
void play(); void play();
void stop(); void stop();
void prev(); void prev();
......
...@@ -543,6 +543,15 @@ void InputManager::telexSetTransparency() ...@@ -543,6 +543,15 @@ void InputManager::telexSetTransparency()
emit toggleTelexTransparency(); emit toggleTelexTransparency();
} }
void InputManager::reverse()
{
if( hasInput() )
{
int i_rate = var_GetInteger( p_input, "rate" );
var_SetInteger( p_input, "rate", -i_rate );
}
}
void InputManager::slower() void InputManager::slower()
{ {
if( hasInput() ) if( hasInput() )
...@@ -675,6 +684,11 @@ void MainInputManager::customEvent( QEvent *event ) ...@@ -675,6 +684,11 @@ void MainInputManager::customEvent( QEvent *event )
} }
/* Playlist Control functions */ /* Playlist Control functions */
void MainInputManager::reverse()
{
getIM()->reverse();
}
void MainInputManager::stop() void MainInputManager::stop()
{ {
playlist_Stop( THEPL ); playlist_Stop( THEPL );
......
...@@ -103,6 +103,7 @@ public slots: ...@@ -103,6 +103,7 @@ public slots:
void setInput( input_thread_t * ); ///< Our controlled input changed void setInput( input_thread_t * ); ///< Our controlled input changed
void sliderUpdate( float ); ///< User dragged the slider. We get new pos void sliderUpdate( float ); ///< User dragged the slider. We get new pos
void togglePlayPause(); void togglePlayPause();
void reverse();
void slower(); void slower();
void faster(); void faster();
void normalRate(); void normalRate();
...@@ -167,6 +168,7 @@ private: ...@@ -167,6 +168,7 @@ private:
public slots: public slots:
bool teletextState(); bool teletextState();
void togglePlayPause(); void togglePlayPause();
void reverse();
void stop(); void stop();
void next(); void next();
void prev(); void prev();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment