The power management inhibition UI is currently somewhat confusing to
users because it's not clear that the checkbox is a local override for
the permanent settings set elsewhere in System Settings.
A good sign that the UI is sub-optimal is that we refer to it as "power
management inhibition" internally and in our developer conversations,
but the UI expresses the opposite: *allowing* power management, not
inhibiting it. This conflicts in the user's mind with the UI in System
Settings that is also expressed in terms of allowing it. It is further
confused by the fact that the message about apps suppressing power
management is phrased in terms of being an temporary override, and that
we also show an unrelated message about the battery charge limit (if set)
in the same place where we're notifying the user about power management
inhibition.
Let's clarify this UI by doing the following:
- Re-word the checkbox's label to emphasize that it's a local override
for the settings that were set elsewhere
- Move the charge level message into the battery item itself, since
that's what it affects
- Slightly re-word the message for when apps are inhibiting power
management to emphasize that power management can be inhibited
automatically by apps in additionto manually by the user
BUG: 435827
FIXED-IN: 5.22
We ported units to use the PlasmaCore.Units singleton earlier; now it's
time to do the same thing for PlasmaCore.Theme.
There are no UI changes or regressions detected.
The context property version is slower to access and won't be supported
in Qt6. Let's port away from it and use the singleton version instead.
Here was my full process for making this change:
1. Made the change with `find . -name '*.qml' | xargs perl -pi -e 's/units\./PlasmaCore\.Units\./g'`
2. Verified no more occurrences with `grep -r " units."`
3. Made sure this didn't change any comments in a silly way by inspecting the output of `git diff | grep "+ " | grep "//"`
4. Manually inspected the full git diff to make sure there were no other unintentional or silly changes (there were none)
5. verified that all changed files have the PlasmaCore import with the correct name with `for FILE in `git status | grep modified | cut -d ":" -f 3`; do grep -q "as PlasmaCore" $FILE || echo "$FILE needs the PlasmaCore import"; done`
the comboboix of a very rarely used feature right
in the header area is super noisy, looks misaligned and puts the feature
in a too much prominent role.
Put everything under a popup menu, mustually exclusive actions will be
shown as radiobuttons
Right now this functionality is only offered through the context menu,
which of course is not available on touch. This commit adds a simple
toolbutton in the applet's toolbar to show the Energy KCM.
This patch improves the UI for inhibiting power management and seeing
which apps are automatically doing it. Here are the changes, explained:
1. Use less jargonistic terminology for the feature itself, and remove
the explanatory tooltip which is no longer necessary
2. Show the full list of apps which are inhibiting power management,
because we have the space now that app icons are smaller
3. Correctly show and hide the list of inhibitions based on count and
Whether or not the user has independently suppressed PM
4. Leave a bit more room for long reasons and alert translators to
minimize string length as much as possible
BUG: 401108
FIXED-IN: 5.20.0
Summary:
I probably introduced the issue fixed here with D29315, sorry. This patch makes the
parent layout invisible when all of its children are invisible, so it doesn't keep
taking up some vertical space after a previously-visible inhibition goes away.
Test Plan: When an inhibition goes away, it once again looks like it should: {F8288112}
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D29467
Summary:
This makes it take up less vertical space in the header area and also match the similar
message in the notifications applet.
Test Plan: {F8274308}
Reviewers: #vdg, #plasma, broulik, manueljlin, mart
Reviewed By: #vdg, #plasma, mart
Subscribers: plasma-devel
Tags: #plasma
Maniphest Tasks: T10470
Differential Revision: https://phabricator.kde.org/D29315
Summary:
This patch implements part of the mockup at T10470 by putting the power management
checkbox and settings button in a heading area visually connected to the titlebar.
In the process, I fixed a problem with the power management checkbox to make the layout's
spacing work: the checkbox now has text of its own, instead of living in a mouse area
with a separate label.
Test Plan:
{F8254807}
{F8254808}
Reviewers: #vdg, #plasma, broulik, niccolove, manueljlin
Reviewed By: #vdg, manueljlin
Subscribers: plasma-devel
Tags: #plasma
Maniphest Tasks: T10470
Differential Revision: https://phabricator.kde.org/D29116
Use Layouts where applicable and clean up a bit. Makes the code much easier to follow.
Also drop meaningless percentage for brightness as suggested by the usability team.
This makes the settings more accessible for perople that associate the battery icon with
"my notebook turns of when I don't want it to". The button looks a bit lost there and
I might remove it again but let's see how it goes.
When an application has posted an inhibition (video playback, presentation, ...)
it will now be shown in the battery monitor with its icon, name and the
reason given by the application.
It broke with the QtQuick Controls checkbox since the hovered()/released() methods
we "forwarded" to make the Label look like it belongs to the CheckBox are no longer
available to us
This patch simplifies the battery's ui, and brings spacing in line with
Plasma 5 standards.
In detail:
- removing the selection item on batteries: it's already visible by the
text shown that the battery is selected. It also doesn't need the
selection semantics across the ui, because -- for what?
- remove separator lines, in Plasma 5, we use spacing for this case
- Improve HighDPI by removign hard-coded layout hints, use units.gridUnit
throughout
- Fix batteryitem's status: it would show the wrong icon and time label,
because AC Adapter can be empty. Checking charging is semantically
correct here, since it uses the charge state, not the adapter state.
- remove a bunch of SVGs that were used internally to get margins -- use
gridUnit for layout internal margins instead
- fix slider's right alignment, this would jump based on the percentage
label's width, which varies per item. We know the rough length of the
percentage label from the context, and can align the labels to that.
Thanks everybody for the reviews!
REVIEW:118272
This is the beginning of revision history for this module. If you
want to look at revision history older than this, please refer to the
techbase wiki for how to use Git history grafting. At the time of
writing, this wiki is located here:
http://community.kde.org/Frameworks/GitOldHistory
If you have already performed the grafting and you don't see any
history beyond this commit, try running "git log" with the "--follow"
argument.
Branched from the monolithic repo kde-workspace, frameworks branch, at commit
049113e719dd2fc4446d054fa1a3aada330094f0