--- 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,