Guts of active-settings

Aaron J. Seigo aseigo at kde.org
Fri Dec 23 08:45:42 UTC 2011


On Friday, December 23, 2011 13:37:41 Ben Cooksley wrote:
> On Wed, Dec 21, 2011 at 1:51 AM, Sebastian Kügler <sebas at kde.org> wrote:
> > Hey all,
> 
> Hi Sebas,
> 
> > [CC:ing Ben Cooksley, systemsettings maintainer, as he'll much like have
> > ideas or concerns around it.]
> > 
> > In this email, I'm explaining a bit how the active-settings app works, and
> > how it can be extended, and how it should be used.
> > 
> > Please also take note of my earlier email about QML bindings for
> > KConfigGroup, which seeks a better solution for the configuration reading
> > and writing mechanism we're using internally.
> > 
> > Alrightie, so active-settings is a small QML shell (Active App) that hosts
> > configuration models. It's basically kcmshell4 / Systemsettings in a QML
> > world. It's of course designed for touch devices, it uses the Plasma QML
> > Components (so it adapts itself to the type of device it's run on,
> > currently touch or desktop).
> > 
> > Upfront: Existing KControl KCMmodules do not work in active-settings, it's
> > a conscious depart from the world of QWidgets, and I'd really like it to
> > become less of a monster than systemsettings.
> 
> I guess you are referring to the modules themselves here, as they are
> a little bit of a mess. The app itself is fairly cleanly coded though
> 
> :)
> :
> > On startup, active-settings queries KServiceTypeTrader in order to look
> > for
> > plugins that have the type "Active/SettingsModule". These plugins provide
> > a
> > QML package with the UI for the module, and an optional C++ library to
> > load. The QML UI is loaded in the "content" part of the active-settings
> > app, active- settings exposes a few things to it, such as bindings for
> > KConfigGroup. (This restricts usage of those bindings to modules run
> > inside active-settings, which is I think a sensible restriction.
> 
> Even though a tablet or phone has much less to configure you are still
> likely to run into the need to group certain panels, so I would

if we are even half careful, we may be able to avoid this.

on the desktop, the amount of things that can and should be configurable is 
truly staggering.

on a device, that number of things is very small. we have no need to allow 
configuration of kwin, for instance. in fact that could simply lead to people 
making their device unusable as we rely on kwin features configured in specific 
ways.

there's another nuance here which is that things that would never appear in 
system settings may well end up in this app, such as listing installed add-on 
apps and allowing for them to be stopped  / uninstalled.

> One question: given that QML is supposed to be the future of Qt based
> interfaces (with just the QML changing as the form factor changes)
> perhaps it might be worth looking at how KCModule can be tidied up
> (considering it is practically untouched since KDE 3 times) to
> accommodate QWidget and QML based modules (as there is no point in
> duplicating work, and i'm sure some things will bleed across between
> Plasma Active and other form factors including the desktop)

configuration may not be one of the things that bleeds across form factors.

i think we're having this discussion a little too early in any case. we're 
still exploring what is needed for device configuration, how to make this work 
nicely with QML, etc. so we're still essentially gathering, iteratively, the 
requirements.

once we have a better idea, then i think we can try and see what is relevant 
to KCModule. my concern is that if we do it now, we'll end up making the 
active-settings API fit KCModule's design and API and i just don't think we're 
at the point where we know enough to do that properly.

i'd suggest we look at this again post PA3 which will still be early enough 
for work in Frameworks on KCModule and by which time we'll have a lot more 
information on what is needed (and not needed) by Active settings.

-- 
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

KDE core developer sponsored by Qt Development Frameworks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/active/attachments/20111223/19b76e8b/attachment.sig>


More information about the Active mailing list