sil2100//vx developer log

Welcome to my personal web page


Appmenu Qt5: patches and the release candidate

Happy new year! I hope this post to be the last one in the series of 'Appmenu for Qt5'. Holidays have passed and now all my required patches have been successfully merged to upstream Qt repositiories. This means that according to our current policy, we can now cherry-pick those patches to the Qt5 versions that are used in Ubuntu. Therefore, the still-prepared Ubuntu Qt 5.2 packages are already shipping my changes as quilt patches, enabling proper appmenu-qt5 support. All is ready for testing.

2014-01-14 16:29

This was my first time contributing to the Qt codebase. The process of submitting patches itself is not complicated, but full of small caveats to remember. There were two changes I wanted to upstream for everything to work:

One thing to remember after a change has been submitted. Once the code gets reviewed and approved (NOTE: the small check sign in a review, a +1 is not enough) - your code does not get automagically merged into trunk. The author of the patch still needs to press the Merge button visible above comments. Only then the change gets staged, tested and released.

With the changes that have been submitted, everyone can now explicitly select the platformtheme by using the environment - or, if preferred, by providing a command line argument:

 QT_QPA_PLATFORMTHEME=appmenu-qt5 qtcreator
 # or...
 qtcreator -platformtheme appmenu-qt5

For anyone that wants to test how the new QPA global application menu for Qt5 works, there is a PPA that's created to test-build the new package.

After installing the provided packages from the PPA and upgrading your Qt5 to 5.2 from the qt5-beta2 archive, appmenu-qt5 should be enabled by default after a session reboot. Currently the package provides a profile.d/ script that sets the QT_QPA_PLATFORMTHEME environment variable, enabling appmenu-qt5 by default. The environment gets reverted back once the package is uninstalled.

Feel free to test and submit bug reports on the provided launchpad page. Once Qt 5.2 is officially released and/or a decision will be made to backport appmenu-qt5 support to 5.0.2, appmenu-qt5 will be added to our Ubuntu daily-release system - and then migrated to trusty. The daily-release process I have been partially maintaining has changed a lot recently, with some management decision slowing down the whole process, but it's still a very convinient way of release managment for a project.