diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-08-19 21:24:56 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-08-19 21:24:56 (GMT) |
commit | 79676e873a75255d6cbc07de5392429a33cec46f (patch) | |
tree | f0e17894887f56a594d5bd041b19327baa2280e3 /src | |
parent | a1014603b66ef5c15cab043333ed63eaaf3c646e (diff) | |
parent | a957ed92a61d9311ed163dba15f2b6f8d30bf03c (diff) | |
download | Qt-79676e873a75255d6cbc07de5392429a33cec46f.zip Qt-79676e873a75255d6cbc07de5392429a33cec46f.tar.gz Qt-79676e873a75255d6cbc07de5392429a33cec46f.tar.bz2 |
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public:
Ensure geometry of top-level widget accounts for S60 screen furniture
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/kernel/qwidget_s60.cpp | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp index 319f330..7ab9fbc 100644 --- a/src/gui/kernel/qwidget_s60.cpp +++ b/src/gui/kernel/qwidget_s60.cpp @@ -482,14 +482,13 @@ void QWidgetPrivate::show_sys() activateSymbianWindow(); QSymbianControl *id = static_cast<QSymbianControl *>(q->internalWinId()); + const bool isFullscreen = q->windowState() & Qt::WindowFullScreen; #ifdef Q_WS_S60 // Lazily initialize the S60 screen furniture when the first window is shown. if (!QApplication::testAttribute(Qt::AA_S60DontConstructApplicationPanes) && !S60->buttonGroupContainer() && !S60->statusPane()) { - bool isFullscreen = q->windowState() & Qt::WindowFullScreen; - if (!q->testAttribute(Qt::WA_DontShowOnScreen)) { // Create the status pane and CBA here @@ -504,23 +503,24 @@ void QWidgetPrivate::show_sys() // Can't use AppUi directly because it privately inherits from MEikStatusPaneObserver. QSymbianControl *desktopControl = static_cast<QSymbianControl *>(QApplication::desktop()->winId()); S60->statusPane()->SetObserver(desktopControl); - - // Hide the status pane if fullscreen OR - // Fill client area if maximized OR - // Put window below status pane unless the window has an explicit position. - if (isFullscreen) { + if (isFullscreen) S60->statusPane()->MakeVisible(false); - } else if (q->windowState() & Qt::WindowMaximized) { - TRect r = static_cast<CEikAppUi*>(S60->appUi())->ClientRect(); - id->SetExtent(r.iTl, r.Size()); - } else if (!q->testAttribute(Qt::WA_Moved)) { - id->SetPosition(static_cast<CEikAppUi*>(S60->appUi())->ClientRect().iTl); - } } } } #endif + // Fill client area if maximized OR + // Put window below status pane unless the window has an explicit position. + if (!isFullscreen) { + if (q->windowState() & Qt::WindowMaximized) { + TRect r = static_cast<CEikAppUi*>(S60->appUi())->ClientRect(); + id->SetExtent(r.iTl, r.Size()); + } else if (!q->testAttribute(Qt::WA_Moved)) { + id->SetPosition(static_cast<CEikAppUi*>(S60->appUi())->ClientRect().iTl); + } + } + id->MakeVisible(true); if(q->isWindow()) |