Commit f50eb96c authored by Christophe Mutricy's avatar Christophe Mutricy

input_manager: Don't send name event all the time

main_interface: update the systray tooltip
parent 743e3bef
...@@ -38,6 +38,7 @@ InputManager::InputManager( QObject *parent, intf_thread_t *_p_intf) : ...@@ -38,6 +38,7 @@ 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="";
p_input = NULL; p_input = NULL;
ON_TIMEOUT( update() ); ON_TIMEOUT( update() );
} }
...@@ -87,6 +88,7 @@ void InputManager::update() ...@@ -87,6 +88,7 @@ void InputManager::update()
emit positionUpdated( 0.0, 0, 0 ); emit positionUpdated( 0.0, 0, 0 );
msg_Dbg( p_intf, "*********** NAV 0"); msg_Dbg( p_intf, "*********** NAV 0");
emit navigationChanged( 0 ); emit navigationChanged( 0 );
i_old_playing_status = 0;
emit statusChanged( 0 ); // 0 = STOPPED, 1 = PLAY, 2 = PAUSE emit statusChanged( 0 ); // 0 = STOPPED, 1 = PLAY, 2 = PAUSE
delInput(); delInput();
return; return;
...@@ -150,8 +152,11 @@ void InputManager::update() ...@@ -150,8 +152,11 @@ void InputManager::update()
{ {
text.sprintf( "%s", input_GetItem(p_input)->psz_name ); text.sprintf( "%s", input_GetItem(p_input)->psz_name );
} }
emit nameChanged( text ); if( old_name != text )
{
emit nameChanged( text );
old_name=text;
}
/* Update playing status */ /* Update playing status */
var_Get( p_input, "state", &val ); var_Get( p_input, "state", &val );
val.i_int = val.i_int == PAUSE_S ? PAUSE_S : PLAYING_S; val.i_int = val.i_int == PAUSE_S ? PAUSE_S : PLAYING_S;
......
...@@ -44,7 +44,7 @@ private: ...@@ -44,7 +44,7 @@ private:
intf_thread_t *p_intf; intf_thread_t *p_intf;
input_thread_t *p_input; input_thread_t *p_input;
int i_old_playing_status; int i_old_playing_status;
QString old_name;
public slots: public slots:
void togglePlayPause(); void togglePlayPause();
void update(); ///< Periodic updates void update(); ///< Periodic updates
......
...@@ -93,6 +93,8 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf ) ...@@ -93,6 +93,8 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
need_components_update = false; need_components_update = false;
bgWidget = NULL; videoWidget = NULL; playlistWidget = NULL; bgWidget = NULL; videoWidget = NULL; playlistWidget = NULL;
embeddedPlaylistWasActive = videoIsActive = false; embeddedPlaylistWasActive = videoIsActive = false;
input_name = "";
videoEmbeddedFlag = false; videoEmbeddedFlag = false;
if( config_GetInt( p_intf, "embedded-video" ) ) videoEmbeddedFlag = true; if( config_GetInt( p_intf, "embedded-video" ) ) videoEmbeddedFlag = true;
...@@ -134,6 +136,11 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf ) ...@@ -134,6 +136,11 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
/* Naming in the controller */ /* Naming in the controller */
CONNECT( THEMIM->getIM(), nameChanged( QString ), this, CONNECT( THEMIM->getIM(), nameChanged( QString ), this,
setName( QString ) ); setName( QString ) );
if( config_GetInt( p_intf, "qt-system-tray" ) )
{
CONNECT( THEMIM->getIM(), nameChanged( QString ), this,
updateSystrayTooltipName(QString));
}
if( config_GetInt( p_intf, "qt-name-in-title" ) ) if( config_GetInt( p_intf, "qt-name-in-title" ) )
{ {
CONNECT( THEMIM->getIM(), nameChanged( QString ), this, CONNECT( THEMIM->getIM(), nameChanged( QString ), this,
...@@ -144,6 +151,11 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf ) ...@@ -144,6 +151,11 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
CONNECT( THEMIM->getIM(), statusChanged( int ), this, setStatus( int ) ); CONNECT( THEMIM->getIM(), statusChanged( int ), this, setStatus( int ) );
CONNECT( THEMIM->getIM(), navigationChanged( int ), CONNECT( THEMIM->getIM(), navigationChanged( int ),
this, setNavigation(int) ); this, setNavigation(int) );
if( config_GetInt( p_intf, "qt-system-tray" ) )
{
CONNECT( THEMIM->getIM(), statusChanged( int ), this,
updateSystrayTooltipStatus(int));
}
CONNECT( slider, sliderDragged( float ), CONNECT( slider, sliderDragged( float ),
THEMIM->getIM(), sliderUpdate( float ) ); THEMIM->getIM(), sliderUpdate( float ) );
...@@ -294,6 +306,7 @@ void MainInterface::createSystrayMenu() ...@@ -294,6 +306,7 @@ void MainInterface::createSystrayMenu()
sysTray = new QSystemTrayIcon( iconVLC, this ); sysTray = new QSystemTrayIcon( iconVLC, this );
systrayMenu = new QMenu( qtr( "VLC media player" ), this ); systrayMenu = new QMenu( qtr( "VLC media player" ), this );
systrayMenu->setIcon( iconVLC ); systrayMenu->setIcon( iconVLC );
sysTray->setToolTip( qtr( "VLC media player" ));
QVLCMenu::updateSystrayMenu( this, p_intf, true ); QVLCMenu::updateSystrayMenu( this, p_intf, true );
sysTray->show(); sysTray->show();
CONNECT( sysTray, activated( QSystemTrayIcon::ActivationReason ), CONNECT( sysTray, activated( QSystemTrayIcon::ActivationReason ),
...@@ -326,6 +339,42 @@ void MainInterface::handleSystrayClick( QSystemTrayIcon::ActivationReason reason ...@@ -326,6 +339,42 @@ void MainInterface::handleSystrayClick( QSystemTrayIcon::ActivationReason reason
} }
} }
void MainInterface::updateSystrayTooltipName( QString name )
{
if( name.isEmpty() )
{
sysTray->setToolTip( qtr( "VLC media player" ) );
}
else
{
sysTray->setToolTip( name );
}
}
void MainInterface::updateSystrayTooltipStatus( int i_status )
{
switch( i_status )
{
case 0:
{
sysTray->setToolTip( qtr( "VLC media player" ) );
break;
}
case PLAYING_S:
{
sysTray->setToolTip( input_name );
//+ " - " + qtr( "Playing" ) );
break;
}
case PAUSE_S:
{
sysTray->setToolTip( input_name + " - "
+ qtr( "Paused") );
break;
}
}
}
/********************************************************************** /**********************************************************************
* Handling of the components * Handling of the components
**********************************************************************/ **********************************************************************/
...@@ -731,6 +780,7 @@ void MainInterface::setDisplay( float pos, int time, int length ) ...@@ -731,6 +780,7 @@ void MainInterface::setDisplay( float pos, int time, int length )
void MainInterface::setName( QString name ) void MainInterface::setName( QString name )
{ {
input_name = name;
nameLabel->setText( " " + name+" " ); nameLabel->setText( " " + name+" " );
} }
......
...@@ -59,7 +59,6 @@ public: ...@@ -59,7 +59,6 @@ public:
unsigned int *pi_height ); unsigned int *pi_height );
void releaseVideo( void *); void releaseVideo( void *);
int controlVideo( void *p_window, int i_query, va_list args ); int controlVideo( void *p_window, int i_query, va_list args );
void setVLCWindowsTitle( QString title = "" );
QSystemTrayIcon *getSysTray() { return sysTray; }; QSystemTrayIcon *getSysTray() { return sysTray; };
QMenu *getSysTrayMenu() { return systrayMenu; }; QMenu *getSysTrayMenu() { return systrayMenu; };
...@@ -77,6 +76,7 @@ private: ...@@ -77,6 +76,7 @@ private:
QSize mainSize, addSize; QSize mainSize, addSize;
QSystemTrayIcon *sysTray; QSystemTrayIcon *sysTray;
QMenu *systrayMenu; QMenu *systrayMenu;
QString input_name;
bool need_components_update; bool need_components_update;
void calculateInterfaceSize(); void calculateInterfaceSize();
...@@ -122,6 +122,7 @@ private slots: ...@@ -122,6 +122,7 @@ private slots:
void setNavigation( int ); void setNavigation( int );
void setStatus( int ); void setStatus( int );
void setName( QString ); void setName( QString );
void setVLCWindowsTitle( QString title = "" );
void setDisplay( float, int, int ); void setDisplay( float, int, int );
void updateOnTimer(); void updateOnTimer();
void play(); void play();
...@@ -133,6 +134,8 @@ private slots: ...@@ -133,6 +134,8 @@ private slots:
void updateVolume( int sliderVolume ); void updateVolume( int sliderVolume );
void handleSystrayClick( QSystemTrayIcon::ActivationReason ); void handleSystrayClick( QSystemTrayIcon::ActivationReason );
void updateSystrayMenu( int ); void updateSystrayMenu( int );
void updateSystrayTooltipName( QString );
void updateSystrayTooltipStatus( int );
}; };
......
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