import QtQuick 2.15 import QtQuick.Layouts 1.15 import QtQuick.Controls 2.15 import org.kde.plasma.plasmoid 2.0 import org.kde.plasma.core 2.0 as PlasmaCore import org.kde.plasma.components 2.0 as PlasmaComponents import org.kde.plasma.components 3.0 as PlasmaComponents3 import org.kde.plasma.extras 2.0 as PlasmaExtras RowLayout { id: announcementView width: parent.width Layout.fillWidth: true RowLayout { Layout.fillWidth: true PlasmaComponents3.CheckBox { onToggled: () => { announcementLabel.font.strikeout = (checkState == Qt.Checked) } } PlasmaComponents3.Label { id: announcementLabel text: `[${course}] ${title}` elide: Text.ElideRight Layout.fillWidth: true } } RowLayout { Layout.alignment: Qt.AlignRight PlasmaComponents3.ToolButton { icon.name: "view-visible" onClicked: () => { Qt.openUrlExternally(url) } } PlasmaComponents3.ToolButton { icon.name: "delete" onClicked: () => { // avoid non-fatal TypeError due to announcementView.parent=null but .width=parent.width announcementView.width = 0 announcementsModel.remove(index) } } } }