diff options
author | Janne Anttila <janne.anttila@digia.com> | 2009-09-11 11:29:23 (GMT) |
---|---|---|
committer | Janne Anttila <janne.anttila@digia.com> | 2009-09-11 11:29:23 (GMT) |
commit | 7ea2c96fbd394fe930dc59b611b125ad269ec0ab (patch) | |
tree | aa7879fb8cd28e99cd72eb31614b5ed1a5dbef27 /src/gui/kernel | |
parent | 842ee1617923443ebb78d998ca3c5c8721442d91 (diff) | |
download | Qt-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.cpp | 11 |
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 |