Commit 84eac14c authored by Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf

Qt4 - MainInterface cleaning, FIXME labelling, Simplification, put the delay...

Qt4 - MainInterface cleaning, FIXME labelling, Simplification, put the delay of status Toolip to 3s, re-ask the privacy dialog if closed the previous time without a correct validation before.
Commit from NYC/NY/Columbia University ;)
parent d274cdcb
...@@ -36,7 +36,7 @@ nodist_SOURCES_qt4 = \ ...@@ -36,7 +36,7 @@ nodist_SOURCES_qt4 = \
components/preferences_widgets.moc.cpp \ components/preferences_widgets.moc.cpp \
components/complete_preferences.moc.cpp \ components/complete_preferences.moc.cpp \
components/simple_preferences.moc.cpp \ components/simple_preferences.moc.cpp \
components/open.moc.cpp \ components/open_panels.moc.cpp \
components/interface_widgets.moc.cpp \ components/interface_widgets.moc.cpp \
components/playlist/panels.moc.cpp \ components/playlist/panels.moc.cpp \
components/playlist/selector.moc.cpp \ components/playlist/selector.moc.cpp \
...@@ -102,7 +102,7 @@ SOURCES_qt4 = qt4.cpp \ ...@@ -102,7 +102,7 @@ SOURCES_qt4 = qt4.cpp \
components/preferences_widgets.cpp \ components/preferences_widgets.cpp \
components/complete_preferences.cpp \ components/complete_preferences.cpp \
components/simple_preferences.cpp \ components/simple_preferences.cpp \
components/open.cpp \ components/open_panels.cpp \
components/interface_widgets.cpp \ components/interface_widgets.cpp \
components/playlist/standardpanel.cpp \ components/playlist/standardpanel.cpp \
components/playlist/selector.cpp \ components/playlist/selector.cpp \
...@@ -134,7 +134,7 @@ noinst_HEADERS = \ ...@@ -134,7 +134,7 @@ noinst_HEADERS = \
components/preferences_widgets.hpp \ components/preferences_widgets.hpp \
components/complete_preferences.hpp \ components/complete_preferences.hpp \
components/simple_preferences.hpp \ components/simple_preferences.hpp \
components/open.hpp \ components/open_panels.hpp \
components/interface_widgets.hpp \ components/interface_widgets.hpp \
components/playlist/panels.hpp \ components/playlist/panels.hpp \
components/playlist/selector.hpp \ components/playlist/selector.hpp \
......
...@@ -339,6 +339,7 @@ void AdvControlsWidget::frame(){} ...@@ -339,6 +339,7 @@ void AdvControlsWidget::frame(){}
* DA Control Widget ! * DA Control Widget !
*****************************/ *****************************/
ControlsWidget::ControlsWidget( intf_thread_t *_p_i, ControlsWidget::ControlsWidget( intf_thread_t *_p_i,
MainInterface *_p_mi,
bool b_advControls, bool b_advControls,
bool b_shiny ) : bool b_shiny ) :
QFrame( NULL ), p_intf( _p_i ) QFrame( NULL ), p_intf( _p_i )
...@@ -491,6 +492,7 @@ ControlsWidget::ControlsWidget( intf_thread_t *_p_i, ...@@ -491,6 +492,7 @@ ControlsWidget::ControlsWidget( intf_thread_t *_p_i,
setupSmallButton( playlistButton ); setupSmallButton( playlistButton );
controlLayout->addWidget( playlistButton, 3, 11, Qt::AlignBottom ); controlLayout->addWidget( playlistButton, 3, 11, Qt::AlignBottom );
BUTTON_SET_IMG( playlistButton, "" , playlist.png, qtr( "Show playlist" ) ); BUTTON_SET_IMG( playlistButton, "" , playlist.png, qtr( "Show playlist" ) );
CONNECT( playlistButton, clicked(), _p_mi, togglePlaylist() );
/** extended Settings **/ /** extended Settings **/
QPushButton *extSettingsButton = new QPushButton( "F" ); QPushButton *extSettingsButton = new QPushButton( "F" );
......
...@@ -145,7 +145,7 @@ class ControlsWidget : public QFrame ...@@ -145,7 +145,7 @@ class ControlsWidget : public QFrame
Q_OBJECT Q_OBJECT
public: public:
/* p_intf, advanced control visible or not, blingbling or not */ /* p_intf, advanced control visible or not, blingbling or not */
ControlsWidget( intf_thread_t *, bool, bool ); ControlsWidget( intf_thread_t *, MainInterface*, bool, bool );
// QSize sizeHint() const; // QSize sizeHint() const;
virtual ~ControlsWidget(); virtual ~ControlsWidget();
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
#include "qt4.hpp" #include "qt4.hpp"
#include "components/open.hpp" #include "components/open_panels.hpp"
#include "dialogs/open.hpp" #include "dialogs/open.hpp"
#include "dialogs_provider.hpp" #include "dialogs_provider.hpp"
#include "components/preferences_widgets.hpp" #include "components/preferences_widgets.hpp"
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
#include "input_manager.hpp" #include "input_manager.hpp"
#include "dialogs/open.hpp" #include "dialogs/open.hpp"
#include "components/open.hpp"
#include <QTabWidget> #include <QTabWidget>
#include <QGridLayout> #include <QGridLayout>
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
#include "util/qvlcframe.hpp" #include "util/qvlcframe.hpp"
#include "dialogs_provider.hpp" #include "dialogs_provider.hpp"
#include "ui/open.h" #include "ui/open.h"
#include "components/open.hpp" #include "components/open_panels.hpp"
class QString; class QString;
class QToolButton; class QToolButton;
......
...@@ -77,6 +77,7 @@ DialogsProvider::~DialogsProvider() ...@@ -77,6 +77,7 @@ DialogsProvider::~DialogsProvider()
void DialogsProvider::quit() void DialogsProvider::quit()
{ {
vlc_object_kill( p_intf ); vlc_object_kill( p_intf );
QApplication::closeAllWindows();
QApplication::quit(); QApplication::quit();
} }
......
...@@ -79,6 +79,7 @@ void InputManager::delInput() ...@@ -79,6 +79,7 @@ void InputManager::delInput()
} }
} }
//FIXME break that
void InputManager::update() void InputManager::update()
{ {
/// \todo Emit the signals only if it changed /// \todo Emit the signals only if it changed
...@@ -122,14 +123,15 @@ void InputManager::update() ...@@ -122,14 +123,15 @@ void InputManager::update()
{ {
val.i_int = 0; val.i_int = 0;
var_Change( p_input, "chapter", VLC_VAR_CHOICESCOUNT, &val, NULL ); var_Change( p_input, "chapter", VLC_VAR_CHOICESCOUNT, &val, NULL );
if( val.i_int > 0 ) emit navigationChanged( (val.i_int > 0) ? 1 : 2 );
/*if( val.i_int > 0 )
{ {
emit navigationChanged( 1 ); // 1 = chapter, 2 = title, 0 = NO emit navigationChanged( 1 ); // 1 = chapter, 2 = title, 0 = NO
} }
else else
{ {
emit navigationChanged( 2 ); emit navigationChanged( 2 );
} }*/
} }
else else
{ {
...@@ -180,24 +182,23 @@ void InputManager::update() ...@@ -180,24 +182,23 @@ void InputManager::update()
void InputManager::sliderUpdate( float new_pos ) void InputManager::sliderUpdate( float new_pos )
{ {
if( hasInput() ) if( hasInput() ) var_SetFloat( p_input, "position", new_pos );
var_SetFloat( p_input, "position", new_pos );
} }
void InputManager::togglePlayPause() void InputManager::togglePlayPause()
{ {
vlc_value_t state; vlc_value_t state;
var_Get( p_input, "state", &state ); var_Get( p_input, "state", &state );
if( state.i_int != PAUSE_S ) state.i_int = ( ( state.i_int != PAUSE_S ) ? PAUSE_S : PLAYING_S );
{ /*{
/* A stream is being played, pause it */ /* A stream is being played, pause it */
state.i_int = PAUSE_S; /* state.i_int = PAUSE_S;
} }
else else
{ {
/* Stream is paused, resume it */ /* Stream is paused, resume it */
state.i_int = PLAYING_S; /*state.i_int = PLAYING_S;
} }*/
var_Set( p_input, "state", state ); var_Set( p_input, "state", state );
emit statusChanged( state.i_int ); emit statusChanged( state.i_int );
} }
......
...@@ -42,11 +42,11 @@ public: ...@@ -42,11 +42,11 @@ public:
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; 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; QString old_name;
int i_rate; int i_rate;
public slots: public slots:
void togglePlayPause(); void togglePlayPause();
void update(); ///< Periodic updates void update(); ///< Periodic updates
...@@ -89,11 +89,12 @@ public: ...@@ -89,11 +89,12 @@ public:
InputManager *getIM() { return im; }; InputManager *getIM() { return im; };
private: private:
InputManager *im;
intf_thread_t *p_intf;
input_thread_t *p_input;
static MainInputManager *instance;
MainInputManager( intf_thread_t *); MainInputManager( intf_thread_t *);
InputManager *im;
intf_thread_t *p_intf;
input_thread_t *p_input;
static MainInputManager *instance;
public slots: public slots:
void togglePlayPause(); void togglePlayPause();
void stop(); void stop();
...@@ -105,5 +106,4 @@ signals: ...@@ -105,5 +106,4 @@ signals:
void inputChanged( input_thread_t *); void inputChanged( input_thread_t *);
}; };
#endif #endif
...@@ -84,9 +84,9 @@ static int DoControl( intf_thread_t *p_intf, void *p_win, int i_q, va_list a ) ...@@ -84,9 +84,9 @@ static int DoControl( intf_thread_t *p_intf, void *p_win, int i_q, va_list a )
MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf ) MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
{ {
/* Variables initialisation */ /* Variables initialisation */
need_components_update = false; // need_components_update = false;
bgWidget = NULL; videoWidget = NULL; playlistWidget = NULL; bgWidget = NULL; videoWidget = NULL; playlistWidget = NULL;
embeddedPlaylistWasActive = videoIsActive = false; videoIsActive = false;
input_name = ""; input_name = "";
/** /**
...@@ -95,17 +95,18 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf ) ...@@ -95,17 +95,18 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
if( config_GetInt( p_intf, "privacy-ask") ) if( config_GetInt( p_intf, "privacy-ask") )
{ {
QList<ConfigControl *> controls; QList<ConfigControl *> controls;
privacyDialog( controls ); if( privacyDialog( controls ) == QDialog::Accepted )
QList<ConfigControl *>::Iterator i;
for( i = controls.begin() ; i != controls.end() ; i++ )
{ {
ConfigControl *c = qobject_cast<ConfigControl *>(*i); QList<ConfigControl *>::Iterator i;
c->doApply( p_intf ); for( i = controls.begin() ; i != controls.end() ; i++ )
} {
ConfigControl *c = qobject_cast<ConfigControl *>(*i);
c->doApply( p_intf );
}
config_PutInt( p_intf, "privacy-ask" , 0 ); config_PutInt( p_intf, "privacy-ask" , 0 );
config_SaveConfigFile( p_intf, NULL ); config_SaveConfigFile( p_intf, NULL );
}
} }
/** /**
...@@ -122,15 +123,16 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf ) ...@@ -122,15 +123,16 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
/* Set The Video In emebedded Mode or not */ /* Set The Video In emebedded Mode or not */
videoEmbeddedFlag = false; videoEmbeddedFlag = false;
if( config_GetInt( p_intf, "embedded-video" ) ) if( config_GetInt( p_intf, "embedded-video" ) ) videoEmbeddedFlag = true;
videoEmbeddedFlag = true;
/* Are we in the enhanced always-video mode or not ? */
alwaysVideoFlag = false; alwaysVideoFlag = false;
if( videoEmbeddedFlag && config_GetInt( p_intf, "qt-always-video" ) ) if( videoEmbeddedFlag && config_GetInt( p_intf, "qt-always-video" ) )
alwaysVideoFlag = true; alwaysVideoFlag = true;
/* Set the other interface settings */ /* Set the other interface settings */
visualSelectorEnabled = settings->value( "visual-selector", false ).toBool(); //FIXME I don't like that code
visualSelectorEnabled = settings->value( "visual-selector", false ).toBool();
notificationEnabled = config_GetInt( p_intf, "qt-notification" ) notificationEnabled = config_GetInt( p_intf, "qt-notification" )
? true : false; ? true : false;
...@@ -142,7 +144,8 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf ) ...@@ -142,7 +144,8 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
/* Create a Dock to get the playlist */ /* Create a Dock to get the playlist */
dockPL = new QDockWidget( qtr("Playlist"), this ); dockPL = new QDockWidget( qtr("Playlist"), this );
dockPL->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::MinimumExpanding ); dockPL->setSizePolicy( QSizePolicy::Preferred,
QSizePolicy::MinimumExpanding );
dockPL->setFeatures( QDockWidget::AllDockWidgetFeatures ); dockPL->setFeatures( QDockWidget::AllDockWidgetFeatures );
dockPL->setAllowedAreas( Qt::LeftDockWidgetArea dockPL->setAllowedAreas( Qt::LeftDockWidgetArea
| Qt::RightDockWidgetArea | Qt::RightDockWidgetArea
...@@ -216,7 +219,7 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf ) ...@@ -216,7 +219,7 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
/* Init input manager */ /* Init input manager */
MainInputManager::getInstance( p_intf ); MainInputManager::getInstance( p_intf );
ON_TIMEOUT( updateOnTimer() ); ON_TIMEOUT( updateOnTimer() );
//ON_TIMEOUT( debug() ); //ON_TIMEOUT( debug() ):;
/******************** /********************
* Various CONNECTs * * Various CONNECTs *
...@@ -281,7 +284,6 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf ) ...@@ -281,7 +284,6 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
// DEBUG FIXME // DEBUG FIXME
hide(); hide();
updateGeometry(); updateGeometry();
settings->endGroup(); settings->endGroup();
} }
...@@ -341,31 +343,28 @@ void MainInterface::setVLCWindowsTitle( QString aTitle ) ...@@ -341,31 +343,28 @@ void MainInterface::setVLCWindowsTitle( QString aTitle )
void MainInterface::handleMainUi( QSettings *settings ) void MainInterface::handleMainUi( QSettings *settings )
{ {
/* Create the main Widget and the mainLayout */ /* Create the main Widget and the mainLayout */
QWidget *main = new QWidget( this ); QWidget *main = new QWidget;
mainLayout = new QVBoxLayout( main );
setCentralWidget( main ); setCentralWidget( main );
mainLayout = new QVBoxLayout( main );
/* Margins, spacing */ /* Margins, spacing */
main->setContentsMargins( 0, 0, 0, 0 ); main->setContentsMargins( 0, 0, 0, 0 );
mainLayout->setMargin( 0 ); mainLayout->setMargin( 0 );
/* Create the CONTROLS Widget */ /* Create the CONTROLS Widget */
bool b_shiny = config_GetInt( p_intf, "qt-blingbling" ); /* bool b_shiny = config_GetInt( p_intf, "qt-blingbling" ); */
controls = new ControlsWidget( p_intf, controls = new ControlsWidget( p_intf, this,
settings->value( "adv-controls", false ).toBool(), settings->value( "adv-controls", false ).toBool(),
b_shiny ); config_GetInt( p_intf, "qt-blingbling" ) );
/* Configure the Controls, the playlist button doesn't trigger THEDP
but the toggle from this MainInterface */
BUTTONACT( controls->playlistButton, togglePlaylist() );
/* Add the controls Widget to the main Widget */ /* Add the controls Widget to the main Widget */
mainLayout->addWidget( controls ); mainLayout->insertWidget( 0, controls );
/* Create the Speed Control Widget */ /* Create the Speed Control Widget */
speedControl = new SpeedControlWidget( p_intf ); speedControl = new SpeedControlWidget( p_intf );
speedControlMenu = new QMenu( this ); speedControlMenu = new QMenu( this );
QWidgetAction *widgetAction = new QWidgetAction( this );
QWidgetAction *widgetAction = new QWidgetAction( speedControl );
widgetAction->setDefaultWidget( speedControl ); widgetAction->setDefaultWidget( speedControl );
speedControlMenu->addAction( widgetAction ); speedControlMenu->addAction( widgetAction );
...@@ -382,7 +381,7 @@ void MainInterface::handleMainUi( QSettings *settings ) ...@@ -382,7 +381,7 @@ void MainInterface::handleMainUi( QSettings *settings )
{ {
bgWidget = new BackgroundWidget( p_intf ); bgWidget = new BackgroundWidget( p_intf );
bgWidget->widgetSize = settings->value( "backgroundSize", bgWidget->widgetSize = settings->value( "backgroundSize",
QSize( 300, 300 ) ).toSize(); QSize( 300, 200 ) ).toSize();
bgWidget->resize( bgWidget->widgetSize ); bgWidget->resize( bgWidget->widgetSize );
bgWidget->updateGeometry(); bgWidget->updateGeometry();
mainLayout->insertWidget( 0, bgWidget ); mainLayout->insertWidget( 0, bgWidget );
...@@ -405,7 +404,7 @@ void MainInterface::handleMainUi( QSettings *settings ) ...@@ -405,7 +404,7 @@ void MainInterface::handleMainUi( QSettings *settings )
updateGeometry(); updateGeometry();
} }
void MainInterface::privacyDialog( QList<ConfigControl *> controls ) int MainInterface::privacyDialog( QList<ConfigControl *> controls )
{ {
QDialog *privacy = new QDialog( this ); QDialog *privacy = new QDialog( this );
...@@ -467,7 +466,7 @@ void MainInterface::privacyDialog( QList<ConfigControl *> controls ) ...@@ -467,7 +466,7 @@ void MainInterface::privacyDialog( QList<ConfigControl *> controls )
gLayout->addWidget( ok, 2, 2 ); gLayout->addWidget( ok, 2, 2 );
CONNECT( ok, clicked(), privacy, accept() ); CONNECT( ok, clicked(), privacy, accept() );
privacy->exec(); return privacy->exec();
} }
//FIXME remove me at the end... //FIXME remove me at the end...
...@@ -506,7 +505,7 @@ QSize MainInterface::sizeHint() const ...@@ -506,7 +505,7 @@ QSize MainInterface::sizeHint() const
} }
#if 0 #if 0
/* This is dead code and need to be removed AT THE END */ /* FIXME This is dead code and need to be removed AT THE END */
void MainInterface::resizeEvent( QResizeEvent *e ) void MainInterface::resizeEvent( QResizeEvent *e )
{ {
if( videoWidget ) if( videoWidget )
...@@ -765,7 +764,8 @@ void MainInterface::setDisplayPosition( float pos, int time, int length ) ...@@ -765,7 +764,8 @@ void MainInterface::setDisplayPosition( float pos, int time, int length )
void MainInterface::toggleTimeDisplay() void MainInterface::toggleTimeDisplay()
{ {
b_remainingTime = ( b_remainingTime ? false : true ); b_remainingTime = !b_remainingTime;
//b_remainingTime = ( b_remainingTime ? false : true );
} }
void MainInterface::setName( QString name ) void MainInterface::setName( QString name )
...@@ -795,14 +795,14 @@ void MainInterface::setRate( int rate ) ...@@ -795,14 +795,14 @@ void MainInterface::setRate( int rate )
speedControl->updateControls( rate ); speedControl->updateControls( rate );
} }
//FIXME Remove this function at the end...
void MainInterface::updateOnTimer() void MainInterface::updateOnTimer()
{ {
/* \todo Make this event-driven */ /* if( intf_ShouldDie( p_intf ) )
if( intf_ShouldDie( p_intf ) )
{ {
QApplication::closeAllWindows(); QApplication::closeAllWindows();
QApplication::quit(); QApplication::quit();
} }*/
#if 0 #if 0
if( need_components_update ) if( need_components_update )
{ {
...@@ -843,6 +843,7 @@ void MainInterface::createSystray() ...@@ -843,6 +843,7 @@ void MainInterface::createSystray()
*/ */
void MainInterface::toggleUpdateSystrayMenu() void MainInterface::toggleUpdateSystrayMenu()
{ {
/* If hidden, show it */
if( isHidden() ) if( isHidden() )
{ {
show(); show();
...@@ -850,11 +851,13 @@ void MainInterface::toggleUpdateSystrayMenu() ...@@ -850,11 +851,13 @@ void MainInterface::toggleUpdateSystrayMenu()
} }
else if( isMinimized() ) else if( isMinimized() )
{ {
/* Minimized */
showNormal(); showNormal();
activateWindow(); activateWindow();
} }
else else
{ {
/* Visible */
#ifdef WIN32 #ifdef WIN32
/* check if any visible window is above vlc in the z-order, /* check if any visible window is above vlc in the z-order,
* but ignore the ones always on top */ * but ignore the ones always on top */
...@@ -891,7 +894,7 @@ void MainInterface::handleSystrayClick( ...@@ -891,7 +894,7 @@ void MainInterface::handleSystrayClick(
case QSystemTrayIcon::MiddleClick: case QSystemTrayIcon::MiddleClick:
sysTray->showMessage( qtr( "VLC media player" ), sysTray->showMessage( qtr( "VLC media player" ),
qtr( "Control menu for the player" ), qtr( "Control menu for the player" ),
QSystemTrayIcon::Information, 4000 ); QSystemTrayIcon::Information, 3000 );
break; break;
} }
} }
...@@ -912,7 +915,7 @@ void MainInterface::updateSystrayTooltipName( QString name ) ...@@ -912,7 +915,7 @@ void MainInterface::updateSystrayTooltipName( QString name )
if( notificationEnabled && ( isHidden() || isMinimized() ) ) if( notificationEnabled && ( isHidden() || isMinimized() ) )
{ {
sysTray->showMessage( qtr( "VLC media player" ), name, sysTray->showMessage( qtr( "VLC media player" ), name,
QSystemTrayIcon::NoIcon, 4000 ); QSystemTrayIcon::NoIcon, 3000 );
} }
} }
} }
...@@ -926,6 +929,7 @@ void MainInterface::updateSystrayTooltipStatus( int i_status ) ...@@ -926,6 +929,7 @@ void MainInterface::updateSystrayTooltipStatus( int i_status )
switch( i_status ) switch( i_status )
{ {
case 0: case 0:
case END_S:
{ {
sysTray->setToolTip( qtr( "VLC media player" ) ); sysTray->setToolTip( qtr( "VLC media player" ) );
break; break;
...@@ -1047,6 +1051,8 @@ void MainInterface::closeEvent( QCloseEvent *e ) ...@@ -1047,6 +1051,8 @@ void MainInterface::closeEvent( QCloseEvent *e )
{ {
hide(); hide();
vlc_object_kill( p_intf ); vlc_object_kill( p_intf );
QApplication::closeAllWindows();
QApplication::quit();
} }
/***************************************************************************** /*****************************************************************************
......
...@@ -99,14 +99,13 @@ private: ...@@ -99,14 +99,13 @@ private:
void handleSystray(); void handleSystray();
void createSystray(); void createSystray();
void privacyDialog( QList<ConfigControl *> controls ); int privacyDialog( QList<ConfigControl *> controls );
/* Video */ /* Video */
VideoWidget *videoWidget; VideoWidget *videoWidget;
virtual void keyPressEvent( QKeyEvent *); virtual void keyPressEvent( QKeyEvent *);
virtual void wheelEvent( QWheelEvent * );