5
- loads QML package which has the basic shell
6
- lists plugins for settings modules
7
- loads them into the shell dynamically
12
Email from Marco, explaining the basic architecture:
14
touchy settings UI architecture
15
From: Marco Martin <notmart@gmail.com>
17
Date: Fri Oct 14 13:02:19 2011
20
one of the things is pretty clear we need for Active 2 is a centralized
21
settings ui, since systemsettings revealed to be so painful to use on a
22
touchscreen that is now blacklisted (and 99% of its kcms wouldn't be useful)
24
so from a purely architectural (ui can be anything) point of view what i had
27
* the logic of the seetings of a particular thing is done in QObjects: a
28
setting will correspond to a qproperty
30
* to start them, let's start with the time and locale kcms, ripping all the ui
31
out of them, just leaving the config files read/write parts
33
* the time one reveals the need of specialized qobjects rather than just a
34
binding over kconfing: it sets the system time and uses policykit for that
36
* a qobject to write in generic config files could still be written, maybe it
37
could make possible for some of the config modules being written in pure QML
39
* configuration ui modules should be plasma packages
40
(/usr/share/kde4/apps/plasma/packages/*)
42
* the "outer shell" with tabs that can load different modules is a plasma
45
* the settings module logic is a kde c++ plugin, that has all the properties
46
for config options, plus a property that says the path of the root qml file
47
extracted from the package
49
* a kapplication loads the shell package, then, lists config plugins with
50
sycoca, puts them in a model to be visualized by the shell qml files
52
* after clicking on a config module icon, the c++ part loads the c++ plugin,
53
extracts the path of the qml file, slams the parsed qml instance in the main
54
screen of the config ui (that should be a PageStack component, probably)
56
is it clear? too complex? i still don't have completely clear if/how loading
57
config modules that are pure qml, suggestions (and ways to simplify it) are
62
_______________________________________________
65
https://mail.kde.org/mailman/listinfo/active
b'\\ No newline at end of file'
1
You can find documentation for using the Active Settins infrastructure at
2
http://techbase.kde.org/Development/Tutorials/Plasma/QML/ActiveSettings