/*****************************************************************************
* main_interface.cpp : Main interface
****************************************************************************
- * Copyright (C) 2006-2010 VideoLAN and AUTHORS
+ * Copyright (C) 2006-2011 VideoLAN and AUTHORS
* $Id$
*
* Authors: Clément Stenac <zorglub@videolan.org>
vlc_value_t old_val, vlc_value_t new_val, void *param );
static int IntfBossCB( vlc_object_t *p_this, const char *psz_variable,
vlc_value_t old_val, vlc_value_t new_val, void *param );
+static int IntfRaiseMainCB( vlc_object_t *p_this, const char *psz_variable,
+ vlc_value_t old_val, vlc_value_t new_val,
+ void *param );
MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
{
*********************************/
initSystray();
- /************************************************************
- * Connect the input manager to the GUI elements it manages *
- ************************************************************/
+ /*************************************************************
+ * Connect the input manager to the GUI elements it manages *
+ * Beware initSystray did some connects on input manager too *
+ *************************************************************/
/**
* Connects on nameChanged()
* Those connects are different because options can impeach them to trigger.
/* Main Interface statusbar */
CONNECT( THEMIM->getIM(), nameChanged( const QString& ),
this, setName( const QString& ) );
- /* and systray */
-#ifndef HAVE_MAEMO
- if( sysTray )
- {
- CONNECT( THEMIM->getIM(), nameChanged( const QString& ),
- this, updateSystrayTooltipName( const QString& ) );
- }
-#endif
/* and title of the Main Interface*/
if( var_InheritBool( p_intf, "qt-name-in-title" ) )
{
CONNECT( THEMIM->getIM(), nameChanged( const QString& ),
this, setVLCWindowsTitle( const QString& ) );
}
-
- /**
- * CONNECTS on PLAY_STATUS
- **/
- /* Status on the systray */
-#ifndef HAVE_MAEMO
- if( sysTray )
- {
- CONNECT( THEMIM->getIM(), playingStatusChanged( int ),
- this, updateSystrayTooltipStatus( int ) );
- }
-#endif
-
/* END CONNECTS ON IM */
/* VideoWidget connects for asynchronous calls */
CONNECT( this, askToQuit(), THEDP, quit() );
CONNECT( this, askBoss(), this, setBoss() );
+ CONNECT( this, askRaise(), this, setRaise() );
/** END of CONNECTS**/
/************
* Callbacks
************/
- var_AddCallback( p_intf->p_libvlc, "intf-show", IntfShowCB, p_intf );
+ var_AddCallback( p_intf->p_libvlc, "intf-toggle-fscontrol", IntfShowCB, p_intf );
var_AddCallback( p_intf->p_libvlc, "intf-boss", IntfBossCB, p_intf );
+ var_AddCallback( p_intf->p_libvlc, "intf-show", IntfRaiseMainCB, p_intf );
/* Register callback for the intf-popupmenu variable */
var_AddCallback( p_intf->p_libvlc, "intf-popupmenu", PopupMenuCB, p_intf );
/* Unregister callbacks */
var_DelCallback( p_intf->p_libvlc, "intf-boss", IntfBossCB, p_intf );
- var_DelCallback( p_intf->p_libvlc, "intf-show", IntfShowCB, p_intf );
+ var_DelCallback( p_intf->p_libvlc, "intf-show", IntfRaiseMainCB, p_intf );
+ var_DelCallback( p_intf->p_libvlc, "intf-toggle-fscontrol", IntfShowCB, p_intf );
var_DelCallback( p_intf->p_libvlc, "intf-popupmenu", PopupMenuCB, p_intf );
p_intf->p_sys->p_mi = NULL;
CONNECT( sysTray, activated( QSystemTrayIcon::ActivationReason ),
this, handleSystrayClick( QSystemTrayIcon::ActivationReason ) );
+
+ /* Connects on nameChanged() */
+ CONNECT( THEMIM->getIM(), nameChanged( const QString& ),
+ this, updateSystrayTooltipName( const QString& ) );
+ /* Connect PLAY_STATUS on the systray */
+ CONNECT( THEMIM->getIM(), playingStatusChanged( int ),
+ this, updateSystrayTooltipStatus( int ) );
}
/**
}
}
+void MainInterface::emitRaise()
+{
+ emit askRaise();
+}
+void MainInterface::setRaise()
+{
+ activateWindow();
+ raise();
+}
+
/*****************************************************************************
* PopupMenuCB: callback triggered by the intf-popupmenu playlist variable.
* We don't show the menu directly here because we don't want the
}
/*****************************************************************************
- * IntfShowCB: callback triggered by the intf-show libvlc variable.
+ * IntfShowCB: callback triggered by the intf-toggle-fscontrol libvlc variable.
*****************************************************************************/
static int IntfShowCB( vlc_object_t *p_this, const char *psz_variable,
vlc_value_t old_val, vlc_value_t new_val, void *param )
return VLC_SUCCESS;
}
+/*****************************************************************************
+ * IntfRaiseMainCB: callback triggered by the intf-show-main libvlc variable.
+ *****************************************************************************/
+static int IntfRaiseMainCB( vlc_object_t *p_this, const char *psz_variable,
+ vlc_value_t old_val, vlc_value_t new_val, void *param )
+{
+ VLC_UNUSED( p_this ); VLC_UNUSED( psz_variable ); VLC_UNUSED( old_val );
+ VLC_UNUSED( new_val );
+
+ intf_thread_t *p_intf = (intf_thread_t *)param;
+ p_intf->p_sys->p_mi->emitRaise();
+
+ return VLC_SUCCESS;
+}
+
/*****************************************************************************
* IntfBossCB: callback triggered by the intf-boss libvlc variable.
*****************************************************************************/