[vlc-devel] commit: Qt: use a single state variable and debug (Jean-Baptiste Kempf )
git version control
git at videolan.org
Fri Dec 4 07:21:45 CET 2009
vlc | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Wed Oct 14 22:00:29 2009 +0200| [fae58566793322c51ab7333fb0c76d030430eef1] | committer: Jean-Baptiste Kempf
Qt: use a single state variable and debug
This also fixes the non returning to the correct size because of too high minimumSize();
Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=fae58566793322c51ab7333fb0c76d030430eef1
---
modules/gui/qt4/main_interface.cpp | 68 ++++++++++++++++-------------------
modules/gui/qt4/main_interface.hpp | 18 ++++++----
2 files changed, 42 insertions(+), 44 deletions(-)
diff --git a/modules/gui/qt4/main_interface.cpp b/modules/gui/qt4/main_interface.cpp
index badfbe2..9b81ff1 100644
--- a/modules/gui/qt4/main_interface.cpp
+++ b/modules/gui/qt4/main_interface.cpp
@@ -86,7 +86,6 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
#ifndef HAVE_MAEMO
sysTray = NULL;
#endif
- videoIsActive = false;
playlistVisible = false;
input_name = "";
fullscreenControls = NULL;
@@ -95,7 +94,7 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
inputC = NULL;
b_shouldHide = false;
- bgWasVisible = false;
+ stackCentralOldState = HIDDEN_TAB;
i_bg_height = 0;
/* Ask for privacy */
@@ -294,7 +293,6 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
updateGeometry();
resize( sizeHint() );
-
#ifdef WIN32
createTaskBarButtons();
#endif
@@ -305,7 +303,7 @@ MainInterface::~MainInterface()
msg_Dbg( p_intf, "Destroying the main interface" );
/* Unsure we hide the videoWidget before destroying it */
- if( videoIsActive )
+ if( stackCentralOldState == VIDEO_TAB )
{
showBg();
}
@@ -389,19 +387,12 @@ void MainInterface::createMainWidget( QSettings *settings )
/* Margins, spacing */
main->setContentsMargins( 0, 0, 0, 0 );
-// main->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Maximum );
mainLayout->setSpacing( 0 );
mainLayout->setMargin( 0 );
- /* Visualisation */
- /* Disabled for now, they SUCK */
- #if 0
- visualSelector = new VisualSelector( p_intf );
- mainLayout->insertWidget( 0, visualSelector );
- visualSelector->hide();
- #endif
-
+ /* */
stackCentralW = new QStackedWidget( main );
+
/* Bg Cone */
bgWidget = new BackgroundWidget( p_intf );
bgWidget->resize(
@@ -422,7 +413,6 @@ void MainInterface::createMainWidget( QSettings *settings )
stackCentralW->insertWidget( VIDEO_TAB, videoWidget );
}
mainLayout->insertWidget( 1, stackCentralW, 100 );
-
/* Create the CONTROLS Widget */
controls = new ControlsWidget( p_intf,
settings->value( "adv-controls", false ).toBool(), this );
@@ -437,6 +427,14 @@ void MainInterface::createMainWidget( QSettings *settings )
mainLayout->insertWidget( settings->value( "ToolbarPos", 0 ).toInt() ? 0: 3,
controls );
+ /* Visualisation */
+ /* Disabled for now, they SUCK */
+ #if 0
+ visualSelector = new VisualSelector( p_intf );
+ mainLayout->insertWidget( 0, visualSelector );
+ visualSelector->hide();
+ #endif
+
/* Finish the sizing */
main->updateGeometry();
@@ -780,13 +778,14 @@ void MainInterface::doComponentsUpdate()
msg_Err( p_intf, "Updating the geometry" );
/* Here we resize to sizeHint() and not adjustsize because we want
the videoWidget to be exactly the correctSize */
- //mainLayout->invalidate();
-// setMinimumSize( 0, 0 );
+
#if 1
debug();
#endif
-
+ /* This is WRONG */
+ setMinimumSize( 0, 0 );
resize( sizeHint() );
+
//adjustSize() ;
}
@@ -798,6 +797,9 @@ void MainInterface::debug()
else
msg_Dbg( p_intf, "CentralStack inVisible" );
//msg_Dbg( p_intf, "Stack Size: %i - %i", stackCentralW->sizeHint().height(), stackCentralW->sizeHint().width() );
+ msg_Dbg( p_intf, "Stack Size: %i - %i", stackCentralW->size().height(), size().width() );
+ msg_Dbg( p_intf, "Stack Size: %i - %i", stackCentralW->widget( VIDEO_TAB )->size().height(), stackCentralW->widget( VIDEO_TAB )->size().width() );
+
msg_Dbg( p_intf, "size: %i - %i", size().height(), size().width() );
msg_Dbg( p_intf, "sizeHint: %i - %i", sizeHint().height(), sizeHint().width() );
//msg_Dbg( p_intf, "maximumsize: %i - %i", maximumSize().height(), maximumSize().width() );
@@ -890,21 +892,10 @@ void MainInterface::getVideoSlot( WId *p_id, int *pi_x, int *pi_y,
*p_id = ret;
if( ret ) /* The videoWidget is available */
{
- /* Did we have a bg ? Hide it! */
- if( stackCentralW->isVisible() &&
- stackCentralW->currentIndex() == BACKG_TAB )
- {
- showBg();
- bgWasVisible = true;
- }
- else
- bgWasVisible = false;
-
/* ask videoWidget to show */
videoWidget->SetSizing( *pi_width, *pi_height );
/* Consider the video active now */
- videoIsActive = true;
showVideo();
stackCentralW->resize( *pi_width, *pi_height );
@@ -915,6 +906,8 @@ void MainInterface::getVideoSlot( WId *p_id, int *pi_x, int *pi_y,
inline void MainInterface::showTab( int i_tab )
{
+ stackCentralOldState = stackCentralW->currentIndex();
+
stackCentralW->setCurrentIndex( i_tab );
if( stackCentralW->isHidden() ) stackCentralW->show();
}
@@ -930,19 +923,17 @@ void MainInterface::releaseVideoSlot( void )
{
videoWidget->release( );
- if( bgWasVisible )
+ /* Restore the previous State */
+ if( stackCentralOldState == BACKG_TAB )
{
- /* Reset the bg state */
- bgWasVisible = false;
showBg();
}
- else {
+ else
+ {
stackCentralW->hide();
- stackCentralW->setMinimumSize(QSize(0, 0));
+ stackCentralOldState == -1;
}
- videoIsActive = false;
-
/* Try to resize, except when you are in Fullscreen mode */
doComponentsUpdate();
}
@@ -1056,8 +1047,11 @@ void MainInterface::toggleMinimalView( bool b_switch )
}
else
{
- /* If video is visible, then toggle the status of bgWidget */
- bgWasVisible = !bgWasVisible;
+ /* If video is visible, then toggle the status of bgWidget */ //bgWasVisible = !bgWasVisible;
+ if( stackCentralOldState == BACKG_TAB )
+ stackCentralOldState = HIDDEN_TAB;
+ else
+ stackCentralOldState = BACKG_TAB;
}
}
diff --git a/modules/gui/qt4/main_interface.hpp b/modules/gui/qt4/main_interface.hpp
index 4a53a89..e1bac32 100644
--- a/modules/gui/qt4/main_interface.hpp
+++ b/modules/gui/qt4/main_interface.hpp
@@ -60,11 +60,7 @@ enum {
CONTROLS_HIDDEN = 0x2,
CONTROLS_ADVANCED = 0x4,
};
-enum {
- BACKG_TAB,
- VIDEO_TAB,
- PLAYL_TAB,
-};
+
typedef enum pl_dock_e {
PL_UNDOCKED,
@@ -151,12 +147,20 @@ private:
QLabel *cryptedLabel;
/* Status and flags */
- bool videoIsActive; ///< Having a video now / THEMIM->hasV
+ enum {
+ HIDDEN_TAB = -1,
+ BACKG_TAB = 0,
+ VIDEO_TAB,
+ PLAYL_TAB,
+ };
+ int stackCentralOldState;
+
+// bool videoIsActive; ///< Having a video now / THEMIM->hasV
bool videoEmbeddedFlag; ///< Want an external Video Window
bool playlistVisible; ///< Is the playlist visible ?
bool visualSelectorEnabled;
bool notificationEnabled; /// Systray Notifications
- bool bgWasVisible;
+
bool b_keep_size; ///< persistent resizeable window
QSize mainBasedSize; ///< based Wnd (normal mode only)
QSize mainVideoSize; ///< Wnd with video (all modes)
More information about the vlc-devel
mailing list