summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorSamuel Rødal <samuel.rodal@nokia.com>2011-04-27 10:50:04 +0200
committerSamuel Rødal <samuel.rodal@nokia.com>2011-04-28 15:39:03 +0200
commit45272d5e458e0b118f340daa7e89b6180e6dd426 (patch)
tree0c419944426b350daf085232baa36feb3234212e /src/gui
parent96b872506ac40c3ffb6d0edd643501284643d954 (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.cpp11
-rw-r--r--src/gui/kernel/qplatformwindow_qpa.h1
-rw-r--r--src/gui/kernel/qwidget_qpa.cpp18
-rw-r--r--src/gui/kernel/qwindow_qpa.cpp19
-rw-r--r--src/gui/kernel/qwindow_qpa.h15
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;