feat(StatusListItem): add `Danger` type support
Usage: ```qml StatusListItem { title: "Some title" icon.name: "delete" type: StatusListItem.Type.Danger } ``` Closes #248
This commit is contained in:
parent
c85d626f1e
commit
15b8d1e896
|
@ -236,6 +236,12 @@ GridLayout {
|
||||||
icon.background.color: "orange"
|
icon.background.color: "orange"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
StatusListItem {
|
||||||
|
title: "Title"
|
||||||
|
icon.name: "delete"
|
||||||
|
type: StatusListItem.Type.Danger
|
||||||
|
}
|
||||||
|
|
||||||
StatusDescriptionListItem {
|
StatusDescriptionListItem {
|
||||||
title: "Title"
|
title: "Title"
|
||||||
subTitle: "Subtitle"
|
subTitle: "Subtitle"
|
||||||
|
|
|
@ -12,14 +12,20 @@ Rectangle {
|
||||||
|
|
||||||
enum Type {
|
enum Type {
|
||||||
Primary,
|
Primary,
|
||||||
Secondary
|
Secondary,
|
||||||
|
Danger
|
||||||
}
|
}
|
||||||
|
|
||||||
color: {
|
color: {
|
||||||
if (sensor.containsMouse) {
|
if (sensor.containsMouse) {
|
||||||
return type === StatusListItem.Type.Primary ?
|
switch(type) {
|
||||||
Theme.palette.baseColor2 :
|
case StatusListItem.Type.Primary:
|
||||||
Theme.palette.statusListItem.secondaryHoverBackgroundColor
|
return Theme.palette.baseColor2
|
||||||
|
case StatusListItem.Type.Secondary:
|
||||||
|
return Theme.palette.statusListItem.secondaryHoverBackgroundColor
|
||||||
|
case StatusListItem.Type.Danger:
|
||||||
|
return Theme.palette.dangerColor3
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return Theme.palette.statusListItem.backgroundColor
|
return Theme.palette.statusListItem.backgroundColor
|
||||||
}
|
}
|
||||||
|
@ -35,12 +41,20 @@ Rectangle {
|
||||||
width: 20
|
width: 20
|
||||||
rotation: 0
|
rotation: 0
|
||||||
isLetterIdenticon: false
|
isLetterIdenticon: false
|
||||||
|
color: type === StatusListItem.Type.Danger ?
|
||||||
|
Theme.palette.dangerColor1 : Theme.palette.primaryColor1
|
||||||
background: StatusIconBackgroundSettings {
|
background: StatusIconBackgroundSettings {
|
||||||
width: 40
|
width: 40
|
||||||
height: 40
|
height: 40
|
||||||
color: sensor.containsMouse && type === StatusListItem.Type.Secondary ?
|
color: {
|
||||||
"transparent" :
|
if (sensor.containsMouse) {
|
||||||
Theme.palette.primaryColor3
|
return type === StatusListItem.Type.Secondary ||
|
||||||
|
type === StatusListItem.Type.Danger ? "transparent" :
|
||||||
|
Theme.palette.primaryColor3
|
||||||
|
}
|
||||||
|
return type === StatusListItem.Type.Danger ?
|
||||||
|
Theme.palette.dangerColor3 : Theme.palette.primaryColor3
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
property StatusImageSettings image: StatusImageSettings {
|
property StatusImageSettings image: StatusImageSettings {
|
||||||
|
@ -97,6 +111,7 @@ Rectangle {
|
||||||
icon.height: statusListItem.icon.height
|
icon.height: statusListItem.icon.height
|
||||||
icon.name: statusListItem.icon.name
|
icon.name: statusListItem.icon.name
|
||||||
icon.rotation: statusListItem.icon.rotation
|
icon.rotation: statusListItem.icon.rotation
|
||||||
|
icon.color: statusListItem.icon.color
|
||||||
color: statusListItem.icon.background.color
|
color: statusListItem.icon.background.color
|
||||||
width: statusListItem.icon.background.width
|
width: statusListItem.icon.background.width
|
||||||
height: statusListItem.icon.background.height
|
height: statusListItem.icon.background.height
|
||||||
|
@ -133,10 +148,14 @@ Rectangle {
|
||||||
text: statusListItem.title
|
text: statusListItem.title
|
||||||
font.pixelSize: 15
|
font.pixelSize: 15
|
||||||
color: {
|
color: {
|
||||||
if (statusListItem.type === StatusListItem.Type.Primary) {
|
switch (statusListItem.type) {
|
||||||
return Theme.palette.directColor1
|
case StatusListItem.Type.Primary:
|
||||||
|
return Theme.palette.directColor1
|
||||||
|
case StatusListItem.Type.Secondary:
|
||||||
|
return Theme.palette.primaryColor1
|
||||||
|
case StatusListItem.Type.Danger:
|
||||||
|
return Theme.palette.dangerColor1
|
||||||
}
|
}
|
||||||
return Theme.palette.primaryColor1
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue