D27840: Introduce SettingState* elements to ease KCM writing

2020-04-20 Thread Kevin Ottens
This revision was automatically updated to reflect the committed changes.
Closed by commit R296:24211925f835: Introduce SettingState* elements to ease 
KCM writing (authored by ervin).

REPOSITORY
  R296 KDeclarative

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D27840?vs=80305=80654

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

AFFECTED FILES
  src/qmlcontrols/kcmcontrols/CMakeLists.txt
  src/qmlcontrols/kcmcontrols/kcmcontrolsplugin.cpp
  src/qmlcontrols/kcmcontrols/qml/SettingStateBinding.qml
  src/qmlcontrols/kcmcontrols/qml/SettingStateIndicator.qml
  src/qmlcontrols/kcmcontrols/qml/qmldir
  src/qmlcontrols/kcmcontrols/settingstatebindingprivate.cpp
  src/qmlcontrols/kcmcontrols/settingstatebindingprivate.h
  src/qmlcontrols/kcmcontrols/settingstateproxy.cpp
  src/qmlcontrols/kcmcontrols/settingstateproxy.h

To: ervin, crossi, hchain, meven, bport, davidedmundson, mart, ngraham, 
#frameworks, #plasma
Cc: broulik, kde-frameworks-devel, LeGast00n, cblack, michaelh, ngraham, bruns


D27840: Introduce SettingState* elements to ease KCM writing

2020-04-20 Thread David Edmundson
davidedmundson accepted this revision.

REPOSITORY
  R296 KDeclarative

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

To: ervin, crossi, hchain, meven, bport, davidedmundson, mart, ngraham, 
#frameworks, #plasma
Cc: broulik, kde-frameworks-devel, LeGast00n, cblack, michaelh, ngraham, bruns


D27840: Introduce SettingState* elements to ease KCM writing

2020-04-16 Thread Kevin Ottens
ervin updated this revision to Diff 80305.
ervin added a comment.


  Fix issues found with Cyril's patches on various KCMs.

REPOSITORY
  R296 KDeclarative

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D27840?vs=78698=80305

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

AFFECTED FILES
  src/qmlcontrols/kcmcontrols/CMakeLists.txt
  src/qmlcontrols/kcmcontrols/kcmcontrolsplugin.cpp
  src/qmlcontrols/kcmcontrols/qml/SettingStateBinding.qml
  src/qmlcontrols/kcmcontrols/qml/SettingStateIndicator.qml
  src/qmlcontrols/kcmcontrols/qml/qmldir
  src/qmlcontrols/kcmcontrols/settingstatebindingprivate.cpp
  src/qmlcontrols/kcmcontrols/settingstatebindingprivate.h
  src/qmlcontrols/kcmcontrols/settingstateproxy.cpp
  src/qmlcontrols/kcmcontrols/settingstateproxy.h

To: ervin, crossi, hchain, meven, bport, davidedmundson, mart, ngraham, 
#frameworks, #plasma
Cc: broulik, kde-frameworks-devel, LeGast00n, cblack, michaelh, ngraham, bruns


D27840: Introduce SettingState* elements to ease KCM writing

2020-04-06 Thread Cyril Rossi
crossi added a dependent revision: D28629: [WIP] Port KCM to 
SettingStateBinding.

REPOSITORY
  R296 KDeclarative

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

To: ervin, crossi, hchain, meven, bport, davidedmundson, mart, ngraham, 
#frameworks, #plasma
Cc: broulik, kde-frameworks-devel, LeGast00n, cblack, GB_2, michaelh, ngraham, 
bruns


D27840: Introduce SettingState* elements to ease KCM writing

2020-04-06 Thread Cyril Rossi
crossi added a dependent revision: D28622: [WIP] Port KCM KWin Decoration and 
VirtualDesktop to SettingStateBinding.

REPOSITORY
  R296 KDeclarative

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

To: ervin, crossi, hchain, meven, bport, davidedmundson, mart, ngraham, 
#frameworks, #plasma
Cc: broulik, kde-frameworks-devel, LeGast00n, cblack, GB_2, michaelh, ngraham, 
bruns


D27840: Introduce SettingState* elements to ease KCM writing

