mirror of
https://github.com/status-im/status-desktop.git
synced 2025-01-10 06:16:32 +00:00
bf14b06d55
This adds the UI plus all necessary models and signal handling to render discord import progress in the desktop application. It also introduces message handling for discord chat message types. Requires status-im/status-go#2826 to function Co-authored with @caybro
93 lines
2.3 KiB
QML
93 lines
2.3 KiB
QML
import QtQuick 2.13
|
|
import QtQuick.Controls 2.13
|
|
import QtGraphicalEffects 1.13
|
|
|
|
import StatusQ.Core 0.1
|
|
import StatusQ.Components 0.1
|
|
import StatusQ.Core.Theme 0.1
|
|
import StatusQ.Controls 0.1 as StatusQControls
|
|
|
|
import shared.panels 1.0
|
|
import shared.status 1.0
|
|
|
|
import utils 1.0
|
|
|
|
Rectangle {
|
|
id: root
|
|
|
|
property alias text: bannerText.text
|
|
property alias buttonText: bannerButton.text
|
|
property alias icon: bannerIcon.asset
|
|
property string buttonTooltipText: ""
|
|
property bool buttonLoading: false
|
|
|
|
implicitWidth: 272
|
|
implicitHeight: 168
|
|
border.color: Style.current.border
|
|
radius: 16
|
|
color: Style.current.transparent
|
|
|
|
signal buttonClicked()
|
|
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
acceptedButtons: Qt.RightButton
|
|
propagateComposedEvents: true
|
|
onClicked: {
|
|
/* Prevents sending events to the component beneath
|
|
if Right Mouse Button is clicked. */
|
|
mouse.accepted = false;
|
|
}
|
|
}
|
|
|
|
Rectangle {
|
|
width: 70
|
|
height: 4
|
|
color: Style.current.background
|
|
anchors.top: parent.top
|
|
anchors.topMargin: -2
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
}
|
|
|
|
StatusRoundIcon {
|
|
id: bannerIcon
|
|
anchors.top: parent.top
|
|
anchors.topMargin: -8
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
}
|
|
|
|
StatusBaseText {
|
|
id: bannerText
|
|
anchors.top: parent.top
|
|
anchors.topMargin: 48
|
|
horizontalAlignment: Text.AlignHCenter
|
|
font.pixelSize: 15
|
|
color: Theme.palette.directColor1
|
|
wrapMode: Text.WordWrap
|
|
anchors.right: parent.right
|
|
anchors.rightMargin: Style.current.xlPadding
|
|
anchors.left: parent.left
|
|
anchors.leftMargin: Style.current.xlPadding
|
|
}
|
|
|
|
StatusQControls.StatusButton {
|
|
id: bannerButton
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
anchors.bottom: parent.bottom
|
|
anchors.bottomMargin: 16
|
|
font.weight: Font.Medium
|
|
onClicked: {
|
|
if (!root.buttonLoading) {
|
|
root.buttonClicked()
|
|
}
|
|
}
|
|
loading: root.buttonLoading
|
|
|
|
StatusQControls.StatusToolTip {
|
|
text: root.buttonTooltipText
|
|
visible: !!root.buttonTooltipText && bannerButton.loading && bannerButton.hovered
|
|
}
|
|
}
|
|
}
|
|
|