diff options
author | Matias Linares <matias.linares@comprandoengrupo.net> | 2024-10-30 16:27:05 -0300 |
---|---|---|
committer | Matias Linares <matias.linares@comprandoengrupo.net> | 2024-10-30 17:49:36 -0300 |
commit | 10d04e65085712fe9206c08ac9600109a4bcfc8e (patch) | |
tree | 9d501981276d6fab599eb5482470d5f3501b6b32 | |
parent | d46b4e7470e3115df34fc96ba2f8e59974f713be (diff) | |
download | kodereviewer-10d04e65085712fe9206c08ac9600109a4bcfc8e.tar.gz |
Add review changes dialog to new structure
-rw-r--r-- | kodereviewer/app.py | 3 | ||||
-rw-r--r-- | kodereviewer/qml/CommentPage.qml | 6 | ||||
-rw-r--r-- | kodereviewer/qml/FilesChangedPage.qml | 6 | ||||
-rw-r--r-- | kodereviewer/qml/Main.qml | 39 | ||||
-rw-r--r-- | kodereviewer/qml/PullRequestDescriptionPage.qml | 4 | ||||
-rw-r--r-- | kodereviewer/qml/PullRequestPage.qml | 122 | ||||
-rw-r--r-- | kodereviewer/qml/ReviewListPage.qml | 4 |
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 |