moment/harmonyqml/components/UI.qml

61 lines
1.4 KiB
QML
Raw Normal View History

import QtQuick 2.7
import QtQuick.Controls 2.2
import QtQuick.Layouts 1.4
import "base" as Base
import "sidePane" as SidePane
import "chat" as Chat
2019-04-28 14:44:55 +10:00
Item {
2019-04-28 11:07:20 +10:00
id: mainUI
2019-04-28 14:44:55 +10:00
Base.HImage {
id: mainUIBackground
fillMode: Image.PreserveAspectCrop
source: "../images/login_background.jpg"
anchors.fill: parent
}
property bool accountsLoggedIn: Backend.clientManager.clientCount > 0
2019-04-28 14:44:55 +10:00
Base.HSplitView {
anchors.fill: parent
SidePane.Root {
Layout.minimumWidth: 36
width: 200
visible: accountsLoggedIn
}
StackView {
2019-04-28 14:44:55 +10:00
id: pageStack
property bool initialPageSet: false
2019-04-28 11:07:20 +10:00
function showPage(name, properties) {
pageStack.replace("pages/" + name + ".qml", properties || {})
}
function showRoom(userId, roomId) {
pageStack.replace(
"chat/Root.qml", { userId: userId, roomId: roomId }
)
}
2019-04-28 14:44:55 +10:00
Component.onCompleted: {
if (initialPageSet) { return }
initialPageSet = true
showPage(accountsLoggedIn ? "Default" : "SignIn")
}
onCurrentItemChanged: if (currentItem) {
currentItem.forceActiveFocus()
}
// Buggy
replaceExit: null
popExit: null
pushExit: null
}
}
}