X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fgui%2Fqt4%2Fmain_interface.cpp;h=1a2384273a2562680d03e293574ffb8355fa66ec;hb=0b192b63d05cddfbb291c98c20852d36272a4de3;hp=5692d92f78aa902f459565f0c6d21c921568d267;hpb=ae059a3c9775c987ddd78b0319c6721a836f1319;p=vlc diff --git a/modules/gui/qt4/main_interface.cpp b/modules/gui/qt4/main_interface.cpp index 5692d92f78..1a2384273a 100644 --- a/modules/gui/qt4/main_interface.cpp +++ b/modules/gui/qt4/main_interface.cpp @@ -81,13 +81,14 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf ) { /* Variables initialisation */ // need_components_update = false; - bgWidget = NULL; - videoWidget = NULL; - playlistWidget = NULL; - sysTray = NULL; - videoIsActive = false; - playlistVisible = false; - input_name = ""; + bgWidget = NULL; + videoWidget = NULL; + playlistWidget = NULL; + sysTray = NULL; + videoIsActive = false; + playlistVisible = false; + input_name = ""; + fullscreenControls = NULL; /* Ask for privacy */ askForPrivacy(); @@ -222,16 +223,6 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf ) CONNECT( this, askUpdate(), this, doComponentsUpdate() ); - CONNECT( controls, advancedControlsToggled( bool ), - this, doComponentsUpdate() ); - - CONNECT( fullscreenControls, advancedControlsToggled( bool ), - this, doComponentsUpdate() ); - - CONNECT( THEMIM->getIM(), inputUnset(), - fullscreenControls, unregFullscreenCallback() ); - - /* Size and placement of interface */ QVLCTools::restoreWidgetPosition(settings,this,QSize(350,60)); @@ -387,16 +378,22 @@ void MainInterface::handleMainUi( QSettings *settings ) mainLayout->setMargin( 0 ); /* 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, this, settings->value( "adv-controls", false ).toBool(), - config_GetInt( p_intf, "qt-blingbling" ) ); + b_shiny ); + CONNECT( controls, advancedControlsToggled( bool ), + this, doComponentsUpdate() ); /* Create the FULLSCREEN CONTROLS Widget */ - /* bool b_shiny = config_GetInt( p_intf, "qt-blingbling" ); */ - fullscreenControls = new FullscreenControllerWidget( p_intf, this, - settings->value( "adv-controls", false ).toBool(), - config_GetInt( p_intf, "qt-blingbling" ) ); + if( config_GetInt( p_intf, "qt-fs-controller" ) ) + { + fullscreenControls = new FullscreenControllerWidget( p_intf, this, + settings->value( "adv-controls", false ).toBool(), + b_shiny ); + CONNECT( fullscreenControls, advancedControlsToggled( bool ), + this, doComponentsUpdate() ); + } /* Add the controls Widget to the main Widget */ mainLayout->insertWidget( 0, controls, 0, Qt::AlignBottom ); @@ -682,12 +679,15 @@ void *MainInterface::requestVideo( vout_thread_t *p_nvout, int *pi_x, // emit askVideoToResize( *pi_width, *pi_height ); emit askUpdate(); + + if( fullscreenControls ) fullscreenControls->attachVout( p_nvout ); } return ret; } void MainInterface::releaseVideo( vout_thread_t *p_vout, void *p_win ) { + if( fullscreenControls ) fullscreenControls->detachVout( p_vout ); emit askReleaseVideo( p_win ); } @@ -797,6 +797,8 @@ void MainInterface::undockPlaylist() void MainInterface::toggleMinimalView() { + /* HACK for minimalView, see menus.cpp */ + if( !menuBar()->isVisible() ) QVLCMenu::minimalViewAction->toggle(); TOGGLEV( menuBar() ); TOGGLEV( controls ); TOGGLEV( statusBar() ); @@ -883,12 +885,17 @@ void MainInterface::setName( QString name ) void MainInterface::setStatus( int status ) { msg_Dbg( p_intf, "I was here, updating your status" ); + /* Forward the status to the controls to toggle Play/Pause */ controls->setStatus( status ); - fullscreenControls->setStatus( status ); - controls->updateInput(); - fullscreenControls->updateInput(); + + if( fullscreenControls ) + { + fullscreenControls->setStatus( status ); + fullscreenControls->updateInput(); + } + speedControl->setEnable( THEMIM->getIM()->hasInput() ); /* And in the systray for the menu */