diff options
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 */) { } |