status-desktop/ui/shared/status/StatusChatImageValidator.qml

75 lines
2.1 KiB
QML

import QtQuick 2.13
import QtQuick.Controls 2.13
import QtQuick.Layouts 1.13
import QtGraphicalEffects 1.0
import utils 1.0
import ".."
Item {
id: root
property bool isValid: true
property alias errorMessage: txtValidationError.text
property alias secondaryErrorMessage: txtValidationExtraInfo.text
property var images: []
property var validImages: []
visible: !isValid
width: imgExclamation.width + txtValidationError.width + txtValidationExtraInfo.width + 24
height: txtValidationError.height + 14
Rectangle {
anchors.fill: parent
color: Style.current.background
radius: Style.current.halfPadding
layer.enabled: true
layer.effect: DropShadow {
verticalOffset: 3
radius: 8
samples: 15
fast: true
cached: true
color: "#22000000"
}
SVGImage {
id: imgExclamation
width: 20
height: 20
sourceSize.height: height * 2
sourceSize.width: width * 2
verticalAlignment: Image.AlignVCenter
anchors.top: parent.top
anchors.left: parent.left
anchors.topMargin: 6
anchors.leftMargin: 6
fillMode: Image.PreserveAspectFit
source: Style.svg("exclamation_outline")
}
StyledText {
id: txtValidationError
verticalAlignment: Text.AlignVCenter
anchors.top: parent.top
anchors.left: imgExclamation.right
anchors.topMargin: 7
anchors.leftMargin: 6
wrapMode: Text.WordWrap
font.pixelSize: 13
height: 18
color: Style.current.danger
}
StyledText {
id: txtValidationExtraInfo
verticalAlignment: Text.AlignVCenter
anchors.top: parent.top
anchors.left: txtValidationError.right
anchors.topMargin: 7
anchors.leftMargin: 6
wrapMode: Text.WordWrap
font.pixelSize: 13
height: 18
color: Style.current.textColor
}
}
}