magpie/qml/Components/AssetLine.qml

70 lines
1.7 KiB
QML
Raw Normal View History

2024-01-18 22:14:33 +00:00
// SPDX-FileCopyrightText: 2023 Yury Gubich <blue@macaw.me>
// SPDX-License-Identifier: GPL-3.0-or-later
import QtQuick
import QtQuick.Controls
2024-01-21 19:22:56 +00:00
import magpie
2024-01-20 21:17:21 +00:00
Item {
2024-01-18 22:14:33 +00:00
id: line
required property string title
required property string icon
2024-01-20 21:17:21 +00:00
required property color color
required property string balance
2024-01-21 19:22:56 +00:00
required property int assetId
signal error (err:string)
2024-01-18 22:14:33 +00:00
Row {
2024-01-20 21:17:21 +00:00
readonly property int iconSize: height
2024-01-21 19:22:56 +00:00
readonly property int freespace: width - deleteButton.width - iconSize - spacing * children.length - 1
2024-01-20 21:17:21 +00:00
2024-01-18 22:14:33 +00:00
anchors.fill: parent
2024-01-20 21:17:21 +00:00
spacing: 5
Rectangle {
width: parent.iconSize
height: parent.iconSize
color: line.color
IconLabel {
anchors.fill: parent
icon {
name: line.icon
width: width
height: height
}
}
2024-01-18 22:14:33 +00:00
}
Text {
2024-01-20 21:17:21 +00:00
width: parent.freespace / 2
height: parent.height
2024-01-18 22:14:33 +00:00
text: title
2024-01-20 21:17:21 +00:00
verticalAlignment: Text.AlignVCenter
color: palette.text
font.bold: true
}
Text {
width: parent.freespace / 2
height: parent.height
text: balance
verticalAlignment: Text.AlignVCenter
color: palette.text
2024-01-18 22:14:33 +00:00
}
2024-01-21 19:22:56 +00:00
Button {
id: deleteButton
text: qsTr("Delete")
flat: true
height: parent.height
onClicked: API.deleteAsset(line.assetId, function(err) {
if (err)
Magpie.displayError("Error deleting asset " + line.title + ": " + err);
})
}
2024-01-18 22:14:33 +00:00
}
}