2020-03-27 Thread Kevin Ottens
ervin updated this revision to Diff 78698.
ervin marked 10 inline comments as done.
ervin added a comment.


  Addresses Kai and David comments.

REPOSITORY
  R296 KDeclarative

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D27840?vs=78469=78698

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

AFFECTED FILES
  src/qmlcontrols/kcmcontrols/CMakeLists.txt
  src/qmlcontrols/kcmcontrols/kcmcontrolsplugin.cpp
  src/qmlcontrols/kcmcontrols/qml/SettingStateBinding.qml
  src/qmlcontrols/kcmcontrols/qml/SettingStateIndicator.qml
  src/qmlcontrols/kcmcontrols/qml/qmldir
  src/qmlcontrols/kcmcontrols/settingstatebindingprivate.cpp
  src/qmlcontrols/kcmcontrols/settingstatebindingprivate.h
  src/qmlcontrols/kcmcontrols/settingstateproxy.cpp
  src/qmlcontrols/kcmcontrols/settingstateproxy.h

To: ervin, crossi, hchain, meven, bport, davidedmundson, mart, ngraham, 
#frameworks, #plasma
Cc: broulik, kde-frameworks-devel, LeGast00n, cblack, GB_2, michaelh, ngraham, 
bruns


D27840: Introduce SettingState* elements to ease KCM writing

2020-03-27 Thread Kevin Ottens
ervin marked 15 inline comments as done.
ervin added inline comments.

INLINE COMMENTS

> broulik wrote in SettingStateBinding.qml:58
> This description didn't really help me in understanding what it does until I 
> read the code further down.

Went for something much more verbose, but at least it says what it does.

> broulik wrote in SettingStateBinding.qml:75
> Can you explain this.
> Can't you
> 
>   indicatorComponent.createObject(target, {
>   settingsState: settingsState
>   });

Good point.

> broulik wrote in SettingStateBinding.qml:91
> We could also bind `parent: target` instead?

Tried it and QQuickItem was very angry at me, I didn't push further. :-)

> broulik wrote in SettingStateBinding.qml:97
> Please check if this works with right-to-left languages (run with `-reverse` 
> argument to test)

Again that's one of those comments I'd have appreciated on the widgets version 
a little while ago. ;-)

> davidedmundson wrote in SettingStateIndicator.qml:30
> This is a faux-button.
> 
> Which means it needs all the relevant:
> Accessible.blah
> 
> roles to be manually added
> 
> Should it be in the tab focus chain?
> 
> (or we could just inherit ToolButton)

Note this is the case for the QtWidgets implementation as well. I switched to 
ToolButton here but I likely need to do something similar in my other patch... 
would have been nice to have this comment earlier there (it's been ready a bit 
longer), you guys have a bias against widgets based patches. ;-)

I think it shouldn't temper with focus at all though, this is almost impossible 
to get correct in that context I think, so it'll simply reject focus (not too 
much of an issue in that context IMHO).

> broulik wrote in SettingStateIndicator.qml:40
> Perhaps bind to `icon.valid`?

Done completely differently with ToolButton anyway.

> broulik wrote in SettingStateIndicator.qml:48
> You could make the `root` `Item` a `MouseArea` instead.
> Also, I think this should get some kind of hover and/or pressed indication?
> Also, what about `Accessible` and keyboard focus? Should this be a proper 
> `ToolButton` control instead?

See my reply to @davidedmundson above, I switched to ToolButton.

> broulik wrote in settingstatebindingprivate.cpp:30
> Odd. Wouldn't we just get `QQuickRowLayout` et al? Or is that if you do a 
> custom item with a `Layout` as a base?

Or if you make something like Kirigami.FormLayout which has Item as base... 
obviously it's mostly an heuristic so can't be 100% perfect.

> broulik wrote in settingstatebindingprivate.cpp:82
> Too bad `QQuickItemChangeListener` is private.
> 
> Also, does any of this need event compression?

That really didn't feel like it required event compression to be honest at 
least I couldn't perceive any visible impact.

> broulik wrote in settingstatebindingprivate.cpp:90
> Check if it actually changed before emitting

Well it will have changed in 90% of the cases and checking means doing the 
computation anyway, which will happen when the getter is called. We'd pay the 
price twice.

