summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSami Merila <sami.merila@nokia.com>2011-01-26 07:05:19 (GMT)
committerSami Merila <sami.merila@nokia.com>2011-01-26 07:14:15 (GMT)
commit54313b3ba81c276cf06c40c2420b1ff1f30e64c3 (patch)
tree2322d0a92c852d9b7ad2f385faea286a0d3ca3e2
parent26fe073919738215cbe58a1115188a124a1124de (diff)
downloadQt-54313b3ba81c276cf06c40c2420b1ff1f30e64c3.zip
Qt-54313b3ba81c276cf06c40c2420b1ff1f30e64c3.tar.gz
Qt-54313b3ba81c276cf06c40c2420b1ff1f30e64c3.tar.bz2
Application background is incorrect if app locked to landscape.
If application orientation has been locked to landscape and application is started out while device orientation is portrait, QS60Style draws the QPalette::background like device would be in landscape. Style is incorrectly following device orientation, when it should follow application orientation. As a fix, style follows now application orientation. As a bonus, unnecessary fullscreen QPixmap creation is avoided when rotating the device. Task-number: QTBUG-16816 Reviewed-by: Jani Hautakangas
-rw-r--r--src/gui/styles/qs60style_s60.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/gui/styles/qs60style_s60.cpp b/src/gui/styles/qs60style_s60.cpp
index 04c40aa..605872e 100644
--- a/src/gui/styles/qs60style_s60.cpp
+++ b/src/gui/styles/qs60style_s60.cpp
@@ -1378,12 +1378,13 @@ QPixmap QS60StylePrivate::frame(SkinFrameElements frame, const QSize &size, Skin
QPixmap QS60StylePrivate::backgroundTexture()
{
bool createNewBackground = false;
+ TRect applicationRect = (static_cast<CEikAppUi*>(S60->appUi())->ApplicationRect());
if (!m_background) {
createNewBackground = true;
} else {
//if background brush does not match screensize, re-create it
- if (m_background->width() != S60->screenWidthInPixels ||
- m_background->height() != S60->screenHeightInPixels) {
+ if (m_background->width() != applicationRect.Width() ||
+ m_background->height() != applicationRect.Height()) {
delete m_background;
createNewBackground = true;
}
@@ -1391,7 +1392,7 @@ QPixmap QS60StylePrivate::backgroundTexture()
if (createNewBackground) {
QPixmap background = part(QS60StyleEnums::SP_QsnBgScreen,
- QSize(S60->screenWidthInPixels, S60->screenHeightInPixels), 0, SkinElementFlags());
+ QSize(applicationRect.Width(), applicationRect.Height()), 0, SkinElementFlags());
m_background = new QPixmap(background);
}
return *m_background;
@@ -1411,7 +1412,6 @@ QS60Style::QS60Style()
void QS60StylePrivate::handleDynamicLayoutVariantSwitch()
{
clearCaches(QS60StylePrivate::CC_LayoutChange);
- setBackgroundTexture(qApp);
setActiveLayout();
refreshUI();
foreach (QWidget *widget, QApplication::allWidgets())