Transient QWindows centered; default-constructed geometry
authorShawn Rutledge <shawn.rutledge@digia.com>
Mon, 10 Dec 2012 13:48:19 +0000 (14:48 +0100)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Sun, 24 Feb 2013 19:41:05 +0000 (20:41 +0100)
commit153d613353863987322db81f3c31e33541ef7226
treead2e8a3793641bc10cc8bbae2d0adefb70025b53
parentd9ff510f02bba63dabe7a081a68296056a89ae4c
Transient QWindows centered; default-constructed geometry

Default-constructed geometry does not mean put the window at 0,0,
and it does not mean center the window on the screen: it means
let the window manager position the window.  If the window is
explicitly positioned at 0,0 though, that is a higher priority
than the transient hint; without this change, the transientFor property
had no effect.  On X11, transient means use center "gravity" to
make the transient window exactly centered.  But the user can still
override the geometry of a transient window, as with any window.
On OSX and Windows, neither transient window functionality nor smart
initial positioning are provided, so a window with no position set
will be centered on the screen, and a transient window will be put
at the center of its transientParent.

Change-Id: I4f5e37480eef5d105e45ffd60362a57f13ec55f5
Task-number: QTBUG-26903
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
12 files changed:
src/gui/kernel/qguiapplication.cpp
src/gui/kernel/qplatformwindow.cpp
src/gui/kernel/qplatformwindow.h
src/gui/kernel/qwindow.cpp
src/gui/kernel/qwindow_p.h
src/plugins/platforms/cocoa/qcocoawindow.mm
src/plugins/platforms/windows/qwindowswindow.cpp
src/plugins/platforms/xcb/qxcbwindow.cpp
src/widgets/kernel/qwidget_qpa.cpp
tests/auto/opengl/qgl/tst_qgl.cpp
tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp