src/hbcore/gui/hbcontentwidget.cpp
branchGCC_SURGE
changeset 15 f378acbc9cfb
parent 7 923ff622b8b9
child 21 4633027730f5
child 34 ed14f46c0e55
--- a/src/hbcore/gui/hbcontentwidget.cpp	Thu Jul 15 14:03:49 2010 +0100
+++ b/src/hbcore/gui/hbcontentwidget.cpp	Thu Jul 22 16:36:53 2010 +0100
@@ -42,28 +42,29 @@
   \internal
 */
 
-HbContentWidget::HbContentWidget(HbMainWindow *mainWindow,QGraphicsItem *parent /*= 0*/):
+HbContentWidget::HbContentWidget(HbMainWindow *mainWindow, QGraphicsItem *parent /*= 0*/):
     HbStackedWidget(parent),
     mViewSwitchRunning(false),
     mTargetView(0),
     mHidingView(0),
     mMainWindow(mainWindow)
 {
+    // Do not defer this, it causes invalidation and updating.
+    setFocusPolicy(Qt::StrongFocus);
 }
 
 QSizeF HbContentWidget::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const
 {
     Q_UNUSED(constraint);
 
-    QSizeF size;    
+    QSizeF size;
 
     switch (which) {
     case Qt::MinimumSize:
         size = QSizeF(0, 0);
         break;
-    
-    case Qt::PreferredSize:
-    {
+
+    case Qt::PreferredSize: {
         HbDeviceProfile profile(HbDeviceProfile::profile(this));
         size = profile.logicalSize();
         if (!size.isValid()) {
@@ -81,11 +82,6 @@
     return size;
 }
 
-void HbContentWidget::delayedConstruction()
-{
-    setFocusPolicy(Qt::StrongFocus);
-}
-
 void HbContentWidget::setTargetView(HbView *view)
 {
     mTargetView = view;
@@ -200,7 +196,7 @@
     // 2nd param (hideOld): We still want to see the old view (normally setCurrentWidget would hide it).
     // 3rd param (showNew): The new view is not yet needed (the effect will take care of making it visible).
     setCurrentWidget(mTargetView, false, false);
-    
+
     mHidingView = viewToHide;
     mViewSwitchFlags = flags;
 
@@ -208,7 +204,7 @@
     if (effectTarget) {
         mMainWindow->setInteractive(false); // disable input while the effects are running
         QString event = getEffectEvent("hide", flags, viewToHide, mTargetView);
-        HbEffectInternal::EffectFlags effectFlags = 
+        HbEffectInternal::EffectFlags effectFlags =
             HbEffectInternal::ClearEffectWhenFinished // the effect must not be persistent
             | HbEffectInternal::HideRegItemBeforeClearingEffect; // to prevent unlikely, but possible flicker
         HbEffectInternal::start(viewToHide, effectTarget, effectFlags,