127 lines
4.2 KiB
QML
127 lines
4.2 KiB
QML
import QtQuick 2.15
|
||
import QtQuick.Controls 2.15
|
||
import QtQuick.Controls.Material 2.15
|
||
import QtQuick.Layouts 1.15
|
||
import "../Theme" as Theme
|
||
|
||
Pane {
|
||
id: root
|
||
Layout.fillWidth: true
|
||
padding: Theme.Theme.margin
|
||
|
||
Material.elevation: 6
|
||
Material.background: Qt.darker(Theme.Theme.frameColor, 1.1)
|
||
|
||
property alias serverInfo: serverLabel.text
|
||
property alias requirements: reqLabel.text
|
||
|
||
background: Rectangle {
|
||
color: Qt.darker(Theme.Theme.frameColor, 1.1)
|
||
radius: Theme.Theme.radius / 2
|
||
border.color: Qt.darker(Theme.Theme.borderColor, 1.2)
|
||
border.width: 1
|
||
|
||
Rectangle {
|
||
anchors.fill: parent
|
||
radius: parent.radius
|
||
gradient: Gradient {
|
||
GradientStop { position: 0.0; color: "#20FFFFFF" }
|
||
GradientStop { position: 1.0; color: "#00FFFFFF" }
|
||
}
|
||
}
|
||
}
|
||
|
||
ColumnLayout {
|
||
width: parent.width
|
||
spacing: Theme.Theme.spacing * 1.5
|
||
|
||
// Секция сервера
|
||
RowLayout {
|
||
Layout.fillWidth: true
|
||
spacing: Theme.Theme.spacing
|
||
|
||
Image {
|
||
source: "qml/images/icons/server.png"
|
||
sourceSize: Qt.size(24, 24)
|
||
Layout.alignment: Qt.AlignTop
|
||
opacity: 0.8
|
||
}
|
||
|
||
ColumnLayout {
|
||
Layout.fillWidth: true
|
||
spacing: Theme.Theme.spacing / 2
|
||
|
||
Label {
|
||
text: "ИНФОРМАЦИЯ О СЕРВЕРЕ"
|
||
color: Theme.Theme.secondaryText
|
||
font.pixelSize: Theme.Theme.smallSize
|
||
font.bold: true
|
||
}
|
||
|
||
Label {
|
||
id: serverLabel
|
||
Layout.fillWidth: true
|
||
color: "#77A7D1"
|
||
font.pixelSize: Theme.Theme.normalSize
|
||
font.bold: true
|
||
|
||
Behavior on text {
|
||
SequentialAnimation {
|
||
NumberAnimation { target: serverLabel; property: "opacity"; to: 0; duration: 100 }
|
||
PropertyAction { target: serverLabel; property: "text" }
|
||
NumberAnimation { target: serverLabel; property: "opacity"; to: 1; duration: 100 }
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
Rectangle {
|
||
Layout.fillWidth: true
|
||
height: 1
|
||
color: Qt.darker(Theme.Theme.borderColor, 1.2)
|
||
opacity: 0.5
|
||
}
|
||
|
||
// Секция системных требований
|
||
RowLayout {
|
||
Layout.fillWidth: true
|
||
spacing: Theme.Theme.spacing
|
||
|
||
Image {
|
||
source: "qml/images/icons/requirements.png"
|
||
sourceSize: Qt.size(24, 24)
|
||
Layout.alignment: Qt.AlignTop
|
||
opacity: 0.8
|
||
}
|
||
|
||
ColumnLayout {
|
||
Layout.fillWidth: true
|
||
spacing: Theme.Theme.spacing / 2
|
||
|
||
Label {
|
||
text: "СИСТЕМНЫЕ ТРЕБОВАНИЯ"
|
||
color: Theme.Theme.secondaryText
|
||
font.pixelSize: Theme.Theme.smallSize
|
||
font.bold: true
|
||
}
|
||
|
||
Label {
|
||
id: reqLabel
|
||
Layout.fillWidth: true
|
||
color: Theme.Theme.secondaryText
|
||
font.pixelSize: Theme.Theme.smallSize
|
||
wrapMode: Text.WordWrap
|
||
|
||
Behavior on text {
|
||
SequentialAnimation {
|
||
NumberAnimation { target: reqLabel; property: "opacity"; to: 0; duration: 100 }
|
||
PropertyAction { target: reqLabel; property: "text" }
|
||
NumberAnimation { target: reqLabel; property: "opacity"; to: 1; duration: 100 }
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
} |