[ExpandableListItem] Add new showDefaultActionButtonWhenBusy option

This commit is contained in:
Nate Graham 2020-04-12 22:35:38 -06:00
parent 0f9abc2d40
commit 700f90538f

View File

@ -177,6 +177,16 @@ MouseArea {
*/
property bool defaultActionButtonVisible: true
/*
* showDefaultActionButtonWhenBusy : bool
* Whether to continue showing the default action button while the busy
* indicator is visible. Useful for cancelable actions that could take a few
* seconds and show a busy indicator while processing.
*
* Optional; defaults to false
*/
property bool showDefaultActionButtonWhenBusy: false
/*
* contextualActionsModel: list<QtObject>
* A list of Action objects that describes additional actions that can be
@ -421,20 +431,7 @@ MouseArea {
}
}
// Default action button
PlasmaComponents3.Button {
id: defaultActionButton
enabled: listItem.isEnabled
visible: defaultActionButtonAction
&& listItem.defaultActionButtonVisible
&& listItem.containsMouse
&& !busyIndicator.visible
icon.width: units.iconSizes.smallMedium
icon.height: units.iconSizes.smallMedium
}
// Busy indicator
PlasmaComponents3.BusyIndicator {
id: busyIndicator
@ -445,6 +442,20 @@ MouseArea {
Layout.maximumWidth: Layout.maximumHeight
}
// Default action button
PlasmaComponents3.Button {
id: defaultActionButton
enabled: listItem.isEnabled
visible: defaultActionButtonAction
&& listItem.defaultActionButtonVisible
&& listItem.containsMouse
&& (!busyIndicator.visible || listItem.showDefaultActionButtonWhenBusy)
icon.width: units.iconSizes.smallMedium
icon.height: units.iconSizes.smallMedium
}
// Expand/collapse button
PlasmaComponents3.Button {
visible: listItem.containsMouse