diff options
author | Sami Merila <sami.merila@nokia.com> | 2011-05-13 12:38:23 (GMT) |
---|---|---|
committer | Sami Merila <sami.merila@nokia.com> | 2011-05-13 12:38:23 (GMT) |
commit | 90109341466e4ed4344ad37d23bdf947fafa16bc (patch) | |
tree | 9fb5b286df46cb4139abfccd8ae28ed2b3ece8c5 | |
parent | 1f292c52cb09444bad4a888df20971c61a4e72a2 (diff) | |
parent | dabc653c47c3fcdbbe9e59b8e55306bc0a4d8006 (diff) | |
download | Qt-90109341466e4ed4344ad37d23bdf947fafa16bc.zip Qt-90109341466e4ed4344ad37d23bdf947fafa16bc.tar.gz Qt-90109341466e4ed4344ad37d23bdf947fafa16bc.tar.bz2 |
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into 4.7
-rw-r--r-- | src/gui/kernel/qsoftkeymanager_s60.cpp | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/src/gui/kernel/qsoftkeymanager_s60.cpp b/src/gui/kernel/qsoftkeymanager_s60.cpp index 79ed91a..0d64d8a 100644 --- a/src/gui/kernel/qsoftkeymanager_s60.cpp +++ b/src/gui/kernel/qsoftkeymanager_s60.cpp @@ -176,22 +176,27 @@ void QSoftKeyManagerPrivateS60::setNativeSoftkey(CEikButtonGroupContainer &cba, QPoint QSoftKeyManagerPrivateS60::softkeyIconPosition(int position, QSize sourceSize, QSize targetSize) { QPoint iconPosition(0,0); - switch( AknLayoutUtils::CbaLocation() ) - { - case AknLayoutUtils::EAknCbaLocationBottom: - // RSK must be moved to right, LSK in on correct position by default - if (position == RSK_POSITION) - iconPosition.setX(targetSize.width() - sourceSize.width()); - break; - case AknLayoutUtils::EAknCbaLocationRight: - case AknLayoutUtils::EAknCbaLocationLeft: - // Already in correct position - default: - break; - } - // Align horizontally to center - iconPosition.setY((targetSize.height() - sourceSize.height()) >> 1); + // Prior to S60 5.3 icons need to be properly positioned to buttons, but starting with 5.3 + // positioning is done on Avkon side. + if (QSysInfo::s60Version() < QSysInfo::SV_S60_5_3) { + switch (AknLayoutUtils::CbaLocation()) + { + case AknLayoutUtils::EAknCbaLocationBottom: + // RSK must be moved to right, LSK in on correct position by default + if (position == RSK_POSITION) + iconPosition.setX(targetSize.width() - sourceSize.width()); + break; + case AknLayoutUtils::EAknCbaLocationRight: + case AknLayoutUtils::EAknCbaLocationLeft: + // Already in correct position + default: + break; + } + + // Align horizontally to center + iconPosition.setY((targetSize.height() - sourceSize.height()) >> 1); + } return iconPosition; } |