72 lines
2.2 KiB
QML
72 lines
2.2 KiB
QML
// An inset paragraph inside a card: the explanation that is too long to be a
|
|
// row's `detail` and too important to be left out.
|
|
//
|
|
// SettingsNote {
|
|
// headline: "Sticky, slow and bounce keys are not offered"
|
|
// body: "Hyprland has no such options..."
|
|
// }
|
|
//
|
|
// Deliberately quiet. This is not a warning banner and must never grow one's
|
|
// coloring: the things it explains are absences and boundaries, not problems,
|
|
// and a red-edged box would make "this desktop cannot do that yet" read as
|
|
// "something is wrong here". It sits darker than the card it is in, which is
|
|
// the whole visual signal it needs -- a note, set into the surface.
|
|
|
|
import QtQuick
|
|
import qs.config
|
|
|
|
Rectangle {
|
|
id: root
|
|
|
|
// The claim, in one line. Said first because a reader who stops after it
|
|
// still leaves with the answer.
|
|
property string headline: ""
|
|
// Why the claim is true. This is where the receipts go.
|
|
property string body: ""
|
|
|
|
width: parent ? parent.width : 620
|
|
implicitHeight: copy.implicitHeight + 22
|
|
radius: Theme.cardRadius
|
|
color: Theme.alpha(Theme.bgDark, 0.5)
|
|
border.width: 1
|
|
border.color: Theme.alpha(Theme.fg, 0.08)
|
|
|
|
// Read out as one passage rather than as two unrelated fragments.
|
|
Accessible.role: Accessible.StaticText
|
|
Accessible.name: root.headline
|
|
Accessible.description: root.body
|
|
|
|
Column {
|
|
id: copy
|
|
|
|
anchors.left: parent.left
|
|
anchors.right: parent.right
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
anchors.leftMargin: 13
|
|
anchors.rightMargin: 13
|
|
spacing: 4
|
|
|
|
Text {
|
|
width: parent.width
|
|
visible: root.headline !== ""
|
|
text: root.headline
|
|
color: Theme.fg
|
|
font.family: Theme.fontFamily
|
|
font.pixelSize: Theme.fontSizeSmall
|
|
font.weight: Font.DemiBold
|
|
wrapMode: Text.WordWrap
|
|
}
|
|
|
|
Text {
|
|
width: parent.width
|
|
visible: root.body !== ""
|
|
text: root.body
|
|
color: Theme.fgDim
|
|
font.family: Theme.fontFamily
|
|
font.pixelSize: Theme.fontSizeSmall
|
|
lineHeight: 1.35
|
|
wrapMode: Text.WordWrap
|
|
}
|
|
}
|
|
}
|