The service used so far is broken (doesn't resolve latitude and
longitude). Which means we need to switch the service to unbreak.
This change implements support for the Mozilla Location Service [1].
Advantages are:
* free
* open
* supports wifi based locationing
* provided by our FLOSS friends
REVIEW: 122628
[1] https://location.services.mozilla.com/
If there was a vlc engine it got skipped due to a bug in VLC. This
bug seems to be fixed as of VLC 2.1.5 which contains the following
item in the changelog:
"dbus: Upgrade to an mpris2 compliant interface"
Given that the workaround breaks with the fixed VLC (no media control
at all), it's better to drop it and brake VLC installations which
haven't updated for more than half a year.
REVIEW: 122589
Instead of having the media control shortcuts being grouped under
"plasmashell" a dedicated component "Media Controller" is added and all
shortcuts are assigned to it.
This solves the problem if multiple processes include the dataengine, the
shortcuts would be registered in each application.
REVIEW: 122588
The multiplexer registers global shortcuts for:
* play/pause
* next
* previous
* stop
and delegates them to the active player if triggered.
This could mean that media shortcuts for non mpris2 enabled
applications might break. The advantage is that we have global
shortcuts for media control.
BUG: 341587
FIXED-IN: 5.3.0
REVIEW: 122437
With this patch the text is first trimmed from whitespace at the
beginning and end, then all \ns are converted to <br/> (as before), then
the text replaces all remaining inner whitespace with single space and
finally, if there are two or more new lines in succession, it turns it
into just one.
REVIEW: 122314
BUG: 343532
KIconLoader gained a second argument in KF5 that allows one to pass an
absolute path to a icons to search.
This saves trying to guess the app name, and adding that. This fixes
certain application icons not loading (for example radiotray)
REVIEW: 122384
This can result in the "unknown" icon being shown but when an app posts an inhibition
without being found by either KService or name, that is a really naughty app.
A value of zero could either mean no battery present or it is really zero percent.
Also display "n% battery remaining" as fallback rather than an explicit "charging"
This was there to initially populate the dataengine. But since the requests are all
asynchronous the data won't be there on time anyway, so let's just wait until somebody
explicitly requests the source which was done by batterymonitor anyway resulting in two
subsequent calls potentially confusing PowerDevil and causing it to go nuts.
CCBUG: 337674
This adds a new "Inhibitions" source which has keys for each application
(amarok, vlc, ...) and inside a QVariantMap with the pretty application name
(taken from the desktop file through KService and cached localle), the
application icon and the reason for the inhibition (as provided by the app)
REVIEW: 122132
Amarok sets "Now Playing" title for every notification, which made it
grouped rather than replaced, so group only if the app_name is not in
the "always replace" list.
Reviewed-by: Kai Uwe Broulik
in case of several batteries; a plain "sum/count" won't do it,
especially when the batteries have different Energy. Take that into
account, report it thru the dataengine and do the math correctly
This allows the caller to suppress the OSD, for instance batterymonitor will
eventually no longer show the OSD when the user is actively dragging the slider
in the popup but still when using the mousewheel on the icon.
REVIEW: 121507
QTimeZone::systemTimeZoneId() will open /etc/localtime every single time it is called.
We are calling this in ::updateTime which happens every single minute, potentially
every second.
REVIEW: 121453
CCBUG: 335442
This should eventually allow us to react to hotplugging a keyboard and provide brightness
controls then. It does not yet watch for PowerDevil's availability on DBus (eg. when kded
takes a bit longer to startup), and also PowerDevil's brightness controls don't support
on-demand activation yet
REVIEW: 121365
Now that we can finally use absolute brightness values, rather than a fixed 0 - 100% range,
those values should be exposed in the dataengine. This allows us to eg. properly handle
keyboard brightness controls which usually have just a few steps
Also clean up code by moving stuff into lambdas and reworking the ugly brightness availability stuff.
REVIEW: 121355