moment/harmonyqml/components/UI.qml
miruka 0db5a3233d Change pages organization
- UI (previously MainUI) is back to being the only component loaded
  as Window's child

- UI has the background image previously only for the SignInPage

- If there are no accounts, the UI Loader's initialItem is the
  SignInPage

- The SidePane becomes visible when there's >=1 account connected
2019-04-27 18:54:33 -04:00

52 lines
1.3 KiB
QML

import QtQuick 2.7
import QtQuick.Controls 1.4 as Controls1
import QtQuick.Controls 2.2
import QtQuick.Layouts 1.4
import "base" as Base
import "sidePane" as SidePane
import "chat" as Chat
Base.HImage {
id: loginPage
fillMode: Image.PreserveAspectCrop
source: "../images/login_background.jpg"
anchors.fill: parent
property bool accountsLoggedIn: Backend.clientManager.clientCount > 0
//https://doc.qt.io/qt-5/qml-qtquick-controls-splitview.html
Controls1.SplitView {
anchors.fill: parent
SidePane.Root {
Layout.minimumWidth: 36
width: 200
visible: accountsLoggedIn
}
StackView {
function showPage(path, properties) {
pageStack.replace(path, properties || {})
}
function showRoom(userId, roomId) {
pageStack.replace(
"chat/Root.qml", { userId: userId, roomId: roomId }
)
}
id: pageStack
initialItem: accountsLoggedIn ? undefined : "pages/SignIn.qml"
onCurrentItemChanged: if (currentItem) {
currentItem.forceActiveFocus()
}
// Buggy
replaceExit: null
popExit: null
pushExit: null
}
}
}