Warning, /system/mycroft-gui/containments/mark2/package/contents/ui/networking/NetworkItem.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * Copyright 2018 by Aditya Mehra <aix.m@outlook.com> 0003 * 0004 * Licensed under the Apache License, Version 2.0 (the "License"); 0005 * you may not use this file except in compliance with the License. 0006 * You may obtain a copy of the License at 0007 * 0008 * http://www.apache.org/licenses/LICENSE-2.0 0009 * 0010 * Unless required by applicable law or agreed to in writing, software 0011 * distributed under the License is distributed on an "AS IS" BASIS, 0012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 0013 * See the License for the specific language governing permissions and 0014 * limitations under the License. 0015 * 0016 */ 0017 0018 import QtQuick 2.2 0019 import QtQuick.Layouts 1.2 0020 import org.kde.plasma.components 2.0 as PlasmaComponents 0021 import org.kde.plasma.core 2.0 as PlasmaCore 0022 import org.kde.plasma.networkmanagement 0.2 as PlasmaNM 0023 import org.kde.kirigami 2.5 as Kirigami 0024 0025 Kirigami.AbstractListItem { 0026 id: connectionItem 0027 0028 property bool activating: model.ConnectionState == PlasmaNM.Enums.Activating 0029 property bool deactivating: model.ConnectionState == PlasmaNM.Enums.Deactivating 0030 property bool predictableWirelessPassword: !model.Uuid && model.Type == PlasmaNM.Enums.Wireless && 0031 (model.SecurityType == PlasmaNM.Enums.StaticWep || model.SecurityType == PlasmaNM.Enums.WpaPsk || 0032 model.SecurityType == PlasmaNM.Enums.Wpa2Psk) 0033 0034 contentItem: Item { 0035 implicitWidth: delegateLayout.implicitWidth; 0036 implicitHeight: delegateLayout.implicitHeight; 0037 0038 ColumnLayout { 0039 id: delegateLayout 0040 anchors { 0041 left: parent.left; 0042 top: parent.top; 0043 right: parent.right; 0044 } 0045 0046 RowLayout { 0047 Layout.fillWidth: true 0048 spacing: Math.round(units.gridUnit / 2) 0049 0050 Kirigami.Icon { 0051 id: connectionSvgIcon 0052 Layout.alignment: Qt.AlignVCenter | Qt.AlignLeft 0053 Layout.preferredHeight: units.iconSizes.medium 0054 Layout.preferredWidth: units.iconSizes.medium 0055 //elementId: model.ConnectionIcon 0056 source: "network-wireless-connected-100" 0057 } 0058 0059 ColumnLayout { 0060 Layout.alignment: Qt.AlignVCenter | Qt.AlignLeft 0061 0062 Kirigami.Heading { 0063 id: connectionNameLabel 0064 Layout.alignment: Qt.AlignLeft 0065 level: 2 0066 elide: Text.ElideRight 0067 font.weight: model.ConnectionState == PlasmaNM.Enums.Activated ? Font.DemiBold : Font.Normal 0068 font.italic: model.ConnectionState == PlasmaNM.Enums.Activating ? true : false 0069 text: model.ItemUniqueName 0070 textFormat: Text.PlainText 0071 } 0072 0073 Kirigami.Heading { 0074 id: connectionStatusLabel 0075 Layout.alignment: Qt.AlignLeft 0076 level: 3 0077 elide: Text.ElideRight 0078 opacity: 0.6 0079 text: itemText() 0080 } 0081 } 0082 } 0083 } 0084 } 0085 0086 function itemText() { 0087 if (model.ConnectionState == PlasmaNM.Enums.Activating) { 0088 if (model.Type == PlasmaNM.Enums.Vpn) 0089 return model.VpnState 0090 else 0091 return model.DeviceState 0092 } else if (model.ConnectionState == PlasmaNM.Enums.Deactivating) { 0093 if (model.Type == PlasmaNM.Enums.Vpn) 0094 return model.VpnState 0095 else 0096 return model.DeviceState 0097 } else if (model.ConnectionState == PlasmaNM.Enums.Deactivated) { 0098 var result = model.LastUsed 0099 if (model.SecurityType > PlasmaNM.Enums.NoneSecurity) 0100 result += ", " + model.SecurityTypeString 0101 return result 0102 } else if (model.ConnectionState == PlasmaNM.Enums.Activated) { 0103 return i18n("Connected") 0104 } 0105 } 0106 0107 onClicked: { 0108 console.log(model.ConnectionPath, model.DevicePath, model.SpecificPath) 0109 if(!model.ConnectionPath){ 0110 networkingLoader.devicePath = model.DevicePath 0111 networkingLoader.specificPath = model.SpecificPath 0112 networkingLoader.connectionName = connectionNameLabel.text 0113 networkingLoader.securityType = model.SecurityType 0114 networkingLoader.source = "../networking/NetworkConnect.qml" 0115 } 0116 else if (model.ConnectionState == PlasmaNM.Enums.Deactivated) { 0117 networkingLoader.source = "../networking/Connecting.qml" 0118 handler.activateConnection(model.ConnectionPath, model.DevicePath, model.SpecificPath) 0119 } 0120 else { 0121 handler.deactivateConnection(model.ConnectionPath, model.DevicePath) 0122 } 0123 } 0124 0125 onPressAndHold: { 0126 pathToRemove = model.ConnectionPath 0127 networkActions.open() 0128 } 0129 }