summaryrefslogtreecommitdiff
path: root/contents/ui
diff options
context:
space:
mode:
Diffstat (limited to 'contents/ui')
-rw-r--r--contents/ui/ActivityView.qml20
-rw-r--r--contents/ui/main.qml4
2 files changed, 24 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
diff --git a/contents/ui/main.qml b/contents/ui/main.qml
index 1fc6779..41af62a 100644
--- a/contents/ui/main.qml
+++ b/contents/ui/main.qml
@@ -66,6 +66,7 @@ Item {
title: announcement.title,
url: announcement.html_url,
important: plasmoid.configuration.importantAnnouncements.includes(announcement.id.toString()),
+ finished: plasmoid.configuration.finishedAnnouncements.includes(announcement.id.toString()),
}
if (info.important) {
@@ -87,6 +88,7 @@ Item {
submitted: assignment.has_submitted_submissions,
url: assignment.html_url,
important: plasmoid.configuration.importantAssignments.includes(assignment.id.toString()),
+ finished: plasmoid.configuration.finishedAssignments.includes(assignment.id.toString()),
}
if (!info.submitted || showSubmittedAssignments) {
@@ -133,6 +135,7 @@ Item {
title: "Code quality"
url: "https://xkcd.com/1513"
important: true
+ finished: false
activityId: 0
}
*/
@@ -170,6 +173,7 @@ Item {
submitted: true
url: "https://xkcd.com/730"
important: true
+ finished: true
activityId: 1
}
*/