mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-25 06:14:59 +00:00
update: qt6,qml,frontends (2 files)
This commit is contained in:
75
frontends/qt6/qmllib/Material/MaterialAlert.qml
Normal file
75
frontends/qt6/qmllib/Material/MaterialAlert.qml
Normal file
@@ -0,0 +1,75 @@
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
import QtQuick.Layouts 1.15
|
||||
|
||||
import "MaterialPalette.qml" as MaterialPalette
|
||||
|
||||
Rectangle {
|
||||
id: alert
|
||||
property alias title: titleText.text
|
||||
property alias message: messageText.text
|
||||
property string severity: "info"
|
||||
property bool dismissible: false
|
||||
signal dismissed()
|
||||
radius: 12
|
||||
color: severity === "success" ? MaterialPalette.primaryContainer :
|
||||
severity === "error" ? MaterialPalette.error :
|
||||
severity === "warning" ? MaterialPalette.secondaryContainer :
|
||||
MaterialPalette.surfaceVariant
|
||||
border.color: MaterialPalette.outline
|
||||
border.width: 1
|
||||
padding: 18
|
||||
implicitHeight: content.implicitHeight + 12
|
||||
|
||||
RowLayout {
|
||||
id: content
|
||||
anchors.fill: parent
|
||||
spacing: 12
|
||||
|
||||
Rectangle {
|
||||
width: 28
|
||||
height: 28
|
||||
radius: 14
|
||||
color: severity === "success" ? MaterialPalette.primary :
|
||||
severity === "error" ? MaterialPalette.error :
|
||||
severity === "warning" ? MaterialPalette.secondary : MaterialPalette.primary
|
||||
Text {
|
||||
anchors.centerIn: parent
|
||||
text: severity === "success" ? "✓" : severity === "error" ? "!" : severity === "warning" ? "!" : "ℹ"
|
||||
color: "#fff"
|
||||
font.pixelSize: 16
|
||||
font.bold: true
|
||||
}
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
spacing: 4
|
||||
Text {
|
||||
id: titleText
|
||||
font.pixelSize: 16
|
||||
font.bold: true
|
||||
color: MaterialPalette.onSurface
|
||||
}
|
||||
Text {
|
||||
id: messageText
|
||||
font.pixelSize: 14
|
||||
color: MaterialPalette.onSurface
|
||||
wrapMode: Text.Wrap
|
||||
}
|
||||
}
|
||||
|
||||
Item {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
Button {
|
||||
visible: dismissible
|
||||
text: "Close"
|
||||
font.pixelSize: 12
|
||||
background: Rectangle {
|
||||
color: "transparent"
|
||||
}
|
||||
onClicked: alert.dismissed()
|
||||
}
|
||||
}
|
||||
}
|
||||
69
frontends/qt6/qmllib/Material/MaterialDialog.qml
Normal file
69
frontends/qt6/qmllib/Material/MaterialDialog.qml
Normal file
@@ -0,0 +1,69 @@
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
import QtQuick.Layouts 1.15
|
||||
|
||||
import "MaterialPalette.qml" as MaterialPalette
|
||||
|
||||
Dialog {
|
||||
id: dialog
|
||||
modal: true
|
||||
focus: true
|
||||
property alias title: titleText.text
|
||||
property alias description: descriptionText.text
|
||||
signal actionTriggered(string id)
|
||||
|
||||
contentItem: Rectangle {
|
||||
color: MaterialPalette.surface
|
||||
radius: 16
|
||||
border.color: MaterialPalette.outline
|
||||
border.width: 1
|
||||
width: 480
|
||||
|
||||
ColumnLayout {
|
||||
anchors.fill: parent
|
||||
anchors.margins: 24
|
||||
spacing: 12
|
||||
|
||||
RowLayout {
|
||||
spacing: 12
|
||||
Text {
|
||||
id: titleText
|
||||
font.pixelSize: 20
|
||||
font.bold: true
|
||||
color: MaterialPalette.onSurface
|
||||
}
|
||||
Item { Layout.fillWidth: true }
|
||||
Button {
|
||||
text: "Close"
|
||||
onClicked: dialog.close()
|
||||
background: Rectangle {
|
||||
color: "transparent"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Text {
|
||||
id: descriptionText
|
||||
font.pixelSize: 14
|
||||
color: MaterialPalette.onSurface
|
||||
wrapMode: Text.WordWrap
|
||||
}
|
||||
|
||||
Item {
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
|
||||
RowLayout {
|
||||
id: actionsRow
|
||||
spacing: 10
|
||||
Layout.alignment: Qt.AlignRight
|
||||
default property alias buttons: buttonsLoader.data
|
||||
|
||||
Loader {
|
||||
id: buttonsLoader
|
||||
asynchronous: true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user