2019-04-28 08:54:33 +10:00
|
|
|
import QtQuick 2.7
|
|
|
|
import QtQuick.Controls 2.2
|
2019-04-29 05:45:42 +10:00
|
|
|
import QtQuick.Layouts 1.3
|
2019-05-01 17:25:58 +10:00
|
|
|
import QtQuick.Window 2.7
|
2019-04-29 05:18:36 +10:00
|
|
|
import "Base"
|
|
|
|
import "SidePane"
|
2019-04-28 08:54:33 +10:00
|
|
|
|
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
|
|
|
|
2019-04-29 05:18:36 +10:00
|
|
|
HImage {
|
2019-04-28 14:44:55 +10:00
|
|
|
id: mainUIBackground
|
|
|
|
fillMode: Image.PreserveAspectCrop
|
|
|
|
source: "../images/login_background.jpg"
|
2019-05-01 17:25:58 +10:00
|
|
|
sourceSize.width: Screen.width
|
|
|
|
sourceSize.height: Screen.height
|
2019-04-28 14:44:55 +10:00
|
|
|
anchors.fill: parent
|
|
|
|
}
|
2019-04-28 08:54:33 +10:00
|
|
|
|
2019-05-03 04:54:37 +10:00
|
|
|
property bool accountsLoggedIn: Backend.clients.count > 0
|
2019-04-28 08:54:33 +10:00
|
|
|
|
2019-04-29 05:18:36 +10:00
|
|
|
HSplitView {
|
2019-04-28 08:54:33 +10:00
|
|
|
anchors.fill: parent
|
|
|
|
|
2019-04-29 05:18:36 +10:00
|
|
|
SidePane {
|
2019-04-29 04:20:30 +10:00
|
|
|
property int parentWidth: parent.width
|
|
|
|
onParentWidthChanged: width = Math.min(parent.width * 0.3, 300)
|
|
|
|
|
2019-04-28 08:54:33 +10:00
|
|
|
Layout.minimumWidth: 36
|
2019-04-29 02:40:42 +10:00
|
|
|
Layout.maximumWidth: parent.width
|
2019-04-28 08:54:33 +10:00
|
|
|
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) {
|
2019-04-29 02:45:12 +10:00
|
|
|
pageStack.replace("Pages/" + name + ".qml", properties || {})
|
2019-04-28 08:54:33 +10:00
|
|
|
}
|
|
|
|
|
2019-05-03 04:20:21 +10:00
|
|
|
function showRoom(userId, category, roomId) {
|
2019-04-28 08:54:33 +10:00
|
|
|
pageStack.replace(
|
2019-05-03 04:20:21 +10:00
|
|
|
"Chat/Chat.qml",
|
|
|
|
{ userId: userId, category: category, roomId: roomId }
|
2019-04-28 08:54:33 +10:00
|
|
|
)
|
|
|
|
}
|
|
|
|
|
2019-04-28 14:44:55 +10:00
|
|
|
Component.onCompleted: {
|
2019-04-29 10:37:11 +10:00
|
|
|
if (pageStack.initialPageSet) { return }
|
|
|
|
pageStack.initialPageSet = true
|
2019-04-28 14:44:55 +10:00
|
|
|
showPage(accountsLoggedIn ? "Default" : "SignIn")
|
|
|
|
}
|
2019-04-28 08:54:33 +10:00
|
|
|
|
|
|
|
onCurrentItemChanged: if (currentItem) {
|
|
|
|
currentItem.forceActiveFocus()
|
|
|
|
}
|
|
|
|
|
|
|
|
// Buggy
|
|
|
|
replaceExit: null
|
|
|
|
popExit: null
|
|
|
|
pushExit: null
|
|
|
|
}
|
2019-05-07 03:07:00 +10:00
|
|
|
|
|
|
|
Keys.onEscapePressed: Backend.pdb() // TODO: only if debug mode True
|
2019-04-28 08:54:33 +10:00
|
|
|
}
|
|
|
|
}
|