summaryrefslogtreecommitdiff
path: root/kodereviewer/qml/Main.qml
blob: e7496a62daeb3437597d6e2c18f18575658f8ccd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
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: projectListPageLoader
        active: false
        sourceComponent: Component {
            ProjectListPage {
                connection: root.connection
                project: root.project

                onPullRequestSelected: pr => {
                    print(pr)
                    pullRequestPageLoader.item.pullRequest = pr

                }
            }
        }
    }

    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)
    }
}