xcb: dynamic QScreens; primary first; corrected logical DPI
authorShawn Rutledge <shawn.rutledge@digia.com>
Wed, 19 Sep 2012 09:55:44 +0000 (11:55 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Sun, 23 Sep 2012 22:26:07 +0000 (00:26 +0200)
commit1a31561178d9cb9e5a6f3f986075df24ea5705ff
tree0953a9e349b258e00dc86e759338b2a012ee28a8
parent06c89ae026d5a3579636d8a090cf546b23273bed
xcb: dynamic QScreens; primary first; corrected logical DPI

A new QScreen is created when an output is activated (monitor or
projector is added, for example), and destroyed when the output is
turned off.  Ensures that screens and siblings are always in
the right order: primary comes first.
Logical DPI is derived from virtual geom / virtual size,
which will be different than output geom / physical size
if X was started with --dpi override.  This is a good thing:
when X gets wrong EDID info for physical size and you need to
override it to get reasonable font sizes, Qt will heed the
logical DPI for font sizing.

Change-Id: I5e3de34013c1b6b21067243de56f3f1eb72787fa
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
src/plugins/platforms/xcb/qxcbconnection.cpp
src/plugins/platforms/xcb/qxcbconnection.h
src/plugins/platforms/xcb/qxcbintegration.cpp
src/plugins/platforms/xcb/qxcbintegration.h
src/plugins/platforms/xcb/qxcbscreen.cpp
src/plugins/platforms/xcb/qxcbscreen.h