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