[Development] This week in Qt 5 development (week 49)

Stephen Kelly stephen.kelly at kdab.com
Fri Dec 9 20:12:05 CET 2011


This week:

== QSound removed ==
== Talk of removing QWorkspace ==
== QTemporaryDir arrives ==
== Building v8 on MIPS ==
== -bsymbolic-functions used by default ==
== Extend the API for touch events ==
== On screen keyboard and better Input Methods ==
== Some build-time tools separate from QtBase ==
== Marketing ==

****

== QSound removed ==

It has been replaced with a bug report to implement it in QtMM.

https://bugreports.qt.nokia.com/browse/QTBUG-23041

I wonder if that will actually happen...

== Talk of removing QWorkspace ==

http://thread.gmane.org/gmane.comp.lib.qt.devel/200

In a similar vein...


== QTemporaryDir arrives ==

David Faure added the QTemporaryDir class. and somewhat related 
QDir::removeRecursively() method.

This is largely a response to a need of KDE, but apparently someone was 
complaining that it is not implemented for WinCE... :)


== Building v8 on MIPS ==

http://codereview.qt-project.org/#change,9433

There are some patches now in the qt tree to make v8 build on MIPS (but not 
run yet and it's not CI tested apparently) and to implement the bridge between 
v8 and QML on that platform.

Presumably this work will continue, but ultimately the effort may have to be 
moved to v8 (which is apparently harder to contribute to than Qt, according to 
trolls).

== -bsymbolic-functions used by default ==

This is a compiler flag which apparently breaks GammaRay, now Qt5 is built 
with the flag by default:

http://codereview.qt-project.org/#change,10638
https://github.com/KDAB/GammaRay/wiki/Injectors

According to Thiago the file src/corelib/QtCore.dynlist contains symbols which 
will not be affected by -bsymbolic-functions, and it exists on request of 
Squish (which should have the same issue as we do with that injector).

IIRC the conclusion that -bsymbolic-functions breaks GammaRay comes from that 
flag being used on Kubuntu. Maybe we should check if the actual problem is 
that Kubuntu somehow ignores or removes the src/corelib/QtCore.dynlist file.

== Extend the API for touch events ==

https://qt.gitorious.org/qt/qtbase/commit/4222603f8ea3a0d0ef5b9a190605ad86e00f27f6

The touch event API had been extended to make way for multi-touch, 
differentiating between pen and finger, velocity etc.

I hope there is a working high-level API :)

== On screen keyboard and better Input Methods ==

http://blog.jpetersen.org/2011/12/07/maliit-and-qt5/
http://www.murrayc.com/blog/permalink/2011/12/08/discussing-maliit-keyboards-
and-plasma-active/

Gnomers are getting increasingly interested in Qt5 and Qt in general 
(particularly QML). These guys have been working on getting a better Input 
Methods support into Qt 5, and working with Plasma people to get QML 
integration with a suitable API.

The Maliit API will give hints to implementers on how the input visualization 
should look (orientation, is it animating right now etc), and seems to be a 
non-gui abstraction for input methods. Could become useful eventually.

== Some build-time tools separate from QtBase ==

Currently moc, rcc and uic are in QtBase, which means that they get installed 
along with the libraries in QtBase (that's most of the useful stuff less 
qtdeclarative, which is in a separate module).

lrelease, lupdate, qdbusxml2cpp and qdbuscpp2xml are currently in the qttools 
repo, which means that that repo (which also contains linguist, assistant, 
qdbusviewer etc - user-time tools) would have to be installed in order to use 
those tools at build time.

For CMake, that means that in order to use the CMake macros for generating 
dbus xml and cpp files you'll have to do a

find_package(Qt5DBusTools)

and for the linguist stuff:

find_package(Qt5LinguistTools)

This is obviously not ideal. There is non-progressing (so probably won't 
happen) work on moving the dbus tools into qtbase (requires some cross 
compiling considerations), but the linguist tools will likely never move (ossi 
is opposed)

QMake also has features and .prf files for using those files, but I don't know 
how qmake would find the tools themselves or determine if they are installed. 

Generally, I don't think QMake is ready for a modularized Qt with parts 
installed in different prefixes, which I think is intended to be possible.

I'm continuing to work on the CMake stuff with Alex Neundorf and Clinton 
Stimpson (FindQt4 maintainer)

== Accessiblity going into QML ==

http://codereview.qt-project.org/#change,10389

Frederik Gladhorns work on accessibility is now starting to extend into QML, 
which is obviously a good thing. Accessibility is a requirement for some, and 
we should be able to use it in Qt5/QML2.

== Variadic macros in Qt5 ==

http://codereview.qt-project.org/#change,9856

It is possible that Qt5 will require variadic macros for compilers which 
support them (including GCC > 3.0).

The tricky part is trying to figure out if they can be used with the compilers 
flags used by third parties (as the code to use variadic macros would be in 
headers - in container implementations).

People like Conti could want to compile with -pedantic-errors or -std=c++98 or 
-ansi. The -pedantic-errors wouldn't work in Qt5 anymore without also using -
Wno-variadic-macros. This is mostly because there's no way for the 
preprocessor to know if -stdc++11 is being used (that's actually where you 
want to enable this feature, not just when the compiler can do it) because 
__cplusplus is not defined to the right thing with GCC until version 4.7.0 
(current trunk).

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773

== Marketing ==

http://news.gmane.org/gmane.comp.lib.qt.marketing

The marketing list is gaining traffic. Mostly it's Quim Gil trying to organise 
Qt presence at conferences (OSCON, FOSDEM etc), and trying to crowdsource Qt 
advocacy, local groups and social media.

There are a number of people on the list joining in on the discussions and 
participating.

Thanks,

--
Stephen Kelly <stephen 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 --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20111209/890f01d3/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2996 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/development/attachments/20111209/890f01d3/attachment.bin>


More information about the Development mailing list