shift-shell/kcms/wifi/ui/ConnectionItemDelegate.qml
Alexey Andreyev 2275e2d7dd port QML to KSvg
Search and replace all the occurrences of Svg/FrameSvgItem/SvgItem
to their new implementation from KSvg.
Changes only namespace, API is the same

See also:
https://invent.kde.org/frameworks/ksvg/-/issues/1
2023-07-10 02:04:42 +03:00

116 lines
3.9 KiB
QML

/*
SPDX-FileCopyrightText: 2017 Martin Kacej <m.kacej@atlas.sk>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
import QtQuick 2.6
import QtQuick.Layouts 1.2
import QtQuick.Controls 2.2 as Controls
import org.kde.plasma.core 2.0 as PlasmaCore
import org.kde.plasma.networkmanagement 0.2 as PlasmaNM
import org.kde.kirigami 2.2 as Kirigami
import org.kde.ksvg 1.0 as KSvg
Kirigami.SwipeListItem {
enabled: true
property var map : []
property bool predictableWirelessPassword: !Uuid && Type == PlasmaNM.Enums.Wireless &&
(SecurityType == PlasmaNM.Enums.StaticWep ||
SecurityType == PlasmaNM.Enums.WpaPsk ||
SecurityType == PlasmaNM.Enums.Wpa2Psk ||
SecurityType == PlasmaNM.Enums.SAE)
RowLayout {
anchors.leftMargin: Kirigami.Units.largeSpacing * 5
spacing: Kirigami.Units.largeSpacing
Kirigami.Separator {}
Item {
Layout.preferredWidth: Kirigami.Units.gridUnit
Layout.preferredHeight: Kirigami.Units.gridUnit
KSvg.SvgItem {
id: connectionSvgIcon
elementId: mobileProxyModel.showSavedMode ? "network-wireless-connected-100" : ConnectionIcon
svg: KSvg.Svg {
multipleImages: true
imagePath: "icons/network"
colorGroup: PlasmaCore.ColorScope.colorGroup
}
}
Controls.BusyIndicator {
id: connectingIndicator
anchors {
horizontalCenter: connectionSvgIcon.horizontalCenter
verticalCenter: connectionSvgIcon.verticalCenter
}
running: ConnectionState == PlasmaNM.Enums.Activating
visible: running
}
}
Controls.Label {
id: connectionNameLabel
Layout.fillWidth: true
elide: Text.ElideRight
text: ItemUniqueName
textFormat: Text.PlainText
}
}
actions: [
Kirigami.Action {
icon.name: "network-connect"
visible: ConnectionState != PlasmaNM.Enums.Activated
onTriggered: changeState()
},
Kirigami.Action {
icon.name: "network-disconnect"
visible: ConnectionState == PlasmaNM.Enums.Activated
onTriggered: handler.deactivateConnection(ConnectionPath, DevicePath)
},
Kirigami.Action {
icon.name: "configure"
visible: (Uuid != "")? true : false
onTriggered: {
kcm.push("NetworkSettings.qml", {path: ConnectionPath})
}
},
Kirigami.Action {
icon.name: "entry-delete"
visible: (Uuid != "")? true : false
onTriggered: handler.removeConnection(ConnectionPath)
}
]
onClicked: {
changeState()
}
function changeState() {
if (Uuid || !predictableWirelessPassword) {
if (ConnectionState == PlasmaNM.Enums.Deactivated) {
if (!predictableWirelessPassword && !Uuid) {
handler.addAndActivateConnection(DevicePath, SpecificPath);
} else {
handler.activateConnection(ConnectionPath, DevicePath, SpecificPath);
}
} else{
//show popup
}
} else if (predictableWirelessPassword) {
connectionDialog.headingText = i18n("Connect to") + " " + ItemUniqueName;
connectionDialog.devicePath = DevicePath;
connectionDialog.specificPath = SpecificPath;
connectionDialog.securityType = SecurityType;
connectionDialog.openAndClear();
}
}
}