aboutsummaryrefslogtreecommitdiff
path: root/docs/qml.adoc
blob: 23ac0ab3bbbc5826990f9830bbd91cc2ca9eb49f (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
= QML Modules
:toc:

== Main.qml

Main `Kirigami.ApplicationWindow`. This window has a property `project` that tells the application which page should display.

In case `project` is `null` (this is when the application starts), it will show a <<WelcomePage.qml, Welcome Page>>.

If a project is selected, it will show a <<ProjectListPage.qml, Project List page>> and a <<PullRequestDescriptionPage.qml, Pull request description page>>.

In the footer it will show a `Kirigami.NavigationTabBar` with four items. Selecting one will `pop` the current page and will push it related page.

image::images/main-navigation-tab-bar.png[NavigationTabBar]

Info :: Info of the current pull request. See <<PullRequestDescriptionPage.qml, Pull request description page>>.
Comments :: All comments of the pull request. See <<CommentPage.qml, Comment page>>.
Files :: Diff view of the files in the pull request. See <<FilesChangedPage.qml, Files changed page>>.
Reviews :: Reviews made to the pull request. See <<ReviewListPage.qml, Review list page>>.

== WelcomePage.qml

This page list the following items

- Latest projects
- Button to add a project
- Settings page

== SettingsPage.qml

General settings of the application.

Has the authorization token for github API.

== ProjectListPage.qml

`Kirigami.ScrollablePage` that list all pull requests in a project.

image::images/ProjectListPage.png[ProjectListPage]

Selecting a pull request the list will trigger a `pullRequestSelected` signal.

=== Key actions

* [x] Refresh pull request list
* [ ] Search pull requests

== PullRequestDescriptionPage.qml

Shows all the information of a selected pull request

image::images/PullRequestDescriptionPage.png[PullRequestDescriptionPage]

=== PullRequestDescription.qml

`Kirigami.FormLayout` with all the info about the pull request.

The `pullRequest` variable is of a type xref:data.adoc#PullRequest[`kodereviewer.data.PullRequest`]

=== Key actions

None. This page is informational only.

== CommentPage.qml

== FilesChangedPage.qml

== ReviewListPage.qml