Two examples of what we put on top of Qt components, I think those give a good idea of the level of integration with other components we're talking about:
- Dataengines: those are small, specialized data providers for all kinds of data, system information, rss feeds, time, contacts, etc. Those dataengines are represented in Plasma Quick (which is Qt Quick + Plasma additions) as models. These dataengines provider services, which allow job-based call-backs. Of course these dataengines are not specific to Active, and we already have a sizable collection of all kinds of dataproviders. Glue in Plasma Quick makes these available to QML applications in a very intuitive way, meaning that you can just use a standard listview and use such a dataengine as model, either directly, or transformed / filtered / sorted.
- Resourcedelegates: Those are widgets that represent semantic "Things", the idea is basically that you ask the system (Nepomuk) for some kind of information ("search stuff with $foo in it", "give me all Images", "Contacts for the current activity", you name it). The resultset can be of one or more type, you pop this into a listview, and get different listitems, depending on their resourcetype. So a bookmark belonging to a resultset looks different than a contact. This happens entirely transparant to the developer.
You see that this is at a very high level of abstraction. There are more examples which we brought from the first versions of Plasma to QML, so in part Qt components are duplicating functionality that we already have had for quite some time, but on the other hand, the scope is simply different. Wether that's wasteful duplication or useful competition remains to be seen, but we do look at these projects as well, and there's at least exchange of ideas to some degree.