diff options
author | Samuel Rødal <samuel.rodal@nokia.com> | 2011-04-27 10:50:04 +0200 |
---|---|---|
committer | Samuel Rødal <samuel.rodal@nokia.com> | 2011-04-28 15:39:03 +0200 |
commit | 45272d5e458e0b118f340daa7e89b6180e6dd426 (patch) | |
tree | 0c419944426b350daf085232baa36feb3234212e /src/gui | |
parent | 96b872506ac40c3ffb6d0edd643501284643d954 (diff) |
Get rid of QWindow::WindowType and clean up Qt::WindowFlags instead.
(cherry picked from commit 72176bf2a490d2f831d53a66a0987213efa60935)
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/kernel/qplatformwindow_qpa.cpp | 11 | ||||
-rw-r--r-- | src/gui/kernel/qplatformwindow_qpa.h | 1 | ||||
-rw-r--r-- | src/gui/kernel/qwidget_qpa.cpp | 18 | ||||
-rw-r--r-- | src/gui/kernel/qwindow_qpa.cpp | 19 | ||||
-rw-r--r-- | src/gui/kernel/qwindow_qpa.h | 15 |
5 files changed, 19 insertions, 45 deletions
diff --git a/src/gui/kernel/qplatformwindow_qpa.cpp b/src/gui/kernel/qplatformwindow_qpa.cpp index e3caba1331..92ab2ca781 100644 --- a/src/gui/kernel/qplatformwindow_qpa.cpp +++ b/src/gui/kernel/qplatformwindow_qpa.cpp @@ -48,7 +48,6 @@ class QPlatformWindowPrivate { QWindow *window; QRect rect; - Qt::WindowFlags flags; friend class QPlatformWindow; }; @@ -115,20 +114,10 @@ void QPlatformWindow::setVisible(bool visible) Qt::WindowFlags QPlatformWindow::setWindowFlags(Qt::WindowFlags flags) { Q_D(QPlatformWindow); - d->flags = flags; return flags; } /*! - Returns the effective window flags for this surface. -*/ -Qt::WindowFlags QPlatformWindow::windowFlags() const -{ - Q_D(const QPlatformWindow); - return d->flags; -} - -/*! Reimplement in subclasses to return a handle to the native window */ WId QPlatformWindow::winId() const { return WId(0); } diff --git a/src/gui/kernel/qplatformwindow_qpa.h b/src/gui/kernel/qplatformwindow_qpa.h index a6edf190cf..1730f3d85e 100644 --- a/src/gui/kernel/qplatformwindow_qpa.h +++ b/src/gui/kernel/qplatformwindow_qpa.h @@ -71,7 +71,6 @@ public: virtual void setVisible(bool visible); virtual Qt::WindowFlags setWindowFlags(Qt::WindowFlags flags); - virtual Qt::WindowFlags windowFlags() const; virtual WId winId() const; virtual void setParent(const QPlatformWindow *window); diff --git a/src/gui/kernel/qwidget_qpa.cpp b/src/gui/kernel/qwidget_qpa.cpp index 855397e500..d4032c49d6 100644 --- a/src/gui/kernel/qwidget_qpa.cpp +++ b/src/gui/kernel/qwidget_qpa.cpp @@ -93,10 +93,11 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO QWindow *win = topData()->window; - // translate window type -// window->setWindowType(); + win->setWindowFlags(data.window_flags); win->create(); + data.window_flags = win->windowFlags(); + if (!surface ) { if (win) { surface = QApplicationPrivate::platformIntegration()->createWindowSurface(win, win->winId()); @@ -105,8 +106,6 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO } } -// data.window_flags = q->windowHandle()->setWindowFlags(data.window_flags); - setWinId(win->winId()); // first check children. and create them if necessary @@ -195,8 +194,8 @@ void QWidgetPrivate::setParent_sys(QWidget *newparent, Qt::WindowFlags f) } bool explicitlyHidden = q->testAttribute(Qt::WA_WState_Hidden) && q->testAttribute(Qt::WA_WState_ExplicitShowHide); - - // Reparenting toplevel to child + + // Reparenting toplevel to child if (!(f&Qt::Window) && (oldFlags&Qt::Window) && !q->testAttribute(Qt::WA_NativeWindow)) { //qDebug() << "setParent_sys() change from toplevel"; q->destroy(); @@ -207,13 +206,6 @@ void QWidgetPrivate::setParent_sys(QWidget *newparent, Qt::WindowFlags f) q->setAttribute(Qt::WA_WState_Visible, false); q->setAttribute(Qt::WA_WState_Hidden, false); - if (f & Qt::Window) { - //qDebug() << "setParent_sys" << q << newparent << hex << f; -// if (QPlatformWindow *window = q->platformWindow()) -// data.window_flags = window->setWindowFlags(data.window_flags); -// Q_ASSERT(false); - } - if (q->isWindow() || (!newparent || newparent->isVisible()) || explicitlyHidden) q->setAttribute(Qt::WA_WState_Hidden); q->setAttribute(Qt::WA_WState_ExplicitShowHide, explicitlyHidden); diff --git a/src/gui/kernel/qwindow_qpa.cpp b/src/gui/kernel/qwindow_qpa.cpp index f33ff90ad2..163b72fd81 100644 --- a/src/gui/kernel/qwindow_qpa.cpp +++ b/src/gui/kernel/qwindow_qpa.cpp @@ -57,7 +57,7 @@ class QWindowPrivate : public QObjectPrivate public: QWindowPrivate() : QObjectPrivate() - , windowType(QWindow::Window) + , windowFlags(Qt::Window) , surfaceType(QWindow::RasterSurface) , platformWindow(0) , glContext(0) @@ -71,7 +71,7 @@ public: } - QWindow::WindowType windowType; + Qt::WindowFlags windowFlags; QWindow::SurfaceType surfaceType; QPlatformWindow *platformWindow; @@ -116,8 +116,10 @@ void QWindow::setVisible(bool visible) void QWindow::create() { Q_D(QWindow); - if (!d->platformWindow) + if (!d->platformWindow) { d->platformWindow = QApplicationPrivate::platformIntegration()->createPlatformWindow(this); + d->windowFlags = d->platformWindow->setWindowFlags(d->windowFlags); + } Q_ASSERT(d->platformWindow); } @@ -172,16 +174,19 @@ QWindow::SurfaceType QWindow::surfaceType() const return d->surfaceType; } -void QWindow::setWindowType(WindowType type) +void QWindow::setWindowFlags(Qt::WindowFlags flags) { Q_D(QWindow); - d->windowType = type; + if (d->platformWindow) + d->windowFlags = d->platformWindow->setWindowFlags(flags); + else + d->windowFlags = flags; } -QWindow::WindowType QWindow::type() const +Qt::WindowFlags QWindow::windowFlags() const { Q_D(const QWindow); - return d->windowType; + return d->windowFlags; } void QWindow::setWindowTitle(const QString &title) diff --git a/src/gui/kernel/qwindow_qpa.h b/src/gui/kernel/qwindow_qpa.h index d9bd2950d1..fc73b1b93c 100644 --- a/src/gui/kernel/qwindow_qpa.h +++ b/src/gui/kernel/qwindow_qpa.h @@ -76,17 +76,6 @@ class Q_GUI_EXPORT QWindow : public QObject Q_PROPERTY(QString windowTitle READ windowTitle WRITE setWindowTitle) public: - enum WindowType { - Window, - Dialog, - Popup, - Tool, - SplashScreen, - ToolTip, - Sheet, - Drawer - }; - enum SurfaceType { RasterSurface, OpenGLSurface @@ -112,8 +101,8 @@ public: void setSurfaceType(SurfaceType type); SurfaceType surfaceType() const; - void setWindowType(WindowType type); - WindowType type() const; + void setWindowFlags(Qt::WindowFlags flags); + Qt::WindowFlags windowFlags() const; QString windowTitle() const; |