components components components

Marco Martin notmart at gmail.com
Mon Oct 31 16:52:27 UTC 2011


Hi all,

so, last week i have been working frantically to get the plasma components 
series in a near complete api status (window and all the Dialogs still 
missing)

the result is quite pretty still some important questions remains:
* where they should go? they are targeted to be usable in 4.8, so should be in 
kde-runtime for now (i would love a separate repo for all our imports in the 
future)
* how depend from it? they are now in master, so kde 4.8. pa2 will probably 
have to depend still from 4.7 -> i guess another kde-runtime branch :/

now the problem i don't have a clear solution for yet:

* device specific: some(most) of the components work pretty good on both 
desktop and tablet, however some of them will have to be slightly different 
(buttons without mouse over effects) or *very* different (menu being a qmenu 
on the desktop, a fancier qgv based thing on the tablet)

for how qml imports work right now there is no specific fallback, so if even 
just one component has to be changed a fork of the whole set would be required 
(ouch;)

that could be done if needed, i would really like to avoid it until really 
needed, another quite dirty but cost saving way i tought is:

* plasma desktop qtcomponents are the "complete" one
* an application would always do import org.kde.plasma.components
* the folder org/kde/plasma/components would actually just have a qmldir with 
entries that points to a path relative to them (sub or super directory, not 
sure)

* so in case of active, the qmldir installed in org/kde/plasma/components 
points to the files of the desktop set, except for the different ones, that 
point to the tablet specific set

* so the installation of plasma active should *replace* (ugh;) the qmldir file 
installed by default by kde-runtime

again, if it was possible to tap in the "import" keyword a more elegant 
solution *may* have been found, but for now is the one with the least code 
copy and paste i can think of ;)

comments? any less violent way to achieve this? ;)

Cheers, 
Marco Martin


More information about the Active mailing list