Warning, /plasma/plasma-nm/applet/contents/ui/DetailsText.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 SPDX-FileCopyrightText: 2013-2017 Jan Grulich <jgrulich@redhat.com>
0003
0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005 */
0006
0007 import QtQuick 2.2
0008 import QtQuick.Layouts 1.15
0009
0010 import org.kde.kquickcontrolsaddons 2.0 as KQuickControlsAddons
0011 import org.kde.kirigami 2.20 as Kirigami
0012 import org.kde.plasma.extras 2.0 as PlasmaExtras
0013 import org.kde.plasma.components 3.0 as PlasmaComponents3
0014
0015 MouseArea {
0016 height: detailsGrid.implicitHeight
0017
0018 property var details: []
0019
0020 acceptedButtons: Qt.RightButton
0021
0022 onPressed: mouse => {
0023 const item = detailsGrid.childAt(mouse.x, mouse.y);
0024 if (!item || !item.isContent) {
0025 return;
0026 }
0027 contextMenu.show(this, item.text, mouse.x, mouse.y);
0028 }
0029
0030 KQuickControlsAddons.Clipboard {
0031 id: clipboard
0032 }
0033
0034 PlasmaExtras.Menu {
0035 id: contextMenu
0036 property string text
0037
0038 function show(item, text, x, y) {
0039 contextMenu.text = text
0040 visualParent = item
0041 open(x, y)
0042 }
0043
0044 PlasmaExtras.MenuItem {
0045 text: i18n("Copy")
0046 icon: "edit-copy"
0047 enabled: contextMenu.text !== ""
0048 onClicked: clipboard.content = contextMenu.text
0049 }
0050 }
0051
0052 GridLayout {
0053 id: detailsGrid
0054 width: parent.width
0055 columns: 2
0056 rowSpacing: Kirigami.Units.smallSpacing / 4
0057
0058 Repeater {
0059 id: repeater
0060
0061 model: details.length
0062
0063 PlasmaComponents3.Label {
0064 Layout.fillWidth: true
0065
0066 readonly property bool isContent: index % 2
0067
0068 elide: isContent ? Text.ElideRight : Text.ElideNone
0069 font: Kirigami.Theme.smallFont
0070 horizontalAlignment: isContent ? Text.AlignLeft : Text.AlignRight
0071 text: isContent ? details[index] : `${details[index]}:`
0072 textFormat: Text.PlainText
0073 opacity: isContent ? 1 : 0.6
0074 }
0075 }
0076 }
0077 }