status-desktop/ui/app/AppLayouts/Wallet/controls/TokenSelectorCompactButton.qml
Lukáš Tinkl d9d6d90dc9 [Style] remove legacy Style and its themes
- legacy Style and ThemePalette removed
- moved and deduplicated font definitions into `Theme` (unrelated to a
color palette)
- `Style.current.foo` -> `Theme.foo`
- `Style.current.fooColor` -> `Theme.palette.fooColor`
- upgrade the imports to 5.15
- removed some mode dead components

Fixes #16514
2024-10-22 15:54:31 +02:00

114 lines
2.6 KiB
QML

import QtQuick 2.15
import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15
import StatusQ.Components 0.1
import StatusQ.Components.private 0.1
import StatusQ.Core 0.1
import StatusQ.Core.Theme 0.1
import utils 1.0
Control {
id: root
property bool selected
property string text: qsTr("Select asset")
property string name
property string subname
property url icon
signal clicked
padding: 10
background: StatusComboboxBackground {
border.width: 1
color: Theme.palette.transparent
}
contentItem: Loader {
sourceComponent: root.selected ? selectedContent : notSelectedContent
}
Component {
id: notSelectedContent
RowLayout {
spacing: 10
StatusBaseText {
Layout.fillWidth: true
objectName: "tokenSelectorContentItemText"
font.pixelSize: Theme.additionalTextSize
font.weight: Font.Medium
color: Theme.palette.primaryColor1
text: root.text
elide: Text.ElideRight
}
StatusComboboxIndicator {
color: Theme.palette.primaryColor1
}
}
}
Component {
id: selectedContent
RowLayout {
spacing: Theme.halfPadding
RowLayout {
objectName: "selectedTokenItem"
spacing: Theme.halfPadding
StatusRoundedImage {
objectName: "tokenSelectorIcon"
Layout.preferredWidth: 20
Layout.preferredHeight: 20
image.source: root.icon
}
StatusBaseText {
objectName: "tokenSelectorContentItemName"
Layout.fillWidth: true
// Using Math.ceil prevents undesired elision for some texts
Layout.maximumWidth: Math.ceil(implicitWidth)
color: Theme.palette.directColor1
text: root.name
elide: Text.ElideRight
}
StatusBaseText {
objectName: "tokenSelectorContentItemSymbol"
Layout.fillWidth: true
color: Theme.palette.baseColor1
text: root.subname
}
StatusComboboxIndicator {
color: Theme.palette.primaryColor1
}
}
}
}
MouseArea {
cursorShape: root.enabled ? Qt.PointingHandCursor : undefined
anchors.fill: parent
onClicked: root.clicked()
}
}