Commit 1c14f28a authored by Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf

Qt4 - Input Manager: cleanup, fix behaviour of enableVideo(), initialize...

Qt4 - Input Manager: cleanup, fix behaviour of enableVideo(), initialize variable that can be used and renaming.
parent 36702f51
......@@ -60,9 +60,12 @@ InputManager::InputManager( QObject *parent, intf_thread_t *_p_intf) :
QObject( parent ), p_intf( _p_intf )
{
i_old_playing_status = END_S;
b_had_audio = b_had_video = b_has_audio = b_has_video = false;
old_name = "";
artUrl = "";
p_input = NULL;
i_rate = 0;
i_input_id = 0;
}
InputManager::~InputManager()
......@@ -84,7 +87,7 @@ void InputManager::setInput( input_thread_t *_p_input )
emit statusChanged( PLAYING_S );
UpdateMeta();
UpdateTracks();
UpdateTitle();
UpdateNavigation();
UpdateArt();
addCallbacks();
i_input_id = input_GetItem( p_input )->i_id;
......@@ -169,11 +172,12 @@ void InputManager::customEvent( QEvent *event )
type != ItemStateChanged_Type )
return;
if( !p_input || p_input->b_die || p_input->b_dead )
return;
if( !hasInput() ) return;
if( ( type != PositionUpdate_Type && type != ItemRateChanged_Type ) &&
( i_input_id != ple->i_id ) )
return;
if( type != PositionUpdate_Type )
msg_Dbg( p_intf, "New Event: type %i", type );
......@@ -185,20 +189,21 @@ void InputManager::customEvent( QEvent *event )
break;
case ItemChanged_Type:
UpdateMeta();
UpdateNavigation();
UpdateTracks();
UpdateTitle();
UpdateStatus();
UpdateArt();
break;
case ItemRateChanged_Type:
UpdateRate();
break;
case ItemTitleChanged_Type:
UpdateTitle();
UpdateNavigation();
UpdateMeta();
break;
case ItemStateChanged_Type:
UpdateStatus();
UpdateTracks();
UpdateStatus();
break;
}
}
......@@ -214,7 +219,7 @@ void InputManager::UpdatePosition()
emit positionUpdated( f_pos, i_time, i_length );
}
void InputManager::UpdateTitle()
void InputManager::UpdateNavigation()
{
/* Update navigation status */
vlc_value_t val; val.i_int = 0;
......
......@@ -65,28 +65,31 @@ public:
bool hasAudio() { return b_has_audio; }
bool hasVideo() { return b_has_video; }
bool b_has_audio, b_has_video, b_had_audio, b_had_video;
private:
intf_thread_t *p_intf;
input_thread_t *p_input;
int i_input_id;
int i_old_playing_status;
QString old_name;
QString artUrl;
int i_rate;
void customEvent( QEvent * );
void addCallbacks();
void delCallbacks();
void UpdateRate();
void UpdateMeta();
void UpdateStatus();
void UpdateTitle();
void UpdateNavigation();
void UpdatePosition();
void UpdateTracks();
void UpdateArt();
intf_thread_t *p_intf;
input_thread_t *p_input;
int i_input_id;
int i_old_playing_status;
QString old_name;
QString artUrl;
int i_rate;
public slots:
void togglePlayPause();
void setInput( input_thread_t * ); ///< Our controlled input changed
void sliderUpdate( float ); ///< User dragged the slider. We get new pos
void togglePlayPause();
void slower();
void faster();
void normalRate();
......@@ -99,6 +102,7 @@ public slots:
void telexToggle( bool );
void telexSetTransparency( bool );
#endif
signals:
/// Send new position, new time and new length
void positionUpdated( float , int, int );
......@@ -106,12 +110,12 @@ signals:
void nameChanged( QString );
/// Used to signal whether we should show navigation buttons
void navigationChanged( int );
#ifdef ZVBI_COMPILED
void teletextEnabled( bool );
#endif
/// Play/pause status
void statusChanged( int );
void artChanged( QString );
#ifdef ZVBI_COMPILED
void teletextEnabled( bool );
#endif
};
class MainInputManager : public QObject
......@@ -129,24 +133,24 @@ public:
if( instance ) delete instance;
}
virtual ~MainInputManager();
input_thread_t *getInput() { return p_input; };
InputManager *getIM() { return im; };
private:
void customEvent( QEvent * );
MainInputManager( intf_thread_t * );
void customEvent( QEvent * );
InputManager *im;
intf_thread_t *p_intf;
input_thread_t *p_input;
intf_thread_t *p_intf;
static MainInputManager *instance;
public slots:
void togglePlayPause();
void stop();
void next();
void prev();
private slots:
//void updateInput();
signals:
void inputChanged( input_thread_t * );
void volumeChanged();
......
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