summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2011-12-02 12:59:44 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2011-12-02 12:59:44 (GMT)
commit235e4fb7316cfe65605c3a035cf3a4f0d167335c (patch)
treee628e11b5806294492bf8aef62b9eaeef83dd421
parent62b02e0ad19bcef3487467f828d05c59151550b6 (diff)
parent1c9d051399c683bf89dfd1bca54bc3c48d534087 (diff)
downloadQt-235e4fb7316cfe65605c3a035cf3a4f0d167335c.zip
Qt-235e4fb7316cfe65605c3a035cf3a4f0d167335c.tar.gz
Qt-235e4fb7316cfe65605c3a035cf3a4f0d167335c.tar.bz2
Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qt-symbian-team
* 'master' of git://scm.dev.nokia.troll.no/qt/qt-symbian-team: Correct client rect calculation for MCL
-rw-r--r--src/gui/kernel/qapplication_s60.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp
index c94d66d..587c0f2 100644
--- a/src/gui/kernel/qapplication_s60.cpp
+++ b/src/gui/kernel/qapplication_s60.cpp
@@ -273,19 +273,16 @@ void QS60Data::controlVisibilityChanged(CCoeControl *control, bool visible)
TRect QS60Data::clientRect()
{
TRect r = static_cast<CEikAppUi*>(S60->appUi())->ClientRect();
- if (S60->partialKeyboardOpen) {
- // Adjust client rect when splitview is open, since for some curious reason
- // native side insists that clientRect starts from (0,0) even though status
- // pane might be visible.
+ if (S60->partialKeyboardOpen && !QApplication::testAttribute(Qt::AA_S60DontConstructApplicationPanes)) {
+ // Adjust client rect when splitview is open
+ // We want it to take the client rect space as if the splitview keyboard was not there
TRect statusPaneRect;
TRect mainRect;
AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EStatusPane, statusPaneRect);
AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, mainRect);
int clientAreaHeight = mainRect.Height();
CEikStatusPane *const s = S60->statusPane();
- if (s && s->IsVisible())
- r.Move(0, statusPaneRect.Height());
- else
+ if (!(s && s->IsVisible()))
clientAreaHeight += statusPaneRect.Height();
r.SetHeight(clientAreaHeight);
}