diff options
author | Sami Merilä <sami.merila@nokia.com> | 2009-10-21 09:09:39 (GMT) |
---|---|---|
committer | Sami Merilä <sami.merila@nokia.com> | 2009-10-21 09:09:39 (GMT) |
commit | 4b678fe08ec8de5a34d8b2ec2d9ec44276424636 (patch) | |
tree | ca4676d81d97acc67532031d18d1f52497cbbf92 /src/gui/styles/qs60style_s60.cpp | |
parent | a6af1538ea53408399fb29870a4ef16a92c7893a (diff) | |
download | Qt-4b678fe08ec8de5a34d8b2ec2d9ec44276424636.zip Qt-4b678fe08ec8de5a34d8b2ec2d9ec44276424636.tar.gz Qt-4b678fe08ec8de5a34d8b2ec2d9ec44276424636.tar.bz2 |
S60Style's tab widget is too small for touch use
TabWidget for S60Style is too small for touch use, it is rather hard to
accurately touch the tabpane to switch the active tab.
To fix this, we ask the native tabpane height from AVKON and set the
QTabWiget's pane height to native height (or bigger).
Task-number: QTBUG-4243
Reviewed-by: Alessandro Portale
Diffstat (limited to 'src/gui/styles/qs60style_s60.cpp')
-rw-r--r-- | src/gui/styles/qs60style_s60.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/gui/styles/qs60style_s60.cpp b/src/gui/styles/qs60style_s60.cpp index d760016..9765066 100644 --- a/src/gui/styles/qs60style_s60.cpp +++ b/src/gui/styles/qs60style_s60.cpp @@ -61,6 +61,7 @@ #include <AknFontAccess.h> #include <AknLayoutFont.h> #include <aknutils.h> +#include <aknnavi.h> #if !defined(QT_NO_STYLE_S60) || defined(QT_PLUGIN) @@ -104,6 +105,7 @@ public: static bool disabledPartGraphic(QS60StyleEnums::SkinParts &part); static bool disabledFrameGraphic(QS60StylePrivate::SkinFrameElements &frame); static QPixmap generateMissingThemeGraphic(QS60StyleEnums::SkinParts &part, const QSize &size, QS60StylePrivate::SkinElementFlags flags); + static QSize naviPaneSize(); private: static QPixmap createSkinnedGraphicsLX(QS60StyleEnums::SkinParts part, @@ -1388,6 +1390,24 @@ void QS60StylePrivate::handleSkinChange() topLevelWidget->ensurePolished(); } } + +QSize QS60StylePrivate::naviPaneSize() +{ + return QS60StyleModeSpecifics::naviPaneSize(); +} + +QSize QS60StyleModeSpecifics::naviPaneSize() +{ + CAknNavigationControlContainer* naviContainer; + if (S60->statusPane()) + naviContainer = static_cast<CAknNavigationControlContainer*> + (S60->statusPane()->ControlL(TUid::Uid(EEikStatusPaneUidNavi))); + if (naviContainer) + return QSize(naviContainer->Size().iWidth, naviContainer->Size().iHeight); + else + return QSize(0,0); +} + #endif // Q_WS_S60 QT_END_NAMESPACE |