diff options
author | Jason Barron <jbarron@trolltech.com> | 2009-07-09 11:03:54 (GMT) |
---|---|---|
committer | Jason Barron <jbarron@trolltech.com> | 2009-07-09 11:03:54 (GMT) |
commit | 8bc84e2180e1d5819b372f4cd8c236b853145803 (patch) | |
tree | 6c5e6a8b6a1750e2484fd34f48be662fcf51959f /src/gui/kernel/qwidget_s60.cpp | |
parent | d641198fa71fadd243e84dfdf02b9a0536a27b3f (diff) | |
parent | 3b1e30bb1d6651a626aba1f6b8883f5524598ed3 (diff) | |
download | Qt-8bc84e2180e1d5819b372f4cd8c236b853145803.zip Qt-8bc84e2180e1d5819b372f4cd8c236b853145803.tar.gz Qt-8bc84e2180e1d5819b372f4cd8c236b853145803.tar.bz2 |
Merge commit 'origin/master' into 4.6-merged
Conflicts:
src/corelib/kernel/qcoreevent.cpp
src/corelib/tools/qdumper.cpp
src/gui/kernel/qwidget.cpp
src/gui/kernel/qwidget_p.h
src/gui/kernel/qwidget_s60.cpp
src/gui/text/qfontdatabase.cpp
src/network/access/qnetworkreplyimpl.cpp
src/sql/drivers/ibase/qsql_ibase.cpp
src/testlib/qtestcase.cpp
src/testlib/testlib.pro
tests/auto/network-settings.h
tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp
tests/auto/qobjectrace/tst_qobjectrace.cpp
tests/auto/qsqldatabase/tst_qsqldatabase.cpp
tools/configure/configureapp.cpp
translations/qt_ru.ts
Diffstat (limited to 'src/gui/kernel/qwidget_s60.cpp')
-rw-r--r-- | src/gui/kernel/qwidget_s60.cpp | 42 |
1 files changed, 32 insertions, 10 deletions
diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp index 3149a7e..bb81e06 100644 --- a/src/gui/kernel/qwidget_s60.cpp +++ b/src/gui/kernel/qwidget_s60.cpp @@ -144,7 +144,7 @@ void QWidgetPrivate::setSoftKeys_sys(const QList<QAction*> &softkeys) nativeContainer->DrawDeferred(); // 3.1 needs an extra invitation } -void QWidgetPrivate::setWSGeometry(bool, const QRect &) +void QWidgetPrivate::setWSGeometry(bool /* dontShow */, const QRect & /* rect */) { } @@ -252,7 +252,7 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove) } } -void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyOldWindow) +void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool destroyOldWindow) { Q_Q(QWidget); @@ -266,17 +266,13 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO || type == Qt::Sheet || (flags & Qt::MSWindowsFixedSizeDialogHint)); bool desktop = (type == Qt::Desktop); - bool tool = (type == Qt::Tool || type == Qt::Drawer); + //bool tool = (type == Qt::Tool || type == Qt::Drawer); WId id = 0; if (popup) flags |= Qt::WindowStaysOnTopHint; // a popup stays on top - // always initialize - if (!window) - initializeWindow = true; - TRect clientRect = static_cast<CEikAppUi*>(S60->appUi())->ClientRect(); int sw = clientRect.Width(); int sh = clientRect.Height(); @@ -425,6 +421,32 @@ void QWidgetPrivate::setFocus_sys() q->effectiveWinId()->SetFocus(true); } +void QWidgetPrivate::handleSymbianDeferredFocusChanged() +{ + Q_Q(QWidget); + WId control = q->internalWinId(); + if (!control) { + // This could happen if the widget was reparented, while the focuschange + // was in the event queue. + return; + } + + if (control->IsFocused()) { + QApplication::setActiveWindow(q); + // If widget is fullscreen, hide status pane and button container + // otherwise show them. + CEikStatusPane* statusPane = S60->statusPane(); + CEikButtonGroupContainer* buttonGroup = S60->buttonGroupContainer(); + bool isFullscreen = q->windowState() & Qt::WindowFullScreen; + if (statusPane && (statusPane->IsVisible() == isFullscreen)) + statusPane->MakeVisible(!isFullscreen); + if (buttonGroup && (buttonGroup->IsVisible() == isFullscreen)) + buttonGroup->MakeVisible(!isFullscreen); + } else { + QApplication::setActiveWindow(0); + } +} + void QWidgetPrivate::raise_sys() { Q_Q(QWidget); @@ -686,7 +708,7 @@ void QWidgetPrivate::setWindowTitle_sys(const QString &caption) } } -void QWidgetPrivate::setWindowIconText_sys(const QString &iconText) +void QWidgetPrivate::setWindowIconText_sys(const QString & /*iconText */) { } @@ -738,7 +760,7 @@ void QWidgetPrivate::updateSystemBackground() } -void QWidgetPrivate::registerDropSite(bool on) +void QWidgetPrivate::registerDropSite(bool /* on */) { } @@ -771,7 +793,7 @@ QWindowSurface *QWidgetPrivate::createDefaultWindowSurface_sys() return new QS60WindowSurface(q_func()); } -void QWidgetPrivate::setMask_sys(const QRegion& region) +void QWidgetPrivate::setMask_sys(const QRegion& /* region */) { } |