1
0
mirror of https://gitlab.com/kelteseth/ScreenPlay.git synced 2024-11-10 04:52:41 +01:00
ScreenPlay/qml/main.qml

134 lines
3.2 KiB
QML
Raw Normal View History

import QtQuick 2.6
import QtQuick.Window 2.2
import QtQuick.Controls 2.1
import QtQuick.Layouts 1.3
import QtGraphicalEffects 1.0
import Qt.labs.platform 1.0
import "Components"
2017-06-06 12:51:53 +02:00
ApplicationWindow {
2017-04-04 17:40:21 +02:00
id: window
color: "#eeeeee"
visible: true
width: 1383
2017-04-23 11:31:05 +02:00
minimumHeight: 768
minimumWidth: 1050
SystemTrayIcon {
visible: true
iconSource: "qrc:/assets/icons/favicon.ico"
menu: Menu {
MenuItem {
text: qsTr("Open ScreenPlay")
onTriggered: {
window.show()
}
}
MenuItem {
text: qsTr("Quit")
onTriggered: Qt.quit()
}
}
}
Component.onCompleted: {
setX(Screen.width / 2 - width / 2)
setY(Screen.height / 2 - height / 2)
}
2017-06-06 12:51:53 +02:00
Loader {
id: pageLoader
asynchronous: true
source: "qrc:/qml/Components/Installed.qml"
anchors {
top: nav.bottom
right: parent.right
bottom: parent.bottom
left: parent.left
}
2017-06-06 12:51:53 +02:00
onStateChanged: {
if (pageLoader.state === Loader.Loading) {
2017-06-06 12:51:53 +02:00
loaderText.visible = true
} else if (pageLoader.state === Loader.Ready) {
2017-06-06 12:51:53 +02:00
loaderText.visible = false
}
}
Text {
id: loaderText
visible: true
text: qsTr("Loading...")
anchors.centerIn: parent
font.pixelSize: 32
font.family: font_LibreBaskerville_Italic.name
font.pointSize: 32
font.italic: true
color: "#818181"
FontLoader {
2017-06-06 12:51:53 +02:00
id: font_LibreBaskerville_Italic
source: "qrc:/assets/fonts/LibreBaskerville-Italic.ttf"
}
}
Connections {
target: pageLoader.item
2017-04-03 19:58:47 +02:00
ignoreUnknownSignals: true
2017-04-04 17:40:21 +02:00
onSetSidebaractiveItem: {
if (sidebar.activeScreen == screenId
&& sidebar.state == "active") {
sidebar.state = "inactive"
2017-04-10 16:03:49 +02:00
} else {
sidebar.state = "active"
2017-04-10 16:03:49 +02:00
}
2017-04-04 17:40:21 +02:00
sidebar.activeScreen = screenId
}
onSetNavigationItem: {
if(pos === 0){
nav.onPageChanged("Create")
} else {
nav.onPageChanged("Workshop")
}
2017-04-03 19:58:47 +02:00
}
}
}
Sidebar {
id: sidebar
width: 400
anchors {
top: nav.bottom
right: parent.right
bottom: parent.bottom
}
}
Navigation {
id: nav
anchors {
top: parent.top
right: parent.right
left: parent.left
}
onChangePage: {
pageLoader.setSource("qrc:/qml/Components/" + name + ".qml")
sidebar.state = "inactive"
}
2017-04-13 08:24:11 +02:00
onToggleMonitors: {
monitors.state = monitors.state == "active" ? "inactive" : "active"
}
}
Monitors {
id: monitors
state: "inactive"
anchors.fill: pageLoader
z: 98
}
}