summaryrefslogtreecommitdiff
path: root/contents/ui/ActivityView.qml
diff options
context:
space:
mode:
authorFrederick Yin <fkfd@fkfd.me>2022-05-10 15:55:56 +0800
committerFrederick Yin <fkfd@fkfd.me>2022-05-10 15:55:56 +0800
commit67165d9325faf7c6eb8a978a0981fd602a02e892 (patch)
tree6b273a4b3faaf135b26a1545b4ebdd3d145d4d04 /contents/ui/ActivityView.qml
parenta5fa5c0c7c2ddda9dbb8e8215ddc4f4f1373cc0c (diff)
Remember finished activities
Diffstat (limited to 'contents/ui/ActivityView.qml')
-rw-r--r--contents/ui/ActivityView.qml20
1 files changed, 20 insertions, 0 deletions
diff --git a/contents/ui/ActivityView.qml b/contents/ui/ActivityView.qml
index 6c58b68..6c3bb87 100644
--- a/contents/ui/ActivityView.qml
+++ b/contents/ui/ActivityView.qml
@@ -94,8 +94,27 @@ RowLayout {
Layout.fillWidth: true
PlasmaComponents3.CheckBox {
id: activityCheckbox
+ checkState: finished ? Qt.Checked : Qt.Unchecked
onToggled: () => {
+ finished = (checkState == Qt.Checked)
activityLabel.font.strikeout = (checkState == Qt.Checked)
+
+ const configKeys = {
+ announcement: "finishedAnnouncements",
+ assignment: "finishedAssignments",
+ }
+
+ let finishedActivities = plasmoid.configuration[configKeys[type]]
+ if (finished) {
+ if (!finishedActivities.includes(activityId)) {
+ finishedActivities.push(activityId)
+ }
+ } else {
+ // remove activityId from list
+ finishedActivities.splice(finishedActivities.indexOf(activityId), 1)
+ }
+ // save config
+ plasmoid.configuration[configKeys[type]] = finishedActivities
}
}
@@ -104,6 +123,7 @@ RowLayout {
id: activityLabel
text: `[${course}] ${title}`
font.bold: important
+ font.strikeout: finished
color: important ? PlasmaCore.Theme.negativeTextColor : PlasmaCore.Theme.textColor
wrapMode: Text.WordWrap
Layout.fillWidth: true