pragma ComponentBehavior: Bound import QtQuick import QtCore import QtQuick.Controls as Controls import QtQuick.Layouts import org.kde.kirigami as Kirigami import org.kde.kirigamiaddons.formcard as FormCard import org.deprecated.kodereviewer 1.0 Kirigami.ApplicationWindow { id: root title: qsTr("Kode Reviewer") minimumWidth: Kirigami.Units.gridUnit * 20 //minimumHeight: Kirigami.Units.gridUnit * 20 width: minimumWidth height: minimumHeight signal projectSelected() property Project project property NetworkManager connection: NetworkManager { project: root.project } Settings { id: settings property alias width: root.width property alias height: root.height property string githubToken: "" } pageStack.initialPage: initPage Component { id: initPage WelcomePage { onProjectSelected: project => { root.project = project root.projectSelected() } } } Loader { id: treeFileModelLoader active: !!pullRequest property var pullRequest: undefined sourceComponent: TreeFileModel { pullRequest: treeFileModelLoader.pullRequest } } contextDrawer: FilesDrawer { id: contextDrawer enabled: treeFileModelLoader.active model: treeFileModelLoader.item onEnabledChanged: { print("Enabled? " + enabled) } } Loader { id: projectListPageLoader active: false sourceComponent: Component { ProjectListPage { connection: root.connection project: root.project onPullRequestSelected: number => { const pullRequest = project.pullRequest(number) pullRequestPageLoader.item.pullRequest = pullRequest treeFileModelLoader.pullRequest = pullRequest } } } } Loader { id: pullRequestPageLoader active: false sourceComponent: PullRequestPage { connection: root.connection } } onProjectSelected: { projectListPageLoader.active = true pullRequestPageLoader.active = true pageStack.replace(projectListPageLoader.item) pageStack.push(pullRequestPageLoader.item) } }