The intention is to make it as short as meaningfully possible, as it is
used a lot in expressions, and will be used even more after porting the
rest of accesses to the dynamically scoped `model` variable to the
equivalent `root.battery` property lookup.
They were supposed to be in the column on the right this whole time, as
was indicated by an artificial Layout.leftMargin (ex-anchors.leftMargin).
Cons: Now the ToolTip pops up anywhere over a possibly lengthy details
and inhibition hint's text.
Pros: The ToolTip is never active.
This is a direct translation of anchors to QtQuick.Layouts, except
gridUnit in leftMargin is replaced with something it was really meant
to be: the value of a margin on the right side of the batteryIcon,
which happens to be the RowLayout's spacing.
But once we yeet the ToolTipArea (or even before that), those
BatteryDetails and InhibitionHint components should be placed inside
the infoRow's ColumnLayout.
Replaces Row/Column with RowLayout/ColumnLayout, and x/y/width/height
with appropriate Layout.margins and preferrewWidth bindings.
Layout.* properties of the mainItem itself are now greatly simplified,
because top-level RowLayout manages its implicit width just fine.
Maximum width for BatteryDetails component is back, after it was lost
in 44ed25e521 refactoring.
This prevents audit locations that don't appear on disk from showing up
as clickable links in the KCM, which produces a bad UX whereby you can
try to open the nonexistent location and then you get an ugly error
message instead. So let's just not even show them if they don't exist
BUG: 445959
FIXED-IN: 5.24
This commit re-implements the critical notification to be inside the
notification popup, not the notification item. This yields several
benefits:
- It's the semantically correct place to implement it since critical
notifications don't appear in the history, so there's no reason to
implement it in a component that's re-used for the history view
- The line extends down to the bottom for critical notifications that
have buttons, job progress, text input fields, files, or screenshots
- Simpler code overall
This reverts commit be7efa5ec2.
This reverts commit 93355636de.
This was not the best way to implement the feature, as it failed to take
into account the fact that critical notifications can have more content
than just text. A better place to implement it would be in the popup
itself.
We still get user complaints that this UI is confusing because of the
terminology used and the visual proximity between the checkbox and the
inhibitions list. This commit attempts to improve that by:
- Make the checkbox text shorter, have less jargon, and say the word
"manual" in it instead of "automatic", which was confusing
- Adding the word "currently" to app-initiated inhibitions, to textually
distinguish transient app-initiated inhibitions from user-initiated
manual inhibition
- Separating the checkbox from the inhibitions list with a subtle line
separator
We can leverage the `priority` property of QActions, which is Normal (128)
by default, and hide it from systray header if the priority is set to
LowPriority (0).
BUG: 446396
GridLayout no longer crashes was described in an old comment and
nowadays is pretty safe to use. Repeater, however, still doesn't
support instantiating multiple top-level items at once, which is
unfortunate but can be worked around; see upstream Qt bug below.
In this case, however, simple is better than smart-ish; the entire
at-most-two-rows table-like grid can be recreated entirely without
Repeaters and clever models. Just do it.
See also: QTBUG-38098
This UI control currently has an extremely long tooltip that talks about
a bunch of technical jargon the user is likely to know nothing about,
and also says inaccurate things by mentioning hardware where the DPI is
not automatically detected, when in fact Qt software explicitly avoids
scaling things by DPI in the first place.
BUG: 445647
FIXED-IN: 5.24