summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel
diff options
context:
space:
mode:
authorJanne Anttila <janne.anttila@digia.com>2009-09-11 11:29:23 (GMT)
committerJanne Anttila <janne.anttila@digia.com>2009-09-11 11:29:23 (GMT)
commit7ea2c96fbd394fe930dc59b611b125ad269ec0ab (patch)
treeaa7879fb8cd28e99cd72eb31614b5ed1a5dbef27 /src/gui/kernel
parent842ee1617923443ebb78d998ca3c5c8721442d91 (diff)
downloadQt-7ea2c96fbd394fe930dc59b611b125ad269ec0ab.zip
Qt-7ea2c96fbd394fe930dc59b611b125ad269ec0ab.tar.gz
Qt-7ea2c96fbd394fe930dc59b611b125ad269ec0ab.tar.bz2
Fixed QWidget::activateWindow for Symbian.
activeWindow documentation says: "active window is a visible top-level window that has the keyboard input focus" and "If you want to ensure that the window is stacked on top as well you should also call raise(). Note that the window must be visible, otherwise activateWindow has no effect." What we were doing earlier was basically raise. Now we just set the keyboard focus to underlying native window. Task-number: 260685 Reviewed-by: Jason Barron
Diffstat (limited to 'src/gui/kernel')
-rw-r--r--src/gui/kernel/qwidget_s60.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp
index 7509fa5..744d20f 100644
--- a/src/gui/kernel/qwidget_s60.cpp
+++ b/src/gui/kernel/qwidget_s60.cpp
@@ -315,7 +315,7 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de
id = (WId)control;
setWinId(id);
QT_TRAP_THROWING(control->ConstructL(true,desktop));
-
+
if (!desktop) {
TInt stackingFlags;
if ((q->windowType() & Qt::Popup) == Qt::Popup) {
@@ -1013,8 +1013,8 @@ void QWidget::setWindowState(Qt::WindowStates newstate)
}
}
-#endif // Q_WS_S60
-
+#endif // Q_WS_S60
+
createWinId();
Q_ASSERT(testAttribute(Qt::WA_WState_Created));
QTLWExtra *top = d->topData();
@@ -1210,10 +1210,9 @@ void QWidget::activateWindow()
Q_D(QWidget);
QWidget *tlw = window();
if (tlw->isVisible()) {
- S60->windowGroup().SetOrdinalPosition(0);
window()->createWinId();
- RDrawableWindow* rw = tlw->d_func()->topData()->rwindow;
- rw->SetOrdinalPosition(0);
+ WId id = tlw->internalWinId();
+ id->SetFocus(true);
}
}
QT_END_NAMESPACE