Warning, /plasma/plasma-systemmonitor/src/table/KillDialog.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 * SPDX-FileCopyrightText: 2020 Arjen Hiemstra <ahiemstra@heimr.nl>
0003 * SPDX-FileCopyrightText: 2023 Nate Graham <nate@kde.org>
0004 *
0005 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0006 */
0007
0008 import QtQuick
0009 import QtQuick.Controls
0010 import QtQuick.Layouts
0011
0012 import org.kde.kirigami as Kirigami
0013
0014 Kirigami.Dialog {
0015 id: dialog
0016
0017 required property string killButtonText
0018 required property string killButtonIcon
0019 required property string questionText
0020
0021 property var items: []
0022 property bool doNotAskAgain: false
0023 property alias delegate: list.delegate
0024
0025 preferredWidth: Kirigami.Units.gridUnit * 25
0026
0027 focus: true
0028
0029 // We already have a cancel button in the footer
0030 showCloseButton: false
0031
0032 standardButtons: Dialog.Cancel
0033
0034 customFooterActions: [
0035 Kirigami.Action {
0036 text: dialog.killButtonText
0037 icon.name: dialog.killButtonIcon
0038 onTriggered: dialog.accept()
0039 }
0040 ]
0041
0042 contentItem: ScrollView {
0043 implicitWidth: Kirigami.Units.gridUnit * 25
0044
0045 leftPadding: Kirigami.Units.largeSpacing
0046 rightPadding: Kirigami.Units.largeSpacing
0047 topPadding: Kirigami.Units.largeSpacing
0048 bottomPadding: Kirigami.Units.largeSpacing
0049
0050 ListView {
0051 id: list
0052
0053 header: Label {
0054 padding: Kirigami.Units.largeSpacing
0055 width: list.width - list.leftMargin - list.rightMargin
0056 text: dialog.questionText
0057 wrapMode: Text.Wrap
0058 }
0059
0060 model: dialog.items
0061 currentIndex: -1
0062 clip: true
0063
0064 Kirigami.Theme.colorSet: Kirigami.Theme.View
0065 Kirigami.Theme.inherit: false
0066
0067 delegate: ItemDelegate {
0068 width: ListView.view.width
0069 text: modelData
0070
0071 // We don't want visual interactivity for the background
0072 highlighted: false
0073 hoverEnabled: false
0074 down: false
0075 }
0076 }
0077 }
0078
0079 footerLeadingComponent: CheckBox {
0080 leftPadding: Kirigami.Units.largeSpacing
0081 text: i18ndc("plasma-systemmonitor", "@option:check", "Do not ask again");
0082 onToggled: dialog.doNotAskAgain = checked
0083 }
0084 }