From 669b4e7198611cbc852c01abf697a19b4ccc48ab Mon Sep 17 00:00:00 2001 From: Paul Giblock Date: Fri, 11 Sep 2009 00:07:12 -0400 Subject: [PATCH] Fix bug 2819817: main window scrollbars Fix problem with main-window scrollbars not adjusting when toggling off-screen children. Seems like Qt bug #260116. --- src/gui/MainWindow.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp index 8920feb31..a12e0eded 100644 --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp @@ -1083,17 +1083,25 @@ void MainWindow::help() void MainWindow::toggleWindow( QWidget * _w ) { - if( m_workspace->activeSubWindow() != _w->parentWidget() - || _w->parentWidget()->isHidden() ) + QWidget * parent = _w->parentWidget(); + + if( m_workspace->activeSubWindow() != parent + || parent->isHidden() ) { - _w->parentWidget()->show(); + parent->show(); _w->show(); _w->setFocus(); } else { - _w->parentWidget()->hide(); + parent->hide(); } + + // Workaround for Qt Bug #260116 + m_workspace->setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); + m_workspace->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); + m_workspace->setHorizontalScrollBarPolicy( Qt::ScrollBarAsNeeded ); + m_workspace->setVerticalScrollBarPolicy( Qt::ScrollBarAsNeeded ); }