From 9a414baa2137bf27f1db316152394ae15578cc9e Mon Sep 17 00:00:00 2001 From: eshe Date: Tue, 20 Jul 2010 20:12:01 +0100 Subject: [PATCH] Small fix to theme loading when screen is in portrait mode. --- src/themeloader.cpp | 3 +++ src/widgetscreen.cpp | 19 ++++++++++++------- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/themeloader.cpp b/src/themeloader.cpp index 08fb365..b554088 100644 --- a/src/themeloader.cpp +++ b/src/themeloader.cpp @@ -130,6 +130,9 @@ bool ThemeLoader::read() bool ret = loadScreen("mainscreen", doc, mainScreen_); mainScreen_->removeUnloaded(); + detailScreen_->reArrange(); + mainScreen_->reArrange(); + reader_->close(); return ret; diff --git a/src/widgetscreen.cpp b/src/widgetscreen.cpp index e78afa2..297c65b 100644 --- a/src/widgetscreen.cpp +++ b/src/widgetscreen.cpp @@ -44,14 +44,15 @@ bool WidgetScreen::load(Orientation orientation, QDomNode const& data, Reader* r bool ret = screens_[orientation]->load(data, reader); - if(ret && screens_.size() == 1) - { - currentOrientation_ = orientation; - } - if(ret) { loadedScreens_.insert(orientation); + + if(loadedScreens_.size() == 1) + { + currentOrientation_ = orientation; + setCurrentWidget(screens_[orientation]); + } } return ret; @@ -118,10 +119,14 @@ void WidgetScreen::reArrange() { if(screens_.find(o) != screens_.end()) { + currentOrientation_ = o; setCurrentWidget(screens_[o]); screens_[o]->reArrange(); - screens_[o]->forceRepaint(); - currentOrientation_ = o; + + if(o == LANDSCAPE) + { + screens_[o]->forceRepaint(); + } } } } -- 1.7.9.5