An option is of course to cache the result of the getter to the price of higher 
complexity. Again I didn't perceive any visible impact on use. Should I go for 
it anyway?

Note I'm not at all denying this implementation is in some way inefficient, I'm 
just pointing out the trade off in term of readability and maintainability of 
the system.

> broulik wrote in settingstatebindingprivate.cpp:107
> Check if it actually changed before emitting

Same answer than the previous such case.

REPOSITORY
  R296 KDeclarative

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

To: ervin, crossi, hchain, meven, bport, davidedmundson, mart, ngraham, 
#frameworks, #plasma
Cc: broulik, kde-frameworks-devel, LeGast00n, cblack, GB_2, michaelh, ngraham, 
bruns


D27840: Introduce SettingState* elements to ease KCM writing

2020-03-27 Thread Kai Uwe Broulik
broulik added a comment.


  Cool

INLINE COMMENTS

> SettingStateBinding.qml:40
> + * target: Item
> + * The graphical element which state we want to manage based on a setting
> + */

*whose

> SettingStateBinding.qml:58
> + * extraEnabledPredicate: bool
> + * An extra predicate which will be applied to the enabled property
> + * of the target combined with the immutable state of the setting

This description didn't really help me in understanding what it does until I 
read the code further down.

> SettingStateBinding.qml:75
> +property KCM.SettingStateIndicator indicator: null
> +// Necessary for proper binding within the Component element,
> +// otherwise it would get null for its created instances

Can you explain this.
Can't you

  indicatorComponent.createObject(target, {
  settingsState: settingsState
  });

> SettingStateBinding.qml:91
> +
> +// We use it via a Component because we potentially need
> +// to escape the parent/siblings only constraint for anchoring

We could also bind `parent: target` instead?

