# HG changeset patch # User Eckhart Koeppen # Date 1271841323 -10800 # Node ID cc75c76972ee665bf35880cdf10553271bd1b7dc # Parent 25a739ee40f410174205629ed39f3b5027871be2 a69086a7359b3de9db0823ce58d9aab8b5c369be diff -r 25a739ee40f4 -r cc75c76972ee VERSION.SHA1 --- a/VERSION.SHA1 Wed Apr 21 11:15:19 2010 +0300 +++ b/VERSION.SHA1 Wed Apr 21 12:15:23 2010 +0300 @@ -1,1 +1,1 @@ -3a438a6e0b41f1ef657ef0e648d352db636204aa +a69086a7359b3de9db0823ce58d9aab8b5c369be diff -r 25a739ee40f4 -r cc75c76972ee src/gui/kernel/qapplication_s60.cpp --- a/src/gui/kernel/qapplication_s60.cpp Wed Apr 21 11:15:19 2010 +0300 +++ b/src/gui/kernel/qapplication_s60.cpp Wed Apr 21 12:15:23 2010 +0300 @@ -73,7 +73,6 @@ # endif # include # include -# include "qs60mainappui.h" #endif #include "private/qstylesheetstyle_p.h" @@ -535,14 +534,6 @@ sendMouseEvent(receiver, type, globalPos, button, modifiers); } -#ifdef Q_WS_S60 -void QSymbianControl::HandleStatusPaneSizeChange() -{ - QS60MainAppUi *s60AppUi = static_cast(S60->appUi()); - s60AppUi->HandleStatusPaneSizeChange(); -} -#endif - void QSymbianControl::sendMouseEvent( QWidget *receiver, QEvent::Type type, diff -r 25a739ee40f4 -r cc75c76972ee src/gui/kernel/qsoftkeymanager_s60.cpp --- a/src/gui/kernel/qsoftkeymanager_s60.cpp Wed Apr 21 11:15:19 2010 +0300 +++ b/src/gui/kernel/qsoftkeymanager_s60.cpp Wed Apr 21 12:15:23 2010 +0300 @@ -78,8 +78,6 @@ // Note: Cannot use IsDisplayingMenuOrDialog since CBA update can be triggered before // menu/dialog CBA is actually displayed i.e. it is being costructed. CEikButtonGroupContainer *appUiCba = S60->buttonGroupContainer(); - if (!appUiCba) - return true; // CEikButtonGroupContainer::Current returns 0 if CBA is not visible at all CEikButtonGroupContainer *currentCba = CEikButtonGroupContainer::Current(); // Check if softkey need to be update even they are not visible diff -r 25a739ee40f4 -r cc75c76972ee src/gui/kernel/qt_s60_p.h --- a/src/gui/kernel/qt_s60_p.h Wed Apr 21 11:15:19 2010 +0300 +++ b/src/gui/kernel/qt_s60_p.h Wed Apr 21 12:15:23 2010 +0300 @@ -154,7 +154,7 @@ class QSymbianControl : public CCoeControl, public QAbstractLongTapObserver #ifdef Q_WS_S60 -, public MAknFadedComponent, public MEikStatusPaneObserver +, public MAknFadedComponent #endif { public: @@ -182,7 +182,6 @@ #ifdef Q_WS_S60 void FadeBehindPopup(bool fade){ popupFader.FadeBehindPopup( this, this, fade); } - void HandleStatusPaneSizeChange(); protected: // from MAknFadedComponent TInt CountFadedComponents() {return 1;} diff -r 25a739ee40f4 -r cc75c76972ee src/gui/kernel/qwidget_s60.cpp --- a/src/gui/kernel/qwidget_s60.cpp Wed Apr 21 11:15:19 2010 +0300 +++ b/src/gui/kernel/qwidget_s60.cpp Wed Apr 21 12:15:23 2010 +0300 @@ -479,47 +479,6 @@ QSymbianControl *id = static_cast(q->internalWinId()); -#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; - bool cbaRequested = q->windowFlags() & Qt::WindowSoftkeysVisibleHint; - - // If the window is fullscreen and has not explicitly requested that the CBA be visible - // we delay the creation even more. - if ((!isFullscreen || cbaRequested) && !q->testAttribute(Qt::WA_DontShowOnScreen)) { - - // Create the status pane and CBA here - CEikAppUi *ui = static_cast(S60->appUi()); - MEikAppUiFactory *factory = CEikonEnv::Static()->AppUiFactory(); - TRAP_IGNORE(factory->ReadAppInfoResourceL(0, ui)); - if (S60->buttonGroupContainer()) - S60->buttonGroupContainer()->SetCommandSetL(R_AVKON_SOFTKEYS_EMPTY_WITH_IDS); - - if (S60->statusPane()) { - // Use QDesktopWidget as the status pane observer to proxy for the AppUi. - // Can't use AppUi directly because it privately inherits from MEikStatusPaneObserver. - QSymbianControl *desktopControl = static_cast(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) { - S60->statusPane()->MakeVisible(false); - } else if (q->windowState() & Qt::WindowMaximized) { - TRect r = static_cast(S60->appUi())->ClientRect(); - id->SetExtent(r.iTl, r.Size()); - } else if (!q->testAttribute(Qt::WA_Moved)) { - id->SetPosition(static_cast(S60->appUi())->ClientRect().iTl); - } - } - } - } -#endif - id->MakeVisible(true); if(q->isWindow()) diff -r 25a739ee40f4 -r cc75c76972ee src/gui/s60framework/qs60mainappui.cpp --- a/src/gui/s60framework/qs60mainappui.cpp Wed Apr 21 11:15:19 2010 +0300 +++ b/src/gui/s60framework/qs60mainappui.cpp Wed Apr 21 12:15:23 2010 +0300 @@ -112,10 +112,16 @@ // ENoAppResourceFile and ENonStandardResourceFile makes UI to work without // resource files in most SDKs. S60 3rd FP1 public seems to require resource file // even these flags are defined - TInt flags = CAknAppUi::EAknEnableSkin - | CAknAppUi::ENoScreenFurniture - | CAknAppUi::ENonStandardResourceFile; + TInt flags = CAknAppUi::EAknEnableSkin; + if (QApplication::testAttribute(Qt::AA_S60DontConstructApplicationPanes)) { + flags |= CAknAppUi::ENoScreenFurniture | CAknAppUi::ENonStandardResourceFile; + } BaseConstructL(flags); + + if (!QApplication::testAttribute(Qt::AA_S60DontConstructApplicationPanes)) { + CEikButtonGroupContainer* nativeContainer = Cba(); + nativeContainer->SetCommandSetL(R_AVKON_SOFTKEYS_EMPTY_WITH_IDS); + } } /*!