summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatias Linares <matias.linares@comprandoengrupo.net>2024-10-30 16:27:05 -0300
committerMatias Linares <matias.linares@comprandoengrupo.net>2024-10-30 17:49:36 -0300
commit10d04e65085712fe9206c08ac9600109a4bcfc8e (patch)
tree9d501981276d6fab599eb5482470d5f3501b6b32
parentd46b4e7470e3115df34fc96ba2f8e59974f713be (diff)
downloadkodereviewer-10d04e65085712fe9206c08ac9600109a4bcfc8e.tar.gz
Add review changes dialog to new structure
-rw-r--r--kodereviewer/app.py3
-rw-r--r--kodereviewer/qml/CommentPage.qml6
-rw-r--r--kodereviewer/qml/FilesChangedPage.qml6
-rw-r--r--kodereviewer/qml/Main.qml39
-rw-r--r--kodereviewer/qml/PullRequestDescriptionPage.qml4
-rw-r--r--kodereviewer/qml/PullRequestPage.qml122
-rw-r--r--kodereviewer/qml/ReviewListPage.qml4
7 files changed, 48 insertions, 136 deletions
diff --git a/kodereviewer/app.py b/kodereviewer/app.py
index 1eeb241..eb196d1 100644
--- a/kodereviewer/app.py
+++ b/kodereviewer/app.py
@@ -10,6 +10,7 @@ from PySide6.QtCore import QUrl, QByteArray
from PySide6.QtQml import QQmlApplicationEngine, qmlRegisterType
from PySide6.QtQuickControls2 import QQuickStyle
+from kodereviewer.data import PullRequest
from kodereviewer.models.file import FileModel
from kodereviewer.network_manager import NetworkManager
from kodereviewer.models import (
@@ -57,6 +58,8 @@ def main():
qmlRegisterType(ReviewModel, "org.deprecated.kodereviewer", 1, 0, "ReviewModel")
qmlRegisterType(NetworkManager, "org.deprecated.kodereviewer", 1, 0, "NetworkManager")
+ qmlRegisterType(PullRequest, "org.deprecated.kodereviewer", 1, 0, "PullRequest")
+
localized_context = KLocalizedContext()
engine.rootContext().setContextObject(localized_context)
base_path = os.path.abspath(os.path.dirname(__file__))
diff --git a/kodereviewer/qml/CommentPage.qml b/kodereviewer/qml/CommentPage.qml
index bcf6cb5..8c297bc 100644
--- a/kodereviewer/qml/CommentPage.qml
+++ b/kodereviewer/qml/CommentPage.qml
@@ -13,13 +13,15 @@ import org.deprecated.kodereviewer 1.0
Kirigami.ScrollablePage {
id: root
- property var pullRequest
+ property PullRequest pullRequest
property NetworkManager connection
Kirigami.Theme.colorSet: Kirigami.Theme.View
Kirigami.Theme.inherit: false
- title: pullRequest ? pullRequest.title : ""
+ title: pullRequest ? `#${pullRequest.number}` : ""
+
+ actions: commonActions
Timer {
// Ten minutes?
diff --git a/kodereviewer/qml/FilesChangedPage.qml b/kodereviewer/qml/FilesChangedPage.qml
index e74b59c..9f55add 100644
--- a/kodereviewer/qml/FilesChangedPage.qml
+++ b/kodereviewer/qml/FilesChangedPage.qml
@@ -19,7 +19,7 @@ Kirigami.ScrollablePage {
Kirigami.Theme.colorSet: Kirigami.Theme.View
Kirigami.Theme.inherit: false
- title: pullRequest ? pullRequest.title : ""
+ title: pullRequest ? `#${pullRequest.number}` : ""
property string currentFile: ""
property string currentText: ""
@@ -29,6 +29,10 @@ Kirigami.ScrollablePage {
root.currentText = ""
}
+ Component.onCompleted: {
+ actions = commonActions.concat(actions)
+ }
+
actions: [
Kirigami.Action {
id: openFiles
diff --git a/kodereviewer/qml/Main.qml b/kodereviewer/qml/Main.qml
index dc807fe..6c13d1e 100644
--- a/kodereviewer/qml/Main.qml
+++ b/kodereviewer/qml/Main.qml
@@ -28,6 +28,8 @@ Kirigami.ApplicationWindow {
project: root.project
}
+ property PullRequest pullRequest
+
Settings {
id: settings
property alias width: root.width
@@ -37,6 +39,28 @@ Kirigami.ApplicationWindow {
pageStack.initialPage: initPage
+ property list<Kirigami.Action> commonActions: [
+ Kirigami.Action {
+ id: reviewChangesAction
+ text: "Review changes"
+ icon.name: "preview-symbolic"
+ enabled: !!root.pullRequest
+ onTriggered: reviewChangesDialog.open()
+ }
+ ]
+
+
+ ReviewDialog {
+ id: reviewChangesDialog
+ onAccepted: {
+ root.connection.createReview(
+ root.pullRequest.number, root.pullRequest.last_commit,
+ reviewBodyText, event
+ )
+ clearForm()
+ }
+ }
+
Component {
id: initPage
WelcomePage {
@@ -50,7 +74,7 @@ Kirigami.ApplicationWindow {
Loader {
id: treeFileModelLoader
active: !!pullRequest
- property var pullRequest: undefined
+ property var pullRequest: root.pullRequest
sourceComponent: TreeFileModel {
pullRequest: treeFileModelLoader.pullRequest
@@ -66,10 +90,6 @@ Kirigami.ApplicationWindow {
id: contextDrawer
enabled: treeFileModelLoader.active
model: treeFileModelLoader.item
-
- onEnabledChanged: {
- print("Enabled? " + enabled)
- }
}
@@ -83,10 +103,7 @@ Kirigami.ApplicationWindow {
onPullRequestSelected: number => {
const pullRequest = project.pullRequest(number)
- pullRequestPageLoader.item.pullRequest = pullRequest
- commentsPageLoader.item.pullRequest = pullRequest
- reviewListPageLoader.item.pullRequest = pullRequest
- filesChangedPageLoader.item.pullRequest = pullRequest
+ root.pullRequest = pullRequest
treeFileModelLoader.pullRequest = pullRequest
}
}
@@ -102,6 +119,7 @@ Kirigami.ApplicationWindow {
active: root.isProjectSelected
sourceComponent: CommentPage {
connection: root.connection
+ pullRequest: root.pullRequest
}
}
@@ -110,6 +128,7 @@ Kirigami.ApplicationWindow {
active: root.isProjectSelected
sourceComponent: PullRequestDescriptionPage {
connection: root.connection
+ pullRequest: root.pullRequest
}
}
@@ -118,6 +137,7 @@ Kirigami.ApplicationWindow {
active: root.isProjectSelected
sourceComponent: ReviewListPage {
connection: root.connection
+ pullRequest: root.pullRequest
}
}
@@ -126,6 +146,7 @@ Kirigami.ApplicationWindow {
active: root.isProjectSelected
sourceComponent: FilesChangedPage {
connection: root.connection
+ pullRequest: root.pullRequest
}
}
diff --git a/kodereviewer/qml/PullRequestDescriptionPage.qml b/kodereviewer/qml/PullRequestDescriptionPage.qml
index d26b232..32a99ba 100644
--- a/kodereviewer/qml/PullRequestDescriptionPage.qml
+++ b/kodereviewer/qml/PullRequestDescriptionPage.qml
@@ -19,7 +19,9 @@ Kirigami.ScrollablePage {
Kirigami.Theme.colorSet: Kirigami.Theme.View
Kirigami.Theme.inherit: false
- title: pullRequest ? pullRequest.title : ""
+ title: pullRequest ? `#${pullRequest.number}` : ""
+
+ actions: commonActions
Kirigami.PlaceholderMessage {
visible: !root.pullRequest
diff --git a/kodereviewer/qml/PullRequestPage.qml b/kodereviewer/qml/PullRequestPage.qml
deleted file mode 100644
index 914acf5..0000000
--- a/kodereviewer/qml/PullRequestPage.qml
+++ /dev/null
@@ -1,122 +0,0 @@
-pragma ComponentBehavior: Bound
-import QtQuick
-import QtCore
-import QtQuick.Controls as QQC2
-import QtQuick.Layouts
-
-import org.kde.kirigami as Kirigami
-import org.kde.kirigamiaddons.formcard as FormCard
-import org.kde.kirigamiaddons.components as KirigamiComponents
-
-import org.deprecated.kodereviewer 1.0
-
-Kirigami.ScrollablePage {
- id: root
-
- property var pullRequest
- property NetworkManager connection
-
- Kirigami.Theme.colorSet: Kirigami.Theme.View
- Kirigami.Theme.inherit: false
-
- property string currentView: "info"
-
- title: pullRequest ? pullRequest.title : ""
-
- actions: [
- Kirigami.Action {
- id: reviewChangesAction
- text: "Review changes"
- icon.name: "preview-symbolic"
- enabled: !!root.pullRequest
- onTriggered: reviewChangesDialog.open()
- },
- Kirigami.Action {
- id: openFiles
- text: "Files"
- icon.name: "file-catalog-symbolic"
- enabled: !!root.pullRequest
- onTriggered: {
- if(contextDrawer.opened) {
- contextDrawer.close()
- } else {
- contextDrawer.open()
- }
- }
- }
- ]
-
- ReviewDialog {
- id: reviewChangesDialog
- onAccepted: {
- root.connection.createReview(
- root.pullRequest.number, root.pullRequest.last_commit,
- reviewBodyText, event
- )
- clearForm()
- }
- }
-
- Loader {
- id: commentModelLoader
- active: !!root.pullRequest
- sourceComponent: CommentModel {
- id: commentModel
- pullRequest: root.pullRequest
-
- onPullRequestChanged: root.connection.getPullRequestComments(root.pullRequest.number)
- }
- }
-
- Loader {
- id: reviewLoader
- active: !!root.pullRequest
- sourceComponent: ReviewModel {
- id: reviewModel
- pullRequest: root.pullRequest
- onPullRequestChanged: root.connection.getPullRequestReviews(root.pullRequest.number)
- }
- }
-
- Loader {
- id: fileModelLoader
- active: !!root.pullRequest
- sourceComponent: FileModel {
- id: fileModel
- pullRequest: root.pullRequest
-
- onPullRequestChanged: root.connection.getFiles(root.pullRequest.number)
- }
- }
-
- Kirigami.PlaceholderMessage {
- visible: !root.pullRequest
- anchors.centerIn: parent
- icon.name: "org.deprecated.kodereviewer"
- text: "Select a pull request"
- }
-
- ColumnLayout {
- id: mainLayout
- anchors.fill: parent
-
- Editor {
- id: editor
- visible: !!root.pullRequest && root.currentView == "files"
- Layout.fillWidth: true
- Layout.fillHeight: true
-
- text: ""
- file: ""
- }
- }
-
- Connections {
- target: contextDrawer
- function onFileSelected(filename, text) {
- console.log("file changed!")
- editor.filename = filename + '.diff'
- editor.text = text
- }
- }
-}
diff --git a/kodereviewer/qml/ReviewListPage.qml b/kodereviewer/qml/ReviewListPage.qml
index 555858c..170ba30 100644
--- a/kodereviewer/qml/ReviewListPage.qml
+++ b/kodereviewer/qml/ReviewListPage.qml
@@ -19,7 +19,9 @@ Kirigami.ScrollablePage {
Kirigami.Theme.colorSet: Kirigami.Theme.View
Kirigami.Theme.inherit: false
- title: pullRequest ? pullRequest.title : ""
+ title: pullRequest ? `#${pullRequest.number}` : ""
+
+ actions: commonActions
Loader {
id: reviewLoader