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