Diffusion KWin 33f46f6d6c10

[nightcolor] Expose some properties to d-bus

Authored by zzag on Jan 7 2020, 3:11 PM.

Description

[nightcolor] Expose some properties to d-bus

Summary:
Currently, in order to retrieve the current screen color temperature
applied to all screen as well other attributes of night color manager,
one has to call nightColorInfo() periodically. This goes against well
established patterns in d-bus world. It is recommended to expose a
bunch of d-bus properties rather than have a method that returns all
relevant properties stored in a JSON object.

The ugliest thing about this patch is that a lot of code is duplicated
to emit the PropertiesChanged signal. Unfortunately, QtDBus doesn't
take care of this and we are left with only two options - either do
weird things with QMetaObject or manually emit the signal. I have
picked the second option since it's more comprehensible and less magic
is going on, but I have to admit that the chosen approach is ugly.

I hope that "Qt 6 will fix it."

CCBUG: 400418

Reviewers: KWin, davidedmundson

Reviewed By: KWin, davidedmundson

Subscribers: kwin

Tags: KWin

Differential Revision: https://phabricator.kde.org/D25946

Details

Committed
zzagJan 7 2020, 3:12 PM
Reviewer
KWin
Differential Revision
D25946: [nightcolor] Expose some properties to d-bus
Parents
R108:5bec89ac90d5: [nightcolor] Introduce inhibition API
Branches
Unknown
Tags
Unknown