Port ChatBar actions to Button
Cleans up the code and improves accessibility
This commit is contained in:
@@ -357,38 +357,26 @@ QQC2.Control {
|
|||||||
QQC2.ToolTip.text: text
|
QQC2.ToolTip.text: text
|
||||||
QQC2.ToolTip.visible: hovered
|
QQC2.ToolTip.visible: hovered
|
||||||
}
|
}
|
||||||
Row {
|
RowLayout {
|
||||||
id: actionsRow
|
id: actionsRow
|
||||||
padding: Kirigami.Units.smallSpacing
|
|
||||||
spacing: Kirigami.Units.smallSpacing
|
|
||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
property var requiredMargin: (root.width - chatBarSizeHelper.currentWidth) / 2 + Kirigami.Units.largeSpacing + (chatBarScrollView.QQC2.ScrollBar.vertical.visible && !(root.width > chatBarSizeHelper.currentWidth) ? Kirigami.Units.largeSpacing * 2.5 : 0)
|
anchors.bottom: parent.bottom
|
||||||
anchors.leftMargin: layoutDirection === Qt.RightToLeft ? requiredMargin : 0
|
anchors.leftMargin: layoutDirection === Qt.RightToLeft ? requiredMargin : 0
|
||||||
anchors.rightMargin: layoutDirection === Qt.RightToLeft ? 0 : requiredMargin
|
anchors.rightMargin: layoutDirection === Qt.RightToLeft ? 0 : requiredMargin
|
||||||
anchors.bottom: parent.bottom
|
anchors.bottomMargin: Kirigami.Units.smallSpacing
|
||||||
anchors.bottomMargin: Kirigami.Units.largeSpacing - 2
|
spacing: 0
|
||||||
|
property var requiredMargin: (root.width - chatBarSizeHelper.currentWidth) / 2 + Kirigami.Units.largeSpacing + (chatBarScrollView.QQC2.ScrollBar.vertical.visible && !(root.width > chatBarSizeHelper.currentWidth) ? Kirigami.Units.largeSpacing * 2.5 : 0)
|
||||||
|
|
||||||
Repeater {
|
Repeater {
|
||||||
model: root.actions
|
model: root.actions
|
||||||
Kirigami.Icon {
|
delegate: QQC2.ToolButton {
|
||||||
implicitWidth: Kirigami.Units.iconSizes.smallMedium
|
Layout.alignment: Qt.AlignVCenter
|
||||||
implicitHeight: Kirigami.Units.iconSizes.smallMedium
|
icon.name: modelData.isBusy ? "" : (modelData.icon.name.length > 0 ? modelData.icon.name : modelData.icon.source)
|
||||||
|
onClicked: modelData.trigger()
|
||||||
|
|
||||||
source: modelData.isBusy ? "" : (modelData.icon.name.length > 0 ? modelData.icon.name : modelData.icon.source)
|
QQC2.ToolTip.visible: hovered
|
||||||
active: actionArea.containsPress
|
|
||||||
visible: modelData.visible
|
|
||||||
enabled: modelData.enabled
|
|
||||||
MouseArea {
|
|
||||||
id: actionArea
|
|
||||||
anchors.fill: parent
|
|
||||||
onClicked: modelData.trigger()
|
|
||||||
cursorShape: Qt.PointingHandCursor
|
|
||||||
}
|
|
||||||
|
|
||||||
QQC2.ToolTip.visible: modelData.tooltip !== "" && hoverHandler.hovered
|
|
||||||
QQC2.ToolTip.text: modelData.tooltip
|
QQC2.ToolTip.text: modelData.tooltip
|
||||||
QQC2.ToolTip.delay: Kirigami.Units.toolTipDelay
|
QQC2.ToolTip.delay: Kirigami.Units.toolTipDelay
|
||||||
HoverHandler { id: hoverHandler }
|
|
||||||
|
|
||||||
PieProgressBar {
|
PieProgressBar {
|
||||||
visible: modelData.isBusy
|
visible: modelData.isBusy
|
||||||
|
|||||||
Reference in New Issue
Block a user