broulik added a comment.

  We use everything in Plasma "as a library", that's why 
`KDeclarative::QmlObject` sets a translation context on the root context, so 
that plasmoids, wallpaper plugins, and other QML bits can use `i18n` with no 
translation domain (only exception really being the look and feel packages). 
I'm too tired to explain right now but note when you run the KCM from within 
Plasma you get a warning like:
  
    QQmlContext: Cannot set context object for internal context.
    QQmlContext: Cannot set property on internal context.
  
  That is what breaks the translations in this case and used to work until we 
shared `QQmlEngines` between the KCM and the window around it. However, if we 
don't then the KCM uses the Plasma Qt Quick Controls style which is also 
undesirable. We also don't want separate `QQmlEngine`s as then you run into 
bugs and crashes since we would have objects (e.g. context properties and 
singletons) between engines and they clean up each other's stuff and crash.

REPOSITORY
  R115 Plasma Audio Volume Applet

REVISION DETAIL
  https://phabricator.kde.org/D16595

To: aacid, #plasma, davidedmundson, mart
Cc: broulik, plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, 
jensreuterberg, abetts, sebas, apol, mart

Reply via email to