106 lines
2.1 KiB
QML
106 lines
2.1 KiB
QML
pragma ComponentBehavior: Bound
|
|
|
|
import QtQuick
|
|
import QtQuick.Layouts
|
|
|
|
Rectangle {
|
|
id: root
|
|
anchors.left: parent.left
|
|
anchors.right: parent.right
|
|
visible: height > 0
|
|
clip: true
|
|
color: Theme.color8
|
|
height: root.consoleOpen ? root.consoleHeight : 0
|
|
opacity: root.consoleOpen ? 1 : 0
|
|
z: 40
|
|
|
|
property string title: ""
|
|
property string status: ""
|
|
property var consoleLogData: ""
|
|
property int consoleHeight: 320
|
|
property bool consoleOpen: false
|
|
|
|
Behavior on height { NumberAnimation { duration: 250; easing.type: Easing.InOutQuad } }
|
|
Behavior on opacity { NumberAnimation { duration: 180 } }
|
|
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
}
|
|
|
|
Rectangle {
|
|
anchors.top: parent.top
|
|
anchors.left: parent.left
|
|
anchors.right: parent.right
|
|
height: 1
|
|
color: Theme.color5
|
|
}
|
|
|
|
ColumnLayout {
|
|
anchors.fill: parent
|
|
anchors.margins: 12
|
|
spacing: 8
|
|
|
|
RowLayout {
|
|
Layout.fillWidth: true
|
|
spacing: 6
|
|
|
|
Text {
|
|
text: root.title
|
|
color: Theme.color2
|
|
font.pixelSize: 13
|
|
font.bold: true
|
|
}
|
|
|
|
Item { Layout.fillWidth: true }
|
|
|
|
Text {
|
|
text: root.status
|
|
color: Theme.color7
|
|
font.pixelSize: 11
|
|
}
|
|
}
|
|
|
|
Rectangle {
|
|
Layout.fillWidth: true
|
|
implicitHeight: 1
|
|
color: Theme.color5
|
|
}
|
|
|
|
Item {
|
|
Layout.fillWidth: true
|
|
Layout.fillHeight: true
|
|
|
|
// ListView {
|
|
// id: logView
|
|
// clip: true
|
|
// spacing: 2
|
|
// model: root.consoleLogData
|
|
// onModelChanged: positionViewAtEnd()
|
|
// onCountChanged: positionViewAtEnd()
|
|
//
|
|
// ScrollBar.vertical: ScrollBar {
|
|
// policy: ScrollBar.AsNeeded
|
|
// width: 6
|
|
// }
|
|
//
|
|
// delegate: Text {
|
|
// width: logView.width
|
|
// text: modelData
|
|
// color: "#a6adc8"
|
|
// font.family: "monospace"
|
|
// font.pixelSize: 11
|
|
// wrapMode: Text.WrapAnywhere
|
|
// }
|
|
// }
|
|
|
|
Text {
|
|
anchors.centerIn: parent
|
|
text: "Логи отсутствуют"
|
|
color: "#585b70"
|
|
font.pixelSize: 12
|
|
visible: root.consoleLogData.length === 0
|
|
}
|
|
}
|
|
}
|
|
}
|