Last week in Qt development (week 20 2012)
This post is part of an ongoing series about developments and discussions in Qt.
Some parts of this report are still under discussion, and don’t necessarily reflect the final state of Qt 5. The target audience is people involved in Qt development itself, but without the time to follow everything that happens, and others with a strong interest in Qt, Qt 5, and the community.
This week we cover the move of QIcon and consequences that can have, continued work on Qt using UTF-8 by default, more discussions about QPA, and touch events.
QIcon returned to QtGui
With the splitting of the Widgets related classes from QtGui in Qt 5, QIcon had ended up in the widgets module. When a commit arrived which added a new class for multiple-size icons, the rationale was discussed<, and the class has now been returned to QtGui. This could conceivably have favorable consequences for using icons in QML 2 code in the future, and possibly a QPA API for loading icons from standard platform-defined themes.
Cross compiling for Windows patches landed
The patches mentioned previously and discussed on the mailing list have started to land in the Qt base repository. Cross compiling on Linux for Windows targets is not part of the Qt CI system, so it is possible for it to break at intermediate times, but in general, this will surely be a welcome build configuration for Qt 5.
Continued efforts on UTF-8 expectations
As noted before, Qt 5 now expects files to be UTF-8 encoded. This has consequences for static strings (char arrays defined in C++ source files), but it is only a side-effect of decoding byte data as UTF-8 by default in several parts of Qt where latin-1 was the baseline before (or where it was configurable before). Other side effects have required changes to the translation functions (which now also expect UTF-8), and in changes to QFile::encodeName.
New Visual Studio mkspec added
A mkspec was added for Visual Studio 11. The mkspec files are build description files used to build Qt itself and for 3rd parties to build software using Qt libraries, so this enables the use of Visual Studio 11 with Qt projects.
Tests and bug fixes in QtNetwork and in the QJsonDocument APIs.
Emitting signals without creating a QMetaObject
New optimizations in QObject and QMetaObject related code allows QML to emit signals lazily without creating a QMetaObject. This could lead to some encapsulated optimizations within the QML system, and also appeals to the kinds of people who are interested in the Qt meta object system in general :).
QPA menu abstraction
The number of interfaces provided as part of QPA has grown once again to now include an abstraction for menus. The new abstraction provides virtual interfaces for menubars, menus, and items in menus. An accompanying commit implements the interface on OSX.
Efforts into touch events in Qt 5
The topic of touch and multi-touch is an important one for all modern user interface frameworks, and it has been getting some serious effort for some time. The topic has re-appeared with regard to making it work better from the start with Qt 5, so this is, of course, a positive development.
Thanks Steve and KDAB for the entry. Just note that the link about UTF-8 requirement points back to the category of posts. I suppose it was meant to be a link to Thiago’s post on the subject.
Hi suy,
I’m glad you are enjoying the series.
Actually the link points back to a previous entry where I discussed the UTF-8 stuff already, as I had intended. I agree it might be a bit confusing. I’ll try to add anchors to posts so I can add fragments to the links in future too to make it more obvious.