Right now, to apply a change in a GridViewKCM, you need to select it, then click Apply. It would be a nice shortcut if you could double-click on it to select and then instantly apply.
Interesting approach. How do we communicate that to the user, though? Also, the "Apply" could apply more than just the currently selected item (if the KCM has some additional check boxes like look and feel for instance).
My thought was that this could just be a hidden accelerator, and wouldn't need explicit documentation. I found myself instinctively double-clicking delegates in these KCMs to insta-apply and was slightly disappointed when it didn't work. It's particularly useful when you want to rapidly iterate through visual options to see what they look like. In practice, I don't think it would be a big problem to apply other un-applied changes (in most case there wouldn't be any), though. If you feel differently, maybe it could throw away other un-applied changes if that's feasible?
Let's quickly go through the grid KCMs and see what would happen:
* Look and feel: the "apply theme" checkbox is quite destructive but we could uncheck it when double clicking before applying
* Desktop theme: should be fine
* Cursor theme: would also apply a new cursor size setting, if any
* Splash screen: should be fine
* Icons: would also apply a new icon size setting, if any
* Colors: should be fine
As for the code, it's merely adding a onDoubleClicked: kcm.save() call
The "apply theme" checkbox is the only real issue, I think. We could un-check it prior to applying, or even make it into a button that has to be deliberately clicked.
I don't want to see a combo of this and 403384, that would be mega confusing from a UI as it'd be near impossible to know what's applied with this shortcut and what's not.
I wouldn't expect something to apply by just (double)clicking or interacting in any way with items when I see "Apply" button in a dialog (and see manual apply pattern in (almost) every KDE application). Applying other changes, or just applying selectively, would be totally unpredictable.
Preview without real save (like in Konsole's edit profile → appearance) could be an option, eventually with some KMessageWidget-like "Preview" note. This would be the same as in #403384, except with double-click.
(In reply to Nate Graham from comment #2)
> I found myself instinctively double-clicking delegates in these KCMs to insta-apply and was slightly disappointed when it didn't work.
Out of curiosity: why did you expect that? I always expected double click to be an edit/rename action in lists and tables. Not sure why, so maybe its just me.
In the end we did it in the individual KCMs rather than in the generic grid delegate component.
Oops clicked submit by accident. One more commit rounds this out: