From: RĂ©mi Denis-Courmont Date: Sun, 4 Oct 2009 16:53:36 +0000 (+0300) Subject: Qt4: re-center FSC if the target screen has changed X-Git-Tag: 1.1.0-ff~3038 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=480850513b4c3ce3e9919cc8cb564a76cffab022;p=vlc Qt4: re-center FSC if the target screen has changed This avoids getting a totally misplaced controller if the resolution is larger than in previous runs, or if the multi-screen layout was changed. --- diff --git a/modules/gui/qt4/components/controller.cpp b/modules/gui/qt4/components/controller.cpp index 2c6af5ea4e..8cdebf5fb7 100644 --- a/modules/gui/qt4/components/controller.cpp +++ b/modules/gui/qt4/components/controller.cpp @@ -710,11 +710,14 @@ FullscreenControllerWidget::FullscreenControllerWidget( intf_thread_t *_p_i, QWi this, setVoutList( vout_thread_t **, int ) ); /* First Move */ + QRect rect1 = getSettings()->value( "FullScreen/screen" ).toRect(); QPoint pos1 = getSettings()->value( "FullScreen/pos" ).toPoint(); int number = config_GetInt( p_intf, "qt-fullscreen-screennumber" ); if( number == -1 || number > QApplication::desktop()->numScreens() ) number = QApplication::desktop()->screenNumber( p_intf->p_sys->p_mi ); - if( QApplication::desktop()->screenGeometry( number ).contains( pos1, true ) ) + + QRect rect = QApplication::desktop()->screenGeometry( number ); + if( rect == rect1 && rect.contains( pos1, true ) ) { move( pos1 ); i_screennumber = number; @@ -729,7 +732,11 @@ FullscreenControllerWidget::FullscreenControllerWidget( intf_thread_t *_p_i, QWi FullscreenControllerWidget::~FullscreenControllerWidget() { - getSettings()->setValue( "FullScreen/pos", pos() ); + QPoint pos1 = pos(); + QRect rect1 = QApplication::desktop()->screenGeometry( pos1 ); + getSettings()->setValue( "FullScreen/pos", pos1 ); + getSettings()->setValue( "FullScreen/screen", rect1 ); + setVoutList( NULL, 0 ); vlc_mutex_destroy( &lock ); }