I am working in the Contour project, which is part of Plasma Active. One of the things I am working on is a replacement for the shutdown dialog used in KDE. The intention is make it more suitable for touchscreen devices, like the ones that Plasma Active is target to. The current result is this:
Ok, I admit we need to improve this. Well, the fact it has only three big buttons is intentional, the less buttons the less problems to use and big buttons are easier to press. The implementation is in branch ksmserver/qml-shutdowndlg of git://anongit.kde.org/kde-workspace and it is made partially in C++ and partially in QML. This mini-project is being a good way to learn QML, maybe in the (not near) future I can use what I have learnt in Plasma NM.
To implement that simpler dialog I did not have many problems. On the other hand the replacement for the current dialog has been giving me some headaches to implement all its look-and-feel, specially the button's context menu. It's not that difficult to implement static context menu in QML, but adding items dynamically is more difficult. Another problem in the current implemenation is the lack of tab order and some other keyboard for features, such as default widget when pressing the ENTER key and label's accelerators. I have not found how to do use those features in QML, maybe because QML is target to thouchscreen and not keyboard use.
This weekend I have finished to implement all features except the keybord features:
And it works with other Plasma themes:
And here the button's context menus (notice the small triangle on the buttons):
If you want to try it you can do it in KDE SC 4.7 too. You need to compile plasmacomponents from kde-runtime master first:
git clone git://anongit.kde.org/kde-runtime
make && make install
Then you need to compile the branch mentioned earlier:
git clone git://anongit.kde.org/kde-workspace
git checkout ksmserver/qml-shutdowndlg
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make && make install
Update 12/Dec/2012: some people asked how the dialog looks like with compositing disabled. Here it is: