]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/main_interface.cpp
This is an attempt to close '#1716' (zoom has to be clicked twice)
[vlc] / modules / gui / qt4 / main_interface.cpp
index f96deb8c50867601d8b3b845082f17704e108644..10f6bdcbbe088b1fb36f6c0be103302e94af54f8 100644 (file)
@@ -540,7 +540,7 @@ int MainInterface::privacyDialog( QList<ConfigControl *> *controls )
    ask _parent->isFloating()...
    If you think this would be better, please FIXME it...
 */
-#if 0
+
 QSize MainInterface::sizeHint() const
 {
     int nwidth  = controls->sizeHint().width();
@@ -559,20 +559,22 @@ QSize MainInterface::sizeHint() const
     }
     else if( videoIsActive )
     {
-        nheight += videoWidget->size().height();
-        nwidth  = videoWidget->size().width();
+        nheight += videoWidget->sizeHint().height();
+        nwidth  = videoWidget->sizeHint().width();
         msg_Dbg( p_intf, "2 %i %i", nheight, nwidth );
     }
-/*    if( !dockPL->isFloating() && dockPL->isVisible() && dockPL->widget()  )
+#if 0
+    if( !dockPL->isFloating() && dockPL->isVisible() && dockPL->widget()  )
     {
         nheight += dockPL->size().height();
         nwidth = __MAX( nwidth, dockPL->size().width() );
         msg_Dbg( p_intf, "3 %i %i", nheight, nwidth );
-    }*/
+    }
+#endif
     msg_Dbg( p_intf, "4 %i %i", nheight, nwidth );
     return QSize( nwidth, nheight );
 }
-#endif
+
 #if 0
 /* FIXME This is dead code and need to be removed AT THE END */
 void MainInterface::resizeEvent( QResizeEvent *e )
@@ -594,10 +596,19 @@ void MainInterface::resizeEvent( QResizeEvent *e )
 }
 #endif
 
+void MainInterface::toggleFSC()
+{
+   if( !fullscreenControls ) return;
+
+   IMEvent *eShow = new IMEvent( FullscreenControlToggle_Type, 0 );
+   QApplication::postEvent( fullscreenControls, static_cast<QEvent *>(eShow) );
+}
+#if 0
 void MainInterface::requestLayoutUpdate()
 {
     emit askUpdate();
 }
+#endif
 
 //FIXME remove me at the end...
 void MainInterface::debug()
@@ -704,8 +715,8 @@ void MainInterface::releaseVideoSlot( void *p_win )
         bgWidget->show();
     }
 
-    adjustSize();
     videoIsActive = false;
+    if( !isFullScreen() ) adjustSize();
 }
 
 int MainInterface::controlVideo( void *p_window, int i_query, va_list args )
@@ -804,10 +815,16 @@ void MainInterface::toggleMinimalView()
 {
     /* HACK for minimalView, see menus.cpp */
     if( !menuBar()->isVisible() ) QVLCMenu::minimalViewAction->toggle();
+
     if( i_visualmode != QT_ALWAYS_VIDEO_MODE &&
         i_visualmode != QT_MINIMAL_MODE )
-    {
+    { /* NORMAL MODE then */
         if( videoWidget->isHidden() ) emit askBgWidgetToToggle();
+        else
+        {
+            /* If video is visible, then toggle the status of bgWidget */
+            bgWasVisible = !bgWasVisible;      
+        }
     }
 
     TOGGLEV( menuBar() );
@@ -829,7 +846,7 @@ void MainInterface::doComponentsUpdate()
 void MainInterface::toggleAdvanced()
 {
     controls->toggleAdvanced();
-    fullscreenControls->toggleAdvanced();
+    if( fullscreenControls ) fullscreenControls->toggleAdvanced();
 }
 
 /* Get the visibility status of the controls (hidden or not, advanced or not) */
@@ -1227,7 +1244,8 @@ static int IntfShowCB( vlc_object_t *p_this, const char *psz_variable,
                        vlc_value_t old_val, vlc_value_t new_val, void *param )
 {
     intf_thread_t *p_intf = (intf_thread_t *)param;
-    p_intf->p_sys->p_mi->requestLayoutUpdate();
+    p_intf->p_sys->p_mi->toggleFSC();
 
-    return VLC_SUCCESS;
+    /* Show event */
+     return VLC_SUCCESS;
 }