[Development] Moving QWindowSystemInterface out of QPA

Stephen Kelly stephen.kelly at kdab.com
Tue Jul 10 11:37:41 CEST 2012


Hi there,

QWindowSystemInterface is treated as a QPA header since this discussion:

http://thread.gmane.org/gmane.comp.lib.qt.devel/4178/focus=4210

http://thread.gmane.org/gmane.comp.lib.qt.devel/4178/focus=4206

QWindowSystemInterface is different to QPA API because it is just a bunch of 
static methods on a class, rather that a virtual interface designed to be 
subclassed.

http://thread.gmane.org/gmane.comp.lib.qt.devel/3198/focus=3210

It can be extended in its current form (adding more static methods) in the 
future, and it can remain an 'internal' implementation detail, but I think it 
should be made public.

If it is not made public, then all CMake based code using QtTest will have to 
use private QtGui headers.

https://codereview.qt-project.org/#change,30483

It of course already breaks KDE tests. It will continue to break other tests 
where qmake isn't used (which has a workaround for this problem - if qtestlib 
is used then the -private modules of all Qt modules are used). 

I don't think it's enough or 'good' to have a workaround for qmake and leave 
the others out in the cold.

I think the best solution is to move QWindowSystemInterface headers out of 
qpa, making it 'public but internal' API. 

I haven't seen any reason not to do that - I have only seen 'that shouldn't be 
public' without a reason why its header must be in a private directory. 

I have a reason to do it - otherwise all non-qmake code using testlib gets 
very ugly and has to use 'private' stuff.

https://codereview.qt-project.org/30541

Thanks,

-- 
Stephen Kelly <stephen.kelly at kdab.com> | Software Engineer
KDAB (Deutschland) GmbH & Co.KG, a KDAB Group Company
www.kdab.com || Germany +49-30-521325470 || Sweden (HQ) +46-563-540090
KDAB - Qt Experts - Platform-Independent Software Solutions
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3636 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/development/attachments/20120710/a0c46909/attachment.bin>


More information about the Development mailing list