diff options
Diffstat (limited to 'kodereviewer/qml/PullRequestDescription.qml')
-rw-r--r-- | kodereviewer/qml/PullRequestDescription.qml | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/kodereviewer/qml/PullRequestDescription.qml b/kodereviewer/qml/PullRequestDescription.qml new file mode 100644 index 0000000..a40ecd4 --- /dev/null +++ b/kodereviewer/qml/PullRequestDescription.qml @@ -0,0 +1,133 @@ +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.deprecated.kodereviewer 1.0 + +Kirigami.FormLayout { + id: root + anchors.fill: parent + implicitWidth: parent.width + property var pullRequest: undefined + + Kirigami.Heading { + Layout.fillWidth: true + Layout.alignment: Qt.AlignHCenter + leftPadding: Kirigami.Units.largeSpacing + rightPadding: Kirigami.Units.largeSpacing + level: 1 + text: root.pullRequest ? root.pullRequest.title : "" + wrapMode: Text.WordWrap + } + + Kirigami.Separator { + Kirigami.FormData.isSection: true + } + + RowLayout { + Layout.fillWidth: true + ColumnLayout { + Layout.fillWidth: true + RowLayout { + QQC2.Label { + text: "Author" + elide: Text.ElideRight + } + QQC2.Label { + text: root.pullRequest ? root.pullRequest.username : "" + elide: Text.ElideLeft + } + } + RowLayout { + QQC2.Label { + text: "State: " + elide: Text.ElideRight + } + QQC2.Label { + text: root.pullRequest ? root.pullRequest.state : "" + elide: Text.ElideLeft + } + } + RowLayout { + QQC2.Label { + text: "Draft?: " + elide: Text.ElideRight + } + QQC2.Label { + text: root.pullRequest ? root.pullRequest.draft ? i18n("Yes") : i18n("No") : "" + elide: Text.ElideLeft + } + } + + RowLayout { + QQC2.Label { + text: "Last commit: " + elide: Text.ElideRight + } + QQC2.Label { + text: root.pullRequest ? root.pullRequest.last_commit : "" + elide: Text.ElideLeft + } + } + } + + ColumnLayout { + Layout.fillWidth: false + Layout.fillHeight: true + Repeater { + model: 0 + delegate: QQC2.Label { + text: "#Faa" + } + } + } + } + + Loader { + id: labelModelLoader + active: !!root.pullRequest + sourceComponent: LabelModel { + pullRequest: root.pullRequest + } + } + + RowLayout { + Repeater { + model: labelModelLoader.item + delegate: Rectangle { + required property string name + required property string labelColor + required property string textColor + color: labelColor + width: thelabel.implicitWidth + height: thelabel.implicitHeight + radius: 5 + QQC2.Label { + id: thelabel + padding: Kirigami.Units.smallSpacing + text: name + color: textColor + } + } + } + } + + Kirigami.Separator { + Kirigami.FormData.isSection: true + Kirigami.FormData.label: "Description" + } + + MarkdownLabel { + Layout.fillWidth: true + Layout.fillHeight: false + leftPadding: Kirigami.Units.largeSpacing + rightPadding: Kirigami.Units.largeSpacing + text: root.pullRequest ? + (root.pullRequest.body != "" ? root.pullRequest.body : "*No description provided.*") : "" + } +} |