Commit 5aebc3b8 authored by Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf

Qt4 - Main Interface: Advanced buttons are correctly integrated, cosmetic,

      cleanup and fixes.
parent ac443292
...@@ -209,27 +209,54 @@ void VisualSelector::next() ...@@ -209,27 +209,54 @@ void VisualSelector::next()
} }
/********************************************************************** /**********************************************************************
* More controls * TEH controls
**********************************************************************/ **********************************************************************/
#define setupSmallButton( aButton ){ \
aButton->setMaximumSize( QSize( 26, 26 ) ); \
aButton->setMinimumSize( QSize( 26, 26 ) ); \
aButton->setIconSize( QSize( 20, 20 ) ); }
AdvControlsWidget::AdvControlsWidget( intf_thread_t *_p_i ) : AdvControlsWidget::AdvControlsWidget( intf_thread_t *_p_i ) :
QFrame( NULL ), p_intf( _p_i ) QFrame( NULL ), p_intf( _p_i )
{ {
QHBoxLayout *layout = new QHBoxLayout( this ); QHBoxLayout *advLayout = new QHBoxLayout( this );
layout->setMargin( 0 ); advLayout->setMargin( 0 );
advLayout->setSpacing( 0 );
normalButton = new QPushButton( "N" ); /* FIXME A to B function */
BUTTON_SET_ACT( normalButton, "N", qtr( "Normal rate" ), normal() ); ABButton = new QPushButton( "AB" );
layout->addWidget( normalButton ); ABButton->setMaximumSize( QSize( 26, 26 ) );
normalButton->setMaximumWidth( 35 ); ABButton->setIconSize( QSize( 20, 20 ) );
advLayout->addWidget( ABButton );
BUTTON_SET_ACT( ABButton, "AB", qtr( "A to B" ), normal() );
layout->addItem( new QSpacerItem( 100,20,
QSizePolicy::Expanding, QSizePolicy::Minimum ) );
snapshotButton = new QPushButton( "S" ); snapshotButton = new QPushButton( "S" );
snapshotButton->setMaximumSize( QSize( 26, 26 ) );
snapshotButton->setIconSize( QSize( 20, 20 ) );
advLayout->addWidget( snapshotButton );
BUTTON_SET_ACT( snapshotButton, "S", qtr( "Take a snapshot" ), snapshot() ); BUTTON_SET_ACT( snapshotButton, "S", qtr( "Take a snapshot" ), snapshot() );
layout->addWidget( snapshotButton );
snapshotButton->setMaximumWidth( 35 ); //FIXME Frame by frame function
frameButton = new QPushButton( "Fr" );
frameButton->setMaximumSize( QSize( 26, 26 ) );
frameButton->setIconSize( QSize( 20, 20 ) );
advLayout->addWidget( frameButton );
BUTTON_SET_ACT( frameButton, "Fr", qtr( "Frame by Frame" ), frame() );
/* FIXME Record function */
recordButton = new QPushButton( "R" );
recordButton->setMaximumSize( QSize( 26, 26 ) );
recordButton->setIconSize( QSize( 20, 20 ) );
advLayout->addWidget( recordButton );
BUTTON_SET_ACT( recordButton, "R", qtr( "Record" ), record() );
normalButton = new QPushButton( "N" );
normalButton->setMaximumSize( QSize( 26, 26 ) );
normalButton->setIconSize( QSize( 20, 20 ) );
advLayout->addWidget( normalButton );
BUTTON_SET_ACT( normalButton, "N", qtr( "Normal rate" ), normal() );
} }
AdvControlsWidget::~AdvControlsWidget() AdvControlsWidget::~AdvControlsWidget()
...@@ -239,12 +266,15 @@ AdvControlsWidget::~AdvControlsWidget() ...@@ -239,12 +266,15 @@ AdvControlsWidget::~AdvControlsWidget()
void AdvControlsWidget::enableInput( bool enable ) void AdvControlsWidget::enableInput( bool enable )
{ {
// slowerButton->setEnabled( enable ); // slowerButton->setEnabled( enable );
ABButton->setEnabled( enable );
recordButton->setEnabled( enable );
normalButton->setEnabled( enable ); normalButton->setEnabled( enable );
// fasterButton->setEnabled( enable ); // fasterButton->setEnabled( enable );
} }
void AdvControlsWidget::enableVideo( bool enable ) void AdvControlsWidget::enableVideo( bool enable )
{ {
snapshotButton->setEnabled( enable ); snapshotButton->setEnabled( enable );
frameButton->setEnabled( enable );
//fullscreenButton->setEnabled( enable ); //fullscreenButton->setEnabled( enable );
} }
...@@ -261,12 +291,24 @@ void AdvControlsWidget::fullscreen() ...@@ -261,12 +291,24 @@ void AdvControlsWidget::fullscreen()
{ {
} }
ControlsWidget::ControlsWidget( intf_thread_t *_p_i ) : void AdvControlsWidget::frame(){}
void AdvControlsWidget::record(){}
/*****************************
* DA Control Widget !
*****************************/
ControlsWidget::ControlsWidget( intf_thread_t *_p_i, bool b_advControls ) :
QFrame( NULL ), p_intf( _p_i ) QFrame( NULL ), p_intf( _p_i )
{ {
//QSize size( 500, 200 ); //QSize size( 500, 200 );
//resize( size ); //resize( size );
controlLayout = new QGridLayout( this ); controlLayout = new QGridLayout( this );
#if 1 || DEBUG_COLOR
QPalette palette2;
palette2.setColor(this->backgroundRole(), Qt::magenta);
setPalette(palette2);
#endif
/** The main Slider **/ /** The main Slider **/
slider = new InputSlider( Qt::Horizontal, NULL ); slider = new InputSlider( Qt::Horizontal, NULL );
...@@ -290,33 +332,42 @@ ControlsWidget::ControlsWidget( intf_thread_t *_p_i ) : ...@@ -290,33 +332,42 @@ ControlsWidget::ControlsWidget( intf_thread_t *_p_i ) :
fasterButton->setMaximumSize( QSize( 26, 20 ) ); fasterButton->setMaximumSize( QSize( 26, 20 ) );
/** TODO: Insert here the AdvControls Widget /** TODO: Insert here the AdvControls Widget
* and add - A->B button
* - frame by frame
* - record button
* and put the snapshot in the same QFrame
* Then fix all the size issues in main_interface.cpp * Then fix all the size issues in main_interface.cpp
**/ **/
/* advanced Controls handling */
b_advancedVisible = b_advControls;
advControls = new AdvControlsWidget( p_intf );
controlLayout->addWidget( advControls, 1, 3, 2, 5, Qt::AlignBottom );
if( !b_advancedVisible ) advControls->hide();
//THIS should be removed. need_components_update = true;
/** Disc and Menus handling */ /** Disc and Menus handling */
discFrame = new QFrame( this ); discFrame = new QFrame( this );
QHBoxLayout *discLayout = new QHBoxLayout( discFrame );
QPushButton *menuButton = new QPushButton( discFrame ); QHBoxLayout *discLayout = new QHBoxLayout( discFrame );
discLayout->addWidget( menuButton ); discLayout->setSpacing( 0 );
discLayout->setMargin( 0 );
QPushButton *prevSectionButton = new QPushButton( discFrame ); QPushButton *prevSectionButton = new QPushButton( discFrame );
setupSmallButton( prevSectionButton );
discLayout->addWidget( prevSectionButton ); discLayout->addWidget( prevSectionButton );
QPushButton *menuButton = new QPushButton( discFrame );
setupSmallButton( menuButton );
discLayout->addWidget( menuButton );
QPushButton *nextSectionButton = new QPushButton( discFrame ); QPushButton *nextSectionButton = new QPushButton( discFrame );
setupSmallButton( nextSectionButton );
discLayout->addWidget( nextSectionButton ); discLayout->addWidget( nextSectionButton );
controlLayout->addWidget( discFrame, 1, 13, 1, 4 ); controlLayout->addWidget( discFrame, 1, 10, 2, 4, Qt::AlignBottom );
BUTTON_SET_IMG( prevSectionButton, "", previous.png, "" ); BUTTON_SET_IMG( prevSectionButton, "", previous.png, "" );
BUTTON_SET_IMG( nextSectionButton, "", next.png, "" ); BUTTON_SET_IMG( nextSectionButton, "", next.png, "" );
BUTTON_SET_IMG( menuButton, "", previous.png, "" ); BUTTON_SET_IMG( menuButton, "", previous.png, "" );
discFrame->hide(); //discFrame->hide();
/* Change the navigation button display when the IM navigation changes */ /* Change the navigation button display when the IM navigation changes */
CONNECT( THEMIM->getIM(), navigationChanged( int ), CONNECT( THEMIM->getIM(), navigationChanged( int ),
...@@ -345,7 +396,7 @@ ControlsWidget::ControlsWidget( intf_thread_t *_p_i ) : ...@@ -345,7 +396,7 @@ ControlsWidget::ControlsWidget( intf_thread_t *_p_i ) :
playButton->setMaximumSize( QSize( 45, 45 ) ); playButton->setMaximumSize( QSize( 45, 45 ) );
playButton->setIconSize( QSize( 30, 30 ) ); playButton->setIconSize( QSize( 30, 30 ) );
controlLayout->addWidget( playButton, 2, 0, 2, 2 ); controlLayout->addWidget( playButton, 2, 0, 2, 2, Qt::AlignBottom );
/** Prev + Stop + Next Block **/ /** Prev + Stop + Next Block **/
QHBoxLayout *controlButLayout = new QHBoxLayout; QHBoxLayout *controlButLayout = new QHBoxLayout;
...@@ -354,24 +405,21 @@ ControlsWidget::ControlsWidget( intf_thread_t *_p_i ) : ...@@ -354,24 +405,21 @@ ControlsWidget::ControlsWidget( intf_thread_t *_p_i ) :
/* Prev */ /* Prev */
QPushButton *prevButton = new QPushButton; QPushButton *prevButton = new QPushButton;
prevButton->setSizePolicy( sizePolicy ); prevButton->setSizePolicy( sizePolicy );
prevButton->setMaximumSize( QSize( 26, 26 ) ); setupSmallButton( prevButton );
prevButton->setIconSize( QSize( 20, 20 ) );
controlButLayout->addWidget( prevButton ); controlButLayout->addWidget( prevButton );
/* Stop */ /* Stop */
QPushButton *stopButton = new QPushButton; QPushButton *stopButton = new QPushButton;
stopButton->setSizePolicy( sizePolicy ); stopButton->setSizePolicy( sizePolicy );
stopButton->setMaximumSize( QSize( 26, 26 ) ); setupSmallButton( stopButton );
stopButton->setIconSize( QSize( 20, 20 ) );
controlButLayout->addWidget( stopButton ); controlButLayout->addWidget( stopButton );
/* next */ /* next */
QPushButton *nextButton = new QPushButton; QPushButton *nextButton = new QPushButton;
nextButton->setSizePolicy( sizePolicy ); nextButton->setSizePolicy( sizePolicy );
nextButton->setMaximumSize( QSize( 26, 26 ) ); setupSmallButton( nextButton );
nextButton->setIconSize( QSize( 20, 20 ) );
controlButLayout->addWidget( nextButton ); controlButLayout->addWidget( nextButton );
...@@ -392,13 +440,12 @@ ControlsWidget::ControlsWidget( intf_thread_t *_p_i ) : ...@@ -392,13 +440,12 @@ ControlsWidget::ControlsWidget( intf_thread_t *_p_i ) :
/** Fullscreen/Visualisation **/ /** Fullscreen/Visualisation **/
fullscreenButton = new QPushButton( "F" ); fullscreenButton = new QPushButton( "F" );
BUTTON_SET_ACT( fullscreenButton, "F", qtr( "Fullscreen" ), fullscreen() ); BUTTON_SET_ACT( fullscreenButton, "F", qtr( "Fullscreen" ), fullscreen() );
fullscreenButton->setMaximumSize( QSize( 26, 26 ) ); setupSmallButton( fullscreenButton );
controlLayout->addWidget( fullscreenButton, 3, 10 ); controlLayout->addWidget( fullscreenButton, 3, 10 );
/** Playlist Button **/ /** Playlist Button **/
playlistButton = new QPushButton; playlistButton = new QPushButton;
playlistButton->setMaximumSize( QSize( 26, 26 ) ); setupSmallButton( playlistButton );
playlistButton->setIconSize( QSize( 20, 20 ) );
controlLayout->addWidget( playlistButton, 3, 11 ); controlLayout->addWidget( playlistButton, 3, 11 );
...@@ -406,13 +453,14 @@ ControlsWidget::ControlsWidget( intf_thread_t *_p_i ) : ...@@ -406,13 +453,14 @@ ControlsWidget::ControlsWidget( intf_thread_t *_p_i ) :
QPushButton *extSettingsButton = new QPushButton( "F" ); QPushButton *extSettingsButton = new QPushButton( "F" );
BUTTON_SET_ACT( extSettingsButton, "Ex", qtr( "Extended Settings" ), BUTTON_SET_ACT( extSettingsButton, "Ex", qtr( "Extended Settings" ),
extSettings() ); extSettings() );
extSettingsButton->setMaximumSize( QSize( 26, 26 ) ); setupSmallButton( extSettingsButton );
controlLayout->addWidget( extSettingsButton, 3, 12 ); controlLayout->addWidget( extSettingsButton, 3, 12 );
/** Preferences **/ /** Preferences **/
QPushButton *prefsButton = new QPushButton( "P" ); QPushButton *prefsButton = new QPushButton( "P" );
BUTTON_SET_ACT( prefsButton, "P", qtr( "Preferences / Settings" ), prefs() ); BUTTON_SET_ACT( prefsButton, "P", qtr( "Preferences / Settings" ),
prefsButton->setMaximumSize( QSize( 26, 26 ) ); prefs() );
setupSmallButton( prefsButton );
controlLayout->addWidget( prefsButton, 3, 13 ); controlLayout->addWidget( prefsButton, 3, 13 );
/* Volume */ /* Volume */
...@@ -458,6 +506,7 @@ void ControlsWidget::play() ...@@ -458,6 +506,7 @@ void ControlsWidget::play()
if( playlist_IsEmpty( THEPL ) ) if( playlist_IsEmpty( THEPL ) )
{ {
/* The playlist is empty, open a file requester */ /* The playlist is empty, open a file requester */
msg_Dbg( p_intf, "Nothing to play yet, open a file" );
THEDP->openFileDialog(); THEDP->openFileDialog();
setStatus( 0 ); setStatus( 0 );
return; return;
...@@ -528,6 +577,9 @@ void ControlsWidget::updateOnTimer() ...@@ -528,6 +577,9 @@ void ControlsWidget::updateOnTimer()
volumeSlider->setValue( i_volume ); volumeSlider->setValue( i_volume );
b_my_volume = false; b_my_volume = false;
} }
enableInput( THEMIM->getIM()->hasInput() );
enableVideo( THEMIM->getIM()->hasVideo() );
} }
/* FIXME */ /* FIXME */
...@@ -580,14 +632,35 @@ void ControlsWidget::enableInput( bool enable ) ...@@ -580,14 +632,35 @@ void ControlsWidget::enableInput( bool enable )
slowerButton->setEnabled( enable ); slowerButton->setEnabled( enable );
slider->setEnabled( enable ); slider->setEnabled( enable );
fasterButton->setEnabled( enable ); fasterButton->setEnabled( enable );
/* Advanced Buttons too */
advControls->enableInput( enable );
} }
void ControlsWidget::enableVideo( bool enable ) void ControlsWidget::enableVideo( bool enable )
{ {
// TODO Later make the fullscreenButton toggle Visualisation and so on. // TODO Later make the fullscreenButton toggle Visualisation and so on.
fullscreenButton->setEnabled( enable ); fullscreenButton->setEnabled( enable );
/* Advanced Buttons too */
advControls->enableVideo( enable );
} }
void ControlsWidget::toggleAdvanced()
{
if( !VISIBLE( advControls ) )
{
advControls->show();
b_advancedVisible = true;
}
else
{
advControls->hide();
b_advancedVisible = false;
}
//FIXME connect this one :D
emit advancedControlsShowed( b_advancedVisible ); // doComponentsUpdate();
}
/********************************************************************** /**********************************************************************
* Playlist Widget. The embedded playlist * Playlist Widget. The embedded playlist
......
...@@ -114,12 +114,14 @@ public: ...@@ -114,12 +114,14 @@ public:
void enableVideo( bool ); void enableVideo( bool );
private: private:
intf_thread_t *p_intf; intf_thread_t *p_intf;
QPushButton *normalButton; QPushButton *normalButton, *recordButton, *ABButton;
QPushButton *snapshotButton; QPushButton *snapshotButton, *frameButton;
private slots: private slots:
void normal(); void normal();
void snapshot(); void snapshot();
void fullscreen(); void fullscreen();
void frame();
void record();
}; };
class InputSlider; class InputSlider;
...@@ -130,7 +132,7 @@ class ControlsWidget : public QFrame ...@@ -130,7 +132,7 @@ class ControlsWidget : public QFrame
{ {
Q_OBJECT Q_OBJECT
public: public:
ControlsWidget( intf_thread_t *); ControlsWidget( intf_thread_t *, bool );
virtual ~ControlsWidget(); virtual ~ControlsWidget();
QPushButton *playlistButton; QPushButton *playlistButton;
...@@ -145,13 +147,16 @@ protected: ...@@ -145,13 +147,16 @@ protected:
friend class MainInterface; friend class MainInterface;
friend class VolumeClickHandler; friend class VolumeClickHandler;
private: private:
intf_thread_t *p_intf; intf_thread_t *p_intf;
QFrame *discFrame; QFrame *discFrame;
QGridLayout *controlLayout; QGridLayout *controlLayout;
InputSlider *slider; InputSlider *slider;
QPushButton *prevSectionButton, *nextSectionButton, *menuButton; QPushButton *prevSectionButton, *nextSectionButton, *menuButton;
QPushButton *playButton, *fullscreenButton; QPushButton *playButton, *fullscreenButton;
QPushButton *slowerButton, *fasterButton; QPushButton *slowerButton, *fasterButton;
AdvControlsWidget *advControls;
bool b_advancedVisible;
private slots: private slots:
void play(); void play();
void stop(); void stop();
...@@ -163,6 +168,9 @@ private slots: ...@@ -163,6 +168,9 @@ private slots:
void prefs(); void prefs();
void faster(); void faster();
void slower(); void slower();
void toggleAdvanced();
signals:
void advancedControlsShowed( bool );
}; };
class VolumeClickHandler : public QObject class VolumeClickHandler : public QObject
......
...@@ -52,11 +52,9 @@ ...@@ -52,11 +52,9 @@
#define PREF_H 121 #define PREF_H 121
#else #else
#define PREF_W 450 #define PREF_W 450
#define PREF_H 125 #define PREF_H 160
#endif #endif
#define VISIBLE(i) (i && i->isVisible())
#define SET_WIDTH(i,j) i->widgetSize.setWidth(j) #define SET_WIDTH(i,j) i->widgetSize.setWidth(j)
#define SET_HEIGHT(i,j) i->widgetSize.setHeight(j) #define SET_HEIGHT(i,j) i->widgetSize.setHeight(j)
#define SET_WH( i,j,k) i->widgetSize.setWidth(j); i->widgetSize.setHeight(k); #define SET_WH( i,j,k) i->widgetSize.setWidth(j); i->widgetSize.setHeight(k);
...@@ -93,8 +91,6 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf ) ...@@ -93,8 +91,6 @@ 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;
bool b_createSystray = false;
input_name = ""; input_name = "";
/** /**
...@@ -119,31 +115,24 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf ) ...@@ -119,31 +115,24 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
/* Set the other interface settings */ /* Set the other interface settings */
playlistEmbeddedFlag = settings->value("playlist-embedded", true).toBool(); playlistEmbeddedFlag = settings->value("playlist-embedded", true).toBool();
advControlsEnabled= settings->value( "adv-controls", false ).toBool();
visualSelectorEnabled= settings->value( "visual-selector", false ).toBool(); visualSelectorEnabled= settings->value( "visual-selector", false ).toBool();
#if DEBUG_COLOR /**************************
QPalette palette2; * UI and Widgets design
palette2.setColor(this->backgroundRole(), Qt::magenta); **************************/
setPalette(palette2);
#endif
/**
* UI design
**/
setVLCWindowsTitle(); setVLCWindowsTitle();
handleMainUi( settings ); handleMainUi( settings );
/* Menu Bar */ /* Menu Bar */
QVLCMenu::createMenuBar( this, p_intf, playlistEmbeddedFlag, QVLCMenu::createMenuBar( this, p_intf, playlistEmbeddedFlag,
advControlsEnabled, visualSelectorEnabled ); isAdvancedVisible(), visualSelectorEnabled );
/* Status Bar */ /* Status Bar */
/** /**
* TODO: clicking on the elapsed time should switch to the remaining time * TODO: clicking on the elapsed time should switch to the remaining time
**/ **/
/** /**
* TODO: do we add a label for the current Volume * TODO: do we add a label for the current Volume ?
**/ **/
timeLabel = new QLabel; timeLabel = new QLabel;
nameLabel = new QLabel; nameLabel = new QLabel;
...@@ -160,16 +149,25 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf ) ...@@ -160,16 +149,25 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
CONNECT( timeLabel, customContextMenuRequested( QPoint ), CONNECT( timeLabel, customContextMenuRequested( QPoint ),
this, showTimeMenu( QPoint ) ); this, showTimeMenu( QPoint ) );
/* Systray */ /**********************
* Systray Management *
**********************/
sysTray = NULL; sysTray = NULL;
bool b_createSystray = false;
bool b_systrayAvailable = QSystemTrayIcon::isSystemTrayAvailable();
if( config_GetInt( p_intf, "qt-start-minimized") ) if( config_GetInt( p_intf, "qt-start-minimized") )
{ {
hide(); if( b_systrayAvailable ){
b_createSystray = true; b_createSystray = true;
hide(); //FIXME
}
else msg_Warn( p_intf, "You can't minize if you haven't a system "
"tray bar" );
} }
if( config_GetInt( p_intf, "qt-system-tray") ) if( config_GetInt( p_intf, "qt-system-tray") )
b_createSystray = true; b_createSystray = true;
if (QSystemTrayIcon::isSystemTrayAvailable() && b_createSystray )
if( b_systrayAvailable && b_createSystray )
createSystray(); createSystray();
/* Init input manager */ /* Init input manager */
...@@ -177,30 +175,35 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf ) ...@@ -177,30 +175,35 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
ON_TIMEOUT( updateOnTimer() ); ON_TIMEOUT( updateOnTimer() );
/** /**
* CONNECTs * Various CONNECTs
**/ **/
/* Connect the input manager to the GUI elements it manages */ /* Connect the input manager to the GUI elements it manages */
/* It is also connected to the control->slider */ /* It is also connected to the control->slider, see the ControlsWidget */
CONNECT( THEMIM->getIM(), positionUpdated( float, int, int ), CONNECT( THEMIM->getIM(), positionUpdated( float, int, int ),
this, setDisplay( float, int, int ) ); this, setDisplay( float, int, int ) );
/* Naming in the controller */ /** Connects on nameChanged() */
/* Naming in the controller statusbar */
CONNECT( THEMIM->getIM(), nameChanged( QString ), this, CONNECT( THEMIM->getIM(), nameChanged( QString ), this,
setName( QString ) ); setName( QString ) );
/* and in the systray */
if( sysTray ) if( sysTray )
{ {
CONNECT( THEMIM->getIM(), nameChanged( QString ), this, CONNECT( THEMIM->getIM(), nameChanged( QString ), this,
updateSystrayTooltipName( QString ) ); updateSystrayTooltipName( QString ) );
} }
/* and in the title of the controller */
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,
setVLCWindowsTitle( QString ) ); setVLCWindowsTitle( QString ) );
} }
/* PLAY_STATUS */ /** CONNECTS on PLAY_STATUS **/
/* Status on the main controller */
CONNECT( THEMIM->getIM(), statusChanged( int ), this, setStatus( int ) ); CONNECT( THEMIM->getIM(), statusChanged( int ), this, setStatus( int ) );
/* and in the systray */
if( sysTray ) if( sysTray )
{ {
CONNECT( THEMIM->getIM(), statusChanged( int ), this, CONNECT( THEMIM->getIM(), statusChanged( int ), this,
...@@ -238,7 +241,7 @@ MainInterface::~MainInterface() ...@@ -238,7 +241,7 @@ MainInterface::~MainInterface()
} }
settings->setValue( "playlist-embedded", playlistEmbeddedFlag ); settings->setValue( "playlist-embedded", playlistEmbeddedFlag );
settings->setValue( "adv-controls", advControlsEnabled ); settings->setValue( "adv-controls", isAdvancedVisible() );
settings->setValue( "pos", pos() ); settings->setValue( "pos", pos() );
settings->endGroup(); settings->endGroup();
delete settings; delete settings;
...@@ -272,6 +275,7 @@ void MainInterface::setVLCWindowsTitle( QString aTitle ) ...@@ -272,6 +275,7 @@ void MainInterface::setVLCWindowsTitle( QString aTitle )
void MainInterface::handleMainUi( QSettings *settings ) void MainInterface::handleMainUi( QSettings *settings )
{ {
/* Create the main Widget and the mainLayout */
QWidget *main = new QWidget( this ); QWidget *main = new QWidget( this );
mainLayout = new QVBoxLayout( main ); mainLayout = new QVBoxLayout( main );
setCentralWidget( main ); setCentralWidget( main );
...@@ -280,36 +284,24 @@ void MainInterface::handleMainUi( QSettings *settings ) ...@@ -280,36 +284,24 @@ void MainInterface::handleMainUi( QSettings *settings )
main->setContentsMargins( 0, 0, 0, 0 ); main->setContentsMargins( 0, 0, 0, 0 );
mainLayout->setMargin( 0 ); mainLayout->setMargin( 0 );
/* CONTROLS */ /* Create the CONTROLS Widget */
controls = new ControlsWidget( p_intf ); controls = new ControlsWidget( p_intf,
settings->value( "adv-controls", false ).toBool() );
/* Configure the UI */ /* Configure the Controls */
BUTTON_SET_IMG( controls->playlistButton, "" , playlist_icon.png, BUTTON_SET_IMG( controls->playlistButton, "" , playlist_icon.png,
playlistEmbeddedFlag ? qtr( "Show playlist" ) : playlistEmbeddedFlag ? qtr( "Show playlist" ) :
qtr( "Open playlist" ) ); qtr( "Open playlist" ) );
BUTTONACT( controls->playlistButton, playlist() ); BUTTONACT( controls->playlistButton, togglePlaylist() );
#if DEBUG_COLOR
QPalette palette;
palette.setColor(main->backgroundRole(), Qt::green);
main->setPalette(palette);
#endif
/* Add the controls Widget */ /* Add the controls Widget to the main Widget */
mainLayout->addWidget( controls ); mainLayout->addWidget( controls );
/* Set initial size */
resize ( PREF_W, PREF_H );
/* Set initial size */
resize( PREF_W, PREF_H );
addSize = QSize( mainLayout->margin() * 2, PREF_H ); addSize = QSize( mainLayout->margin() * 2, PREF_H );
/* advanced Controls handling */
advControls = new AdvControlsWidget( p_intf );
mainLayout->insertWidget( 0, advControls );
advControls->updateGeometry();
if( !advControlsEnabled ) advControls->hide();
need_components_update = true;
/* Visualisation */ /* Visualisation */
visualSelector = new VisualSelector( p_intf ); visualSelector = new VisualSelector( p_intf );
mainLayout->insertWidget( 0, visualSelector ); mainLayout->insertWidget( 0, visualSelector );
...@@ -343,7 +335,7 @@ void MainInterface::handleMainUi( QSettings *settings ) ...@@ -343,7 +335,7 @@ void MainInterface::handleMainUi( QSettings *settings )
} }
/********************************************************************** /**********************************************************************
* Handling of the components * Handling of sizing of the components
**********************************************************************/ **********************************************************************/
void MainInterface::calculateInterfaceSize() void MainInterface::calculateInterfaceSize()
{ {
...@@ -371,10 +363,10 @@ void MainInterface::calculateInterfaceSize() ...@@ -371,10 +363,10 @@ void MainInterface::calculateInterfaceSize()
} }
if( VISIBLE( visualSelector ) ) if( VISIBLE( visualSelector ) )
height += visualSelector->height(); height += visualSelector->height();
if( VISIBLE( advControls) ) /* if( VISIBLE( advControls) )
{ {
height += advControls->sizeHint().height(); height += advControls->sizeHint().height();
} }*/
mainSize = QSize( width + addSize.width(), height + addSize.height() ); mainSize = QSize( width + addSize.width(), height + addSize.height() );
} }
...@@ -394,6 +386,7 @@ void MainInterface::resizeEvent( QResizeEvent *e ) ...@@ -394,6 +386,7 @@ void MainInterface::resizeEvent( QResizeEvent *e )
playlistWidget->updateGeometry(); playlistWidget->updateGeometry();
} }
} }
/**************************************************************************** /****************************************************************************
* Small right-click menus * Small right-click menus
****************************************************************************/ ****************************************************************************/
...@@ -411,139 +404,9 @@ void MainInterface::showTimeMenu( QPoint pos ) ...@@ -411,139 +404,9 @@ void MainInterface::showTimeMenu( QPoint pos )
menu.exec( QCursor::pos() ); menu.exec( QCursor::pos() );
} }
/***************************************************************************** /****************************************************************************
* Systray Icon and Systray Menu * Video Handling
*****************************************************************************/ ****************************************************************************/
/**
* Create a SystemTray icon and a menu that would go with it.
* Connects to a click handler on the icon.
**/
void MainInterface::createSystray()
{
QIcon iconVLC = QIcon( QPixmap( ":/vlc128.png" ) );
sysTray = new QSystemTrayIcon( iconVLC, this );
sysTray->setToolTip( qtr( "VLC media player" ));
systrayMenu = new QMenu( qtr( "VLC media player" ), this );
systrayMenu->setIcon( iconVLC );
QVLCMenu::updateSystrayMenu( this, p_intf, true );
sysTray->show();
CONNECT( sysTray, activated( QSystemTrayIcon::ActivationReason ),
this, handleSystrayClick( QSystemTrayIcon::ActivationReason ) );
}
/**
* Update the menu of the Systray Icon.
* May be unneedded, since it just calls QVLCMenu::update
* FIXME !!!
**/
void MainInterface::updateSystrayMenu( int status )
{
QVLCMenu::updateSystrayMenu( this, p_intf ) ;
}
/**
* Updates the Systray Icon's menu and toggle the main interface
*/
void MainInterface::toggleUpdateSystrayMenu()
{
if( isHidden() )
{
show();
activateWindow();
}
else
{
#ifdef WIN32
/* check if any visible window is above vlc in the z-order,
* but ignore the ones always on top */
WINDOWINFO wi;
HWND hwnd;
wi.cbSize = sizeof( WINDOWINFO );
for( hwnd = GetNextWindow( internalWinId(), GW_HWNDPREV );
hwnd && !IsWindowVisible( hwnd );
hwnd = GetNextWindow( hwnd, GW_HWNDPREV ) );
if( !hwnd || !GetWindowInfo( hwnd, &wi ) ||
(wi.dwExStyle&WS_EX_TOPMOST) )
#else
if( isActiveWindow() )
#endif
{
hide();
}
else
{
activateWindow();
}
}
QVLCMenu::updateSystrayMenu( this, p_intf );
}
void MainInterface::handleSystrayClick(
QSystemTrayIcon::ActivationReason reason )
{
switch( reason )
{
case QSystemTrayIcon::Trigger:
toggleUpdateSystrayMenu();
break;
case QSystemTrayIcon::MiddleClick:
sysTray->showMessage( qtr( "VLC media player" ),
qtr( "Control menu for the player" ),
QSystemTrayIcon::Information, 4000 );
break;
}
}
/**
* Updates the name of the systray Icon tooltip.
* Doesn't check if the systray exists, check before you call it.
* FIXME !!! Fusion with next function ?
**/
void MainInterface::updateSystrayTooltipName( QString name )
{
if( name.isEmpty() )
{
sysTray->setToolTip( qtr( "VLC media player" ) );
}
else
{
sysTray->setToolTip( name );
sysTray->showMessage( qtr( "VLC media player" ), name,
QSystemTrayIcon::NoIcon, 4000 );
}
}
/**
* Updates the status of the systray Icon tooltip.
* Doesn't check if the systray exists, check before you call it.
**/
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;
}
}
}
void *MainInterface::requestVideo( vout_thread_t *p_nvout, int *pi_x, void *MainInterface::requestVideo( vout_thread_t *p_nvout, int *pi_x,
int *pi_y, unsigned int *pi_width, int *pi_y, unsigned int *pi_width,
unsigned int *pi_height ) unsigned int *pi_height )
...@@ -650,44 +513,15 @@ int MainInterface::controlVideo( void *p_window, int i_query, va_list args ) ...@@ -650,44 +513,15 @@ int MainInterface::controlVideo( void *p_window, int i_query, va_list args )
return i_ret; return i_ret;
} }
void MainInterface::advanced() /*****************************************************************************
{ * Playlist, Visualisation and Menus handling
if( !VISIBLE( advControls ) ) *****************************************************************************/
{ /**
advControls->show(); * Toggle the playlist widget or dialog
advControlsEnabled = true; **/
} void MainInterface::togglePlaylist()
else
{
advControls->hide();
advControlsEnabled = false;
}
doComponentsUpdate();
}
void MainInterface::visual()
{
if( !VISIBLE( visualSelector) )
{
visualSelector->show();
if( !THEMIM->getIM()->hasVideo() )
{
/* Show the background widget */
}
visualSelectorEnabled = true;
}
else
{
/* Stop any currently running visualization */
visualSelector->hide();
visualSelectorEnabled = false;
}
doComponentsUpdate();
}
void MainInterface::playlist()
{ {
// Toggle the playlist dialog // Toggle the playlist dialog if not embedded and return
if( !playlistEmbeddedFlag ) if( !playlistEmbeddedFlag )
{ {
if( playlistWidget ) if( playlistWidget )
...@@ -698,6 +532,7 @@ void MainInterface::playlist() ...@@ -698,6 +532,7 @@ void MainInterface::playlist()
return; return;
} }
// Create the playlist Widget and destroy the existing dialog
if( !playlistWidget ) if( !playlistWidget )
{ {
PlaylistDialog::killInstance(); PlaylistDialog::killInstance();
...@@ -709,6 +544,8 @@ void MainInterface::playlist() ...@@ -709,6 +544,8 @@ void MainInterface::playlist()
if(bgWidget) if(bgWidget)
CONNECT( playlistWidget, artSet( QString ), bgWidget, setArt(QString) ); CONNECT( playlistWidget, artSet( QString ), bgWidget, setArt(QString) );
} }
// And toggle visibility
if( VISIBLE( playlistWidget ) ) if( VISIBLE( playlistWidget ) )
{ {
playlistWidget->hide(); playlistWidget->hide();
...@@ -733,15 +570,8 @@ void MainInterface::playlist() ...@@ -733,15 +570,8 @@ void MainInterface::playlist()
} }
if( VISIBLE( bgWidget ) ) bgWidget->hide(); if( VISIBLE( bgWidget ) ) bgWidget->hide();
} }
doComponentsUpdate();
}
/* Video widget cannot do this synchronously as it runs in another thread */ doComponentsUpdate();
/* Well, could it, actually ? Probably dangerous ... */
void MainInterface::doComponentsUpdate()
{
calculateInterfaceSize();
resize( mainSize );
} }
void MainInterface::undockPlaylist() void MainInterface::undockPlaylist()
...@@ -755,7 +585,7 @@ void MainInterface::undockPlaylist() ...@@ -755,7 +585,7 @@ void MainInterface::undockPlaylist()
playlistEmbeddedFlag = false; playlistEmbeddedFlag = false;
menuBar()->clear(); menuBar()->clear();
QVLCMenu::createMenuBar( this, p_intf, false, advControlsEnabled, QVLCMenu::createMenuBar( this, p_intf, false, isAdvancedVisible(),
visualSelectorEnabled); visualSelectorEnabled);
if( videoIsActive ) if( videoIsActive )
...@@ -770,6 +600,28 @@ void MainInterface::undockPlaylist() ...@@ -770,6 +600,28 @@ void MainInterface::undockPlaylist()
} }
} }
#if 0
void MainInterface::visual()
{
if( !VISIBLE( visualSelector) )
{
visualSelector->show();
if( !THEMIM->getIM()->hasVideo() )
{
/* Show the background widget */
}
visualSelectorEnabled = true;
}
else
{
/* Stop any currently running visualization */
visualSelector->hide();
visualSelectorEnabled = false;
}
doComponentsUpdate();
}
#endif
void MainInterface::toggleMenus() void MainInterface::toggleMenus()
{ {
if( menuBar()->isVisible() ) menuBar()->hide(); if( menuBar()->isVisible() ) menuBar()->hide();
...@@ -777,31 +629,203 @@ void MainInterface::toggleMenus() ...@@ -777,31 +629,203 @@ void MainInterface::toggleMenus()
msg_Dbg( p_intf, "I was there: \\_o<~~ coin coin" ); msg_Dbg( p_intf, "I was there: \\_o<~~ coin coin" );
} }
void MainInterface::customEvent( QEvent *event ) /* Video widget cannot do this synchronously as it runs in another thread */
/* Well, could it, actually ? Probably dangerous ... */
void MainInterface::doComponentsUpdate()
{ {
if( event->type() == PLDockEvent_Type ) calculateInterfaceSize();
resize( mainSize );
}
void MainInterface::toggleAdvanced()
{
controls->toggleAdvanced();
}
bool MainInterface::isAdvancedVisible()
{
return controls->b_advancedVisible;
}
/************************************************************************
* Other stuff
************************************************************************/
void MainInterface::setDisplay( float pos, int time, int length )
{
char psz_length[MSTRTIME_MAX_SIZE], psz_time[MSTRTIME_MAX_SIZE];
secstotimestr( psz_length, length );
secstotimestr( psz_time, time );
QString title;
title.sprintf( "%s/%s", psz_time, psz_length );
timeLabel->setText( " "+title+" " );
}
void MainInterface::setName( QString name )
{
input_name = name;
nameLabel->setText( " " + name+" " );
}
void MainInterface::setStatus( int status )
{
controls->setStatus( status );
if( sysTray )
updateSystrayMenu( status );
}
void MainInterface::updateOnTimer()
{
/* \todo Make this event-driven */
if( intf_ShouldDie( p_intf ) )
{ {
PlaylistDialog::killInstance(); QApplication::closeAllWindows();
playlistEmbeddedFlag = true; QApplication::quit();
menuBar()->clear();
QVLCMenu::createMenuBar(this, p_intf, true, advControlsEnabled,
visualSelectorEnabled);
playlist();
} }
else if ( event->type() == SetVideoOnTopEvent_Type ) if( need_components_update )
{ {
SetVideoOnTopQtEvent* p_event = (SetVideoOnTopQtEvent*)event; doComponentsUpdate();
if( p_event->OnTop() ) need_components_update = false;
setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint); }
controls->updateOnTimer();
}
/*****************************************************************************
* Systray Icon and Systray Menu
*****************************************************************************/
/**
* Create a SystemTray icon and a menu that would go with it.
* Connects to a click handler on the icon.
**/
void MainInterface::createSystray()
{
QIcon iconVLC = QIcon( QPixmap( ":/vlc128.png" ) );
sysTray = new QSystemTrayIcon( iconVLC, this );
sysTray->setToolTip( qtr( "VLC media player" ));
systrayMenu = new QMenu( qtr( "VLC media player" ), this );
systrayMenu->setIcon( iconVLC );
QVLCMenu::updateSystrayMenu( this, p_intf, true );
sysTray->show();
CONNECT( sysTray, activated( QSystemTrayIcon::ActivationReason ),
this, handleSystrayClick( QSystemTrayIcon::ActivationReason ) );
}
/**
* Update the menu of the Systray Icon.
* May be unneedded, since it just calls QVLCMenu::update
* FIXME !!!
**/
void MainInterface::updateSystrayMenu( int status )
{
QVLCMenu::updateSystrayMenu( this, p_intf ) ;
}
/**
* Updates the Systray Icon's menu and toggle the main interface
*/
void MainInterface::toggleUpdateSystrayMenu()
{
if( isHidden() )
{
show();
activateWindow();
}
else
{
#ifdef WIN32
/* check if any visible window is above vlc in the z-order,
* but ignore the ones always on top */
WINDOWINFO wi;
HWND hwnd;
wi.cbSize = sizeof( WINDOWINFO );
for( hwnd = GetNextWindow( internalWinId(), GW_HWNDPREV );
hwnd && !IsWindowVisible( hwnd );
hwnd = GetNextWindow( hwnd, GW_HWNDPREV ) );
if( !hwnd || !GetWindowInfo( hwnd, &wi ) ||
(wi.dwExStyle&WS_EX_TOPMOST) )
#else
if( isActiveWindow() )
#endif
{
hide();
}
else else
setWindowFlags(windowFlags() & ~Qt::WindowStaysOnTopHint); {
show(); /* necessary to apply window flags?? */ activateWindow();
}
} }
QVLCMenu::updateSystrayMenu( this, p_intf );
} }
void MainInterface::handleSystrayClick(
QSystemTrayIcon::ActivationReason reason )
{
switch( reason )
{
case QSystemTrayIcon::Trigger:
toggleUpdateSystrayMenu();
break;
case QSystemTrayIcon::MiddleClick:
sysTray->showMessage( qtr( "VLC media player" ),
qtr( "Control menu for the player" ),
QSystemTrayIcon::Information, 4000 );
break;
}
}
/**
* Updates the name of the systray Icon tooltip.
* Doesn't check if the systray exists, check before you call it.
* FIXME !!! Fusion with next function ?
**/
void MainInterface::updateSystrayTooltipName( QString name )
{
if( name.isEmpty() )
{
sysTray->setToolTip( qtr( "VLC media player" ) );
}
else
{
sysTray->setToolTip( name );
sysTray->showMessage( qtr( "VLC media player" ), name,
QSystemTrayIcon::NoIcon, 4000 );
}
}
/**
* Updates the status of the systray Icon tooltip.
* Doesn't check if the systray exists, check before you call it.
**/
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;
}
}
}
/************************************************************************ /************************************************************************
* D&D * D&D Events
************************************************************************/ ************************************************************************/
void MainInterface::dropEvent(QDropEvent *event) void MainInterface::dropEvent(QDropEvent *event)
{ {
...@@ -847,8 +871,30 @@ void MainInterface::dragLeaveEvent(QDragLeaveEvent *event) ...@@ -847,8 +871,30 @@ void MainInterface::dragLeaveEvent(QDragLeaveEvent *event)
} }
/************************************************************************ /************************************************************************
* Other stuff * Events stuff
************************************************************************/ ************************************************************************/
void MainInterface::customEvent( QEvent *event )
{
if( event->type() == PLDockEvent_Type )
{
PlaylistDialog::killInstance();
playlistEmbeddedFlag = true;
menuBar()->clear();
QVLCMenu::createMenuBar(this, p_intf, true, isAdvancedVisible(),
visualSelectorEnabled);
togglePlaylist();
}
else if ( event->type() == SetVideoOnTopEvent_Type )
{
SetVideoOnTopQtEvent* p_event = (SetVideoOnTopQtEvent*)event;
if( p_event->OnTop() )
setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint);
else
setWindowFlags(windowFlags() & ~Qt::WindowStaysOnTopHint);
show(); /* necessary to apply window flags?? */
}
}
void MainInterface::keyPressEvent( QKeyEvent *e ) void MainInterface::keyPressEvent( QKeyEvent *e )
{ {
int i_vlck = qtEventToVLCKey( e ); int i_vlck = qtEventToVLCKey( e );
...@@ -868,58 +914,15 @@ void MainInterface::wheelEvent( QWheelEvent *e ) ...@@ -868,58 +914,15 @@ void MainInterface::wheelEvent( QWheelEvent *e )
e->accept(); e->accept();
} }
void MainInterface::setDisplay( float pos, int time, int length )
{
char psz_length[MSTRTIME_MAX_SIZE], psz_time[MSTRTIME_MAX_SIZE];
secstotimestr( psz_length, length );
secstotimestr( psz_time, time );
QString title;
title.sprintf( "%s/%s", psz_time, psz_length );
timeLabel->setText( " "+title+" " );
}
void MainInterface::setName( QString name )
{
input_name = name;
nameLabel->setText( " " + name+" " );
}
void MainInterface::setStatus( int status )
{
controls->setStatus( status );
if( sysTray )
updateSystrayMenu( status );
}
void MainInterface::updateOnTimer()
{
/* \todo Make this event-driven */
// TO MOVE TO controls
advControls->enableInput( THEMIM->getIM()->hasInput() );
controls->enableInput( THEMIM->getIM()->hasInput() );
advControls->enableVideo( THEMIM->getIM()->hasVideo() );
controls->enableVideo( THEMIM->getIM()->hasVideo() );
if( intf_ShouldDie( p_intf ) )
{
QApplication::closeAllWindows();
QApplication::quit();
}
if( need_components_update )
{
doComponentsUpdate();
need_components_update = false;
}
controls->updateOnTimer();
}
void MainInterface::closeEvent( QCloseEvent *e ) void MainInterface::closeEvent( QCloseEvent *e )
{ {
hide(); hide();
vlc_object_kill( p_intf ); vlc_object_kill( p_intf );
} }
/*****************************************************************************
* Callbacks
*****************************************************************************/
static int InteractCallback( vlc_object_t *p_this, static int InteractCallback( vlc_object_t *p_this,
const char *psz_var, vlc_value_t old_val, const char *psz_var, vlc_value_t old_val,
vlc_value_t new_val, void *param ) vlc_value_t new_val, void *param )
......
...@@ -25,7 +25,6 @@ ...@@ -25,7 +25,6 @@
#ifndef _MAIN_INTERFACE_H_ #ifndef _MAIN_INTERFACE_H_
#define _MAIN_INTERFACE_H_ #define _MAIN_INTERFACE_H_
#include "qt4.hpp" #include "qt4.hpp"
#include "util/qvlcframe.hpp" #include "util/qvlcframe.hpp"
...@@ -54,14 +53,16 @@ class MainInterface : public QVLCMW ...@@ -54,14 +53,16 @@ class MainInterface : public QVLCMW
public: public:
MainInterface( intf_thread_t *); MainInterface( intf_thread_t *);
virtual ~MainInterface(); virtual ~MainInterface();
void *requestVideo( vout_thread_t *p_nvout, int *pi_x, void *requestVideo( vout_thread_t *p_nvout, int *pi_x,
int *pi_y, unsigned int *pi_width, int *pi_y, unsigned int *pi_width,
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 );
QSystemTrayIcon *getSysTray() { return sysTray; }; QSystemTrayIcon *getSysTray() { return sysTray; };
QMenu *getSysTrayMenu() { return systrayMenu; }; QMenu *getSysTrayMenu() { return systrayMenu; };
bool isAdvancedVisible();
protected: protected:
void resizeEvent( QResizeEvent * ); void resizeEvent( QResizeEvent * );
void dropEvent( QDropEvent *); void dropEvent( QDropEvent *);
...@@ -69,18 +70,18 @@ protected: ...@@ -69,18 +70,18 @@ protected:
void dragMoveEvent( QDragMoveEvent * ); void dragMoveEvent( QDragMoveEvent * );
void dragLeaveEvent( QDragLeaveEvent * ); void dragLeaveEvent( QDragLeaveEvent * );
void closeEvent( QCloseEvent *); void closeEvent( QCloseEvent *);
//Ui::MainInterfaceUI ui;
friend class VolumeClickHandler; friend class VolumeClickHandler;
private: private:
QSettings *settings; QSettings *settings;
QSize mainSize, addSize; QSize mainSize, addSize;
QSystemTrayIcon *sysTray; QSystemTrayIcon *sysTray;
QMenu *systrayMenu; QMenu *systrayMenu;
QString input_name; QString input_name;
QVBoxLayout *mainLayout; QVBoxLayout *mainLayout;
ControlsWidget *controls; ControlsWidget *controls;
bool need_components_update; bool need_components_update;
void calculateInterfaceSize(); void calculateInterfaceSize();
void handleMainUi( QSettings* ); void handleMainUi( QSettings* );
void handleSystray(); void handleSystray();
...@@ -92,20 +93,17 @@ private: ...@@ -92,20 +93,17 @@ private:
virtual void keyPressEvent( QKeyEvent *); virtual void keyPressEvent( QKeyEvent *);
virtual void wheelEvent( QWheelEvent * ); virtual void wheelEvent( QWheelEvent * );
bool embeddedPlaylistWasActive; bool embeddedPlaylistWasActive;
bool videoIsActive; bool videoIsActive;
QSize savedVideoSize; QSize savedVideoSize;
BackgroundWidget *bgWidget; BackgroundWidget *bgWidget;
VisualSelector *visualSelector; VisualSelector *visualSelector;
AdvControlsWidget *advControls;
PlaylistWidget *playlistWidget; PlaylistWidget *playlistWidget;
bool playlistEmbeddedFlag; bool playlistEmbeddedFlag;
bool videoEmbeddedFlag; bool videoEmbeddedFlag;
bool alwaysVideoFlag; bool alwaysVideoFlag;
bool advControlsEnabled;
bool visualSelectorEnabled; bool visualSelectorEnabled;
InputManager *main_input_manager; InputManager *main_input_manager;
...@@ -119,17 +117,19 @@ private: ...@@ -119,17 +117,19 @@ private:
public slots: public slots:
void undockPlaylist(); void undockPlaylist();
void toggleMenus(); void toggleMenus();
void playlist(); void togglePlaylist();
void toggleUpdateSystrayMenu(); void toggleUpdateSystrayMenu();
void toggleAdvanced();
private slots: private slots:
void updateOnTimer();
void setStatus( int ); void setStatus( int );
void setName( QString ); void setName( QString );
void setVLCWindowsTitle( QString title = "" ); void setVLCWindowsTitle( QString title = "" );
void setDisplay( float, int, int ); void setDisplay( float, int, int );
void updateOnTimer(); #if 0
void visual(); void visual();
void advanced(); #endif
void handleSystrayClick( QSystemTrayIcon::ActivationReason ); void handleSystrayClick( QSystemTrayIcon::ActivationReason );
void updateSystrayMenu( int ); void updateSystrayMenu( int );
void updateSystrayTooltipName( QString ); void updateSystrayTooltipName( QString );
void updateSystrayTooltipStatus( int ); 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