> SettingStateBinding.qml:97
> +KCM.SettingStateIndicator {
> +x: helper.leftCoord - (root.indicatorAsOverlay ? width : 0)
> +y: root.indicatorAsOverlay ? 0 : (parent.height - height) / 2

Please check if this works with right-to-left languages (run with `-reverse` 
argument to test)

> SettingStateBinding.qml:98
> +x: helper.leftCoord - (root.indicatorAsOverlay ? width : 0)
> +y: root.indicatorAsOverlay ? 0 : (parent.height - height) / 2
> +settingState: impl.settingState

Always `Math.round` whenever you divide sizes to ensure integer alignment

> SettingStateIndicator.qml:38
> +
> +width: 16
> +height: 16

Probably should be `Kirigami.Units.iconSizes.small`.
Generally, when creating reusable components, avoid giving them a `width` and 
`height`.
Instead, define an `implicitWidth` and `implicitHeight`.

> SettingStateIndicator.qml:40
> +height: 16
> +visible: icon.source !== ""
> +

Perhaps bind to `icon.valid`?

> SettingStateIndicator.qml:48
> +
> +MouseArea {
> +anchors.fill: parent

You could make the `root` `Item` a `MouseArea` instead.
Also, I think this should get some kind of hover and/or pressed indication?
Also, what about `Accessible` and keyboard focus? Should this be a proper 
`ToolButton` control instead?

> settingstatebindingprivate.cpp:30
> +{
> +// Split since some exported types will be of the form: Foo_QMLTYPE_XX
> +const auto className = 
> QByteArray(item->metaObject()->className()).split('_').first();

Odd. Wouldn't we just get `QQuickRowLayout` et al? Or is that if you do a 
custom item with a `Layout` as a base?

> settingstatebindingprivate.cpp:82
> +m_target->setProperty(bindingProperty, QVariant::fromValue(this));
> +connect(m_target, ::parentChanged, this, 
> ::triggerCoordChanges);
> +connect(m_target, ::widthChanged, this, 
> ::triggerCoordChanges);

Too bad `QQuickItemChangeListener` is private.

Also, does any of this need event compression?

> settingstatebindingprivate.cpp:90
> +emit targetChanged();
> +emit leftCoordChanged();
> +}

Check if it actually changed before emitting

> settingstatebindingprivate.cpp:107
> +emit indicatorChanged();
> +emit leftCoordChanged();
> +}

Check if it actually changed before emitting

> settingstatebindingprivate.h:29
> +Q_OBJECT
> +Q_PROPERTY(QQuickItem* target READ target WRITE setTarget NOTIFY 
> targetChanged)
> +Q_PROPERTY(QQuickItem* indicator READ indicator WRITE setIndicator 
> NOTIFY indicatorChanged)

Coding style, `QQuickItem *target`

REPOSITORY
  R296 KDeclarative

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

To: ervin, crossi, hchain, meven, bport, davidedmundson, mart, ngraham, 
#frameworks, #plasma
Cc: broulik, kde-frameworks-devel, LeGast00n, cblack, GB_2, michaelh, ngraham, 
bruns


D27840: Introduce SettingState* elements to ease KCM writing

2020-03-27 Thread David Edmundson
davidedmundson added inline comments.

INLINE COMMENTS

> SettingStateIndicator.qml:30
> +Item {
> +id: root
> +

This is a faux-button.

Which means it needs all the relevant:
Accessible.blah

roles to be manually added

Should it be in the tab focus chain?

(or we could just inherit ToolButton)

> SettingStateIndicator.qml:38
> +
> +width: 16
> +height: 16

Setting root width/height inside a component is almost always not what you want.

Use implicitWidth/implicitHeight.

REPOSITORY
  R296 KDeclarative

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

To: ervin, crossi, hchain, meven, bport, davidedmundson, mart, ngraham, 
#frameworks, #plasma
Cc: kde-frameworks-devel, LeGast00n, cblack, GB_2, michaelh, ngraham, bruns


D27840: Introduce SettingState* elements to ease KCM writing

2020-03-25 Thread Kevin Ottens
ervin updated this revision to Diff 78469.
ervin added a comment.


  Have the indicators line up vertically automatically when applicable

REPOSITORY
  R296 KDeclarative

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D27840?vs=77848=78469

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

AFFECTED FILES
  src/qmlcontrols/kcmcontrols/CMakeLists.txt
  src/qmlcontrols/kcmcontrols/kcmcontrolsplugin.cpp
  src/qmlcontrols/kcmcontrols/qml/SettingStateBinding.qml
  src/qmlcontrols/kcmcontrols/qml/SettingStateIndicator.qml
  src/qmlcontrols/kcmcontrols/qml/qmldir
  src/qmlcontrols/kcmcontrols/settingstatebindingprivate.cpp
  src/qmlcontrols/kcmcontrols/settingstatebindingprivate.h
  src/qmlcontrols/kcmcontrols/settingstateproxy.cpp
  src/qmlcontrols/kcmcontrols/settingstateproxy.h

To: ervin, crossi, hchain, meven, bport, davidedmundson, mart, ngraham, 
#frameworks, #plasma
Cc: kde-frameworks-devel, LeGast00n, cblack, GB_2, michaelh, ngraham, bruns


D27840: Introduce SettingState* elements to ease KCM writing

2020-03-17 Thread Kevin Ottens
ervin updated this revision to Diff 77848.
ervin added a comment.


  Take feedback about the GUI into account

REPOSITORY
  R296 KDeclarative

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D27840?vs=76952=77848

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

AFFECTED FILES
  src/qmlcontrols/kcmcontrols/CMakeLists.txt
  src/qmlcontrols/kcmcontrols/kcmcontrolsplugin.cpp
  src/qmlcontrols/kcmcontrols/qml/SettingStateBinding.qml
  src/qmlcontrols/kcmcontrols/qml/SettingStateIndicator.qml
  src/qmlcontrols/kcmcontrols/qml/qmldir
  src/qmlcontrols/kcmcontrols/settingstateproxy.cpp
  src/qmlcontrols/kcmcontrols/settingstateproxy.h

To: ervin, crossi, hchain, meven, bport, davidedmundson, mart, ngraham, 
#frameworks, #plasma
Cc: kde-frameworks-devel, LeGast00n, cblack, GB_2, michaelh, ngraham, bruns


D27840: Introduce SettingState* elements to ease KCM writing

2020-03-17 Thread Benjamin Port
bport accepted this revision.
bport added a comment.
This revision is now accepted and ready to land.


  From code POV this is ok, but neet to wait feedback from VDG to adapt state 
indicator

REPOSITORY
  R296 KDeclarative

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

To: ervin, crossi, hchain, meven, bport, davidedmundson, mart, ngraham, 
#frameworks, #plasma
Cc: kde-frameworks-devel, LeGast00n, cblack, GB_2, michaelh, ngraham, bruns


D27840: Introduce SettingState* elements to ease KCM writing

2020-03-05 Thread Kevin Ottens
ervin added a comment.


  In D27840#622937 , @ngraham wrote:
  
  > This patch doesn't apply on top of KDeclarative for me:
  >
  >   This diff is against commit 3d8757d5dfea2360304e2c8e7d0d575d04b00735, 
but
  >   the commit is nowhere in the working copy. Try to apply it against the
  >   current working copy state? (a1282da765c1b909d03d6c94eb77fd99e4374d74)
  >   [Y/n] y
  >  
  >   Checking patch src/qmlcontrols/kcmcontrols/settingstateproxy.h...
  >   Checking patch src/qmlcontrols/kcmcontrols/settingstateproxy.cpp...
  >   Checking patch src/qmlcontrols/kcmcontrols/qml/qmldir...
  >   Checking patch 
src/qmlcontrols/kcmcontrols/qml/SettingStateIndicator.qml...
  >   Checking patch src/qmlcontrols/kcmcontrols/qml/SettingStateBinding.qml...
  >   Checking patch src/qmlcontrols/kcmcontrols/kcmcontrolsplugin.cpp...
  >   Checking patch src/qmlcontrols/kcmcontrols/CMakeLists.txt...
  >   error: while searching for:
  >  
  >   set(kcmcontrols_SRCS
  >   kcmcontrolsplugin.cpp
  >   )
  >  
  >   add_library(kcmcontrolsplugin SHARED ${kcmcontrols_SRCS})
  >  
  >   error: patch failed: src/qmlcontrols/kcmcontrols/CMakeLists.txt:2
  >   Hunk #2 succeeded at 12 (offset -1 lines).
  >   Applied patch src/qmlcontrols/kcmcontrols/settingstateproxy.h cleanly.
  >   Applied patch src/qmlcontrols/kcmcontrols/settingstateproxy.cpp cleanly.
  >   Applied patch src/qmlcontrols/kcmcontrols/qml/qmldir cleanly.
  >   Applied patch src/qmlcontrols/kcmcontrols/qml/SettingStateIndicator.qml 
cleanly.
  >   Applied patch src/qmlcontrols/kcmcontrols/qml/SettingStateBinding.qml 
cleanly.
  >   Applied patch src/qmlcontrols/kcmcontrols/kcmcontrolsplugin.cpp cleanly.
  >   Applying patch src/qmlcontrols/kcmcontrols/CMakeLists.txt with 1 reject...
  >   Rejected hunk #1.
  >   Hunk #2 applied cleanly.
  >  
  >Patch Failed! 
  >
  
  
  Ah right, sorry it depends on D27839 .

REPOSITORY
  R296 KDeclarative

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

To: ervin, crossi, hchain, meven, bport, davidedmundson, mart, ngraham, 
#frameworks, #plasma
Cc: kde-frameworks-devel, LeGast00n, cblack, GB_2, michaelh, ngraham, bruns


D27840: Introduce SettingState* elements to ease KCM writing

2020-03-05 Thread Nathaniel Graham
ngraham added a comment.


  This patch doesn't apply on top of KDeclarative for me:
  
This diff is against commit 3d8757d5dfea2360304e2c8e7d0d575d04b00735, 
but
the commit is nowhere in the working copy. Try to apply it against the
current working copy state? (a1282da765c1b909d03d6c94eb77fd99e4374d74)
[Y/n] y

Checking patch src/qmlcontrols/kcmcontrols/settingstateproxy.h...
Checking patch src/qmlcontrols/kcmcontrols/settingstateproxy.cpp...
Checking patch src/qmlcontrols/kcmcontrols/qml/qmldir...
Checking patch src/qmlcontrols/kcmcontrols/qml/SettingStateIndicator.qml...
Checking patch src/qmlcontrols/kcmcontrols/qml/SettingStateBinding.qml...
Checking patch src/qmlcontrols/kcmcontrols/kcmcontrolsplugin.cpp...
Checking patch src/qmlcontrols/kcmcontrols/CMakeLists.txt...
error: while searching for:

set(kcmcontrols_SRCS
kcmcontrolsplugin.cpp
)

add_library(kcmcontrolsplugin SHARED ${kcmcontrols_SRCS})

error: patch failed: src/qmlcontrols/kcmcontrols/CMakeLists.txt:2
Hunk #2 succeeded at 12 (offset -1 lines).
Applied patch src/qmlcontrols/kcmcontrols/settingstateproxy.h cleanly.
Applied patch src/qmlcontrols/kcmcontrols/settingstateproxy.cpp cleanly.
Applied patch src/qmlcontrols/kcmcontrols/qml/qmldir cleanly.
Applied patch src/qmlcontrols/kcmcontrols/qml/SettingStateIndicator.qml 
cleanly.
Applied patch src/qmlcontrols/kcmcontrols/qml/SettingStateBinding.qml 
cleanly.
Applied patch src/qmlcontrols/kcmcontrols/kcmcontrolsplugin.cpp cleanly.
Applying patch src/qmlcontrols/kcmcontrols/CMakeLists.txt with 1 reject...
Rejected hunk #1.
Hunk #2 applied cleanly.

 Patch Failed!

REPOSITORY
  R296 KDeclarative

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

To: ervin, crossi, hchain, meven, bport, davidedmundson, mart, ngraham, 
#frameworks, #plasma
Cc: kde-frameworks-devel, LeGast00n, cblack, GB_2, michaelh, ngraham, bruns


D27840: Introduce SettingState* elements to ease KCM writing

2020-03-04 Thread Kevin Ottens
ervin added a dependent revision: D27841: Port desktoptheme, icons and 
workspace KCMs to SettingStateBinding.

REPOSITORY
  R296 KDeclarative

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

To: ervin, crossi, hchain, meven, bport, davidedmundson, mart, ngraham, 
#frameworks, #plasma
Cc: kde-frameworks-devel, LeGast00n, cblack, GB_2, michaelh, ngraham, bruns


D27840: Introduce SettingState* elements to ease KCM writing

2020-03-04 Thread Kevin Ottens
ervin edited the summary of this revision.
ervin added reviewers: Frameworks, Plasma.

REPOSITORY
  R296 KDeclarative

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

To: ervin, crossi, hchain, meven, bport, davidedmundson, mart, ngraham, 
#frameworks, #plasma
Cc: kde-frameworks-devel, LeGast00n, cblack, GB_2, michaelh, ngraham, bruns


D27840: Introduce SettingState* elements to ease KCM writing

2020-03-04 Thread Kevin Ottens
ervin created this revision.
ervin added reviewers: crossi, hchain, meven, bport, davidedmundson, mart, 
ngraham.
Herald added a project: Frameworks.
Herald added a subscriber: kde-frameworks-devel.
ervin requested review of this revision.

REVISION SUMMARY
  This is the QML based counterpart of D27540 
. Unlike with the KCModule
  case, this is not automatically propagated to the ConfigModules, they
  will all have to be adapted to make use of it.
  
  I will provide another patch which ports a few ConfigModule to see
  how it looks.

REPOSITORY
  R296 KDeclarative

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

AFFECTED FILES
  src/qmlcontrols/kcmcontrols/CMakeLists.txt
  src/qmlcontrols/kcmcontrols/kcmcontrolsplugin.cpp
  src/qmlcontrols/kcmcontrols/qml/SettingStateBinding.qml
  src/qmlcontrols/kcmcontrols/qml/SettingStateIndicator.qml
  src/qmlcontrols/kcmcontrols/qml/qmldir
  src/qmlcontrols/kcmcontrols/settingstateproxy.cpp
  src/qmlcontrols/kcmcontrols/settingstateproxy.h

To: ervin, crossi, hchain, meven, bport, davidedmundson, mart, ngraham
Cc: kde-frameworks-devel, LeGast00n, cblack, GB_2, michaelh, ngraham, bruns