status-desktop/ui/shared/status/StatusChatImageValidator.qml
Alexandra Betouni 4ee21ada05 feat(desktop) Added image function in Style
Introduced Style.svg() Style.png() Style.emoji() and
Style.icon() in Style.qml. Those should be used to
set the source in Images instead of using relative
paths. Usage:
Image {
   source: Style.svg("check)
   ....

Also moved all Singletons inside a new "utils"
folder and made it a QML module, to use
import utils 1.0 instead of relative paths

Closes #3678
2021-09-28 15:28:00 -04:00

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
}
}
}