diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index 1127c84..bdcc751 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -119,6 +119,8 @@ QS60Data* qGlobalS60Data() #ifdef Q_WS_S60 void QS60Data::setStatusPaneAndButtonGroupVisibility(bool statusPaneVisible, bool buttonGroupVisible) { + qDebug() << "QS60Data::setStatusPaneAndButtonGroupVisibility statusPane" << statusPaneVisible << "buttonGroup" << buttonGroupVisible; + bool buttonGroupVisibilityChanged = false; if (CEikButtonGroupContainer *const b = buttonGroupContainer()) { buttonGroupVisibilityChanged = (b->IsVisible() != buttonGroupVisible); @@ -1248,6 +1250,24 @@ void QSymbianControl::FocusChanged(TDrawNow /* aDrawNow */) const bool isFullscreen = qwidget->windowState() & Qt::WindowFullScreen; const bool cbaVisibilityHint = qwidget->windowFlags() & Qt::WindowSoftkeysVisibleHint; const bool buttonGroupVisibility = (visible || (isFullscreen && cbaVisibilityHint)); + + QWidget *window = qwidget->window(); + qDebug() << "QSymbianControl::FocusChanged" << "widget" << (void*)qwidget + << "visible" << visible << "statusPaneVisibility" << statusPaneVisibility << "isFullscreen" << isFullscreen + << "cbaVisibilityHint" << cbaVisibilityHint << "buttonGroupVisibility" << buttonGroupVisibility; + if (window) { + const bool wvisible = !(window->windowState() & (Qt::WindowFullScreen | Qt::WindowMinimized)); + const bool wstatusPaneVisibility = wvisible; + const bool wisFullscreen = window->windowState() & Qt::WindowFullScreen; + const bool wcbaVisibilityHint = window->windowFlags() & Qt::WindowSoftkeysVisibleHint; + const bool wbuttonGroupVisibility = (wvisible || (wisFullscreen && wcbaVisibilityHint)); + qDebug() << "QSymbianControl::FocusChanged" << "window" << (void*)window + << "visible" << wvisible << "statusPaneVisibility" << wstatusPaneVisibility << "isFullscreen" << wisFullscreen + << "cbaVisibilityHint" << wcbaVisibilityHint << "buttonGroupVisibility" << wbuttonGroupVisibility; + } else { + qDebug() << "QSymbianControl::FocusChanged" << "window" << (void*)window; + } + S60->setStatusPaneAndButtonGroupVisibility(statusPaneVisibility, buttonGroupVisibility); #endif } else if (QApplication::activeWindow() == qwidget->window()) {