add base console
This commit is contained in:
@@ -32,6 +32,8 @@ qt_add_qml_module(apparchpack
|
|||||||
qml/components/pages/UpdatePg.qml
|
qml/components/pages/UpdatePg.qml
|
||||||
qml/components/pages/InstallPg.qml
|
qml/components/pages/InstallPg.qml
|
||||||
qml/components/pages/DeletePg.qml
|
qml/components/pages/DeletePg.qml
|
||||||
|
qml/components/console/ConsoleBar.qml
|
||||||
|
qml/components/console/ConsolePanel.qml
|
||||||
SOURCES
|
SOURCES
|
||||||
cpp/utils/utils.hpp
|
cpp/utils/utils.hpp
|
||||||
cpp/utils/utils.cpp
|
cpp/utils/utils.cpp
|
||||||
|
|||||||
9
Main.qml
9
Main.qml
@@ -19,6 +19,7 @@ ApplicationWindow {
|
|||||||
color: Theme.color1
|
color: Theme.color1
|
||||||
|
|
||||||
property string packageManager: "yay"
|
property string packageManager: "yay"
|
||||||
|
property bool consoleOpen: false
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
id: mainLayout
|
id: mainLayout
|
||||||
@@ -67,5 +68,13 @@ ApplicationWindow {
|
|||||||
id: pgDelete
|
id: pgDelete
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
readonly property string consoleTitle: tabs.currentIndex === 0 ? "Консоль обновления" : tabs.currentIndex === 1 ? "Консоль установки" : "Консоль удаления"
|
||||||
|
|
||||||
|
Components.ConsoleBar {
|
||||||
|
title: consoleTitle
|
||||||
|
consoleOpen: consoleOpen
|
||||||
|
}
|
||||||
|
Components.ConsolePanel {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
53
qml/components/console/ConsoleBar.qml
Normal file
53
qml/components/console/ConsoleBar.qml
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
import QtQuick
|
||||||
|
import QtQuick.Layouts
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
id: root
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.right: parent.right
|
||||||
|
anchors.bottom: parent.bottom
|
||||||
|
height: 26
|
||||||
|
color: barMouse.containsMouse ? "#313244" : "#1e1e2e"
|
||||||
|
z: 50
|
||||||
|
|
||||||
|
property string title: ""
|
||||||
|
property bool consoleOpen: false
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
anchors.top: parent.top
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.right: parent.right
|
||||||
|
height: 1
|
||||||
|
color: "#313244"
|
||||||
|
}
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.leftMargin: 12
|
||||||
|
anchors.rightMargin: 12
|
||||||
|
spacing: 8
|
||||||
|
|
||||||
|
Text {
|
||||||
|
text: root.consoleOpen ? "▼ Скрыть консоль" : "▲ " + root.title
|
||||||
|
color: "#a6adc8"
|
||||||
|
font.pixelSize: 11
|
||||||
|
}
|
||||||
|
|
||||||
|
Item { Layout.fillWidth: true }
|
||||||
|
|
||||||
|
Text {
|
||||||
|
text: "root.consoleStatus"
|
||||||
|
color: "#f9e2af"
|
||||||
|
font.pixelSize: 11
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
id: barMouse
|
||||||
|
anchors.fill: parent
|
||||||
|
hoverEnabled: true
|
||||||
|
cursorShape: Qt.PointingHandCursor
|
||||||
|
// onClicked: root.consoleOpen = !root.consoleOpen
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
99
qml/components/console/ConsolePanel.qml
Normal file
99
qml/components/console/ConsolePanel.qml
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
import QtQuick
|
||||||
|
import QtQuick.Layouts
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
id: root
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.right: parent.right
|
||||||
|
// anchors.bottom: consoleBar.top
|
||||||
|
visible: height > 0
|
||||||
|
clip: true
|
||||||
|
color: "#1e1e2e"
|
||||||
|
z: 40
|
||||||
|
|
||||||
|
property string title: ""
|
||||||
|
|
||||||
|
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: "#313244"
|
||||||
|
}
|
||||||
|
|
||||||
|
ColumnLayout {
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.margins: 12
|
||||||
|
spacing: 8
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
spacing: 6
|
||||||
|
|
||||||
|
Text {
|
||||||
|
text: root.title
|
||||||
|
color: "#cdd6f4"
|
||||||
|
font.pixelSize: 13
|
||||||
|
font.bold: true
|
||||||
|
}
|
||||||
|
|
||||||
|
Item { Layout.fillWidth: true }
|
||||||
|
|
||||||
|
Text {
|
||||||
|
text: "root.consoleStatus"
|
||||||
|
color: "#f9e2af"
|
||||||
|
font.pixelSize: 11
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
height: 1
|
||||||
|
color: "#313244"
|
||||||
|
}
|
||||||
|
|
||||||
|
Item {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
Layout.fillHeight: true
|
||||||
|
|
||||||
|
// ListView {
|
||||||
|
// id: logView
|
||||||
|
// anchors.fill: parent
|
||||||
|
// clip: true
|
||||||
|
// model: root.consoleLog
|
||||||
|
// onModelChanged: positionViewAtEnd()
|
||||||
|
// spacing: 2
|
||||||
|
// 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: root.consolePlaceholder
|
||||||
|
// color: "#585b70"
|
||||||
|
// font.pixelSize: 12
|
||||||
|
// visible: root.consoleLog.length === 0
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user