shift-shell/kcms/cellularnetwork/ui/AvailableNetworks.qml
ivan tkachenko 22f7d490ba
Revert "Port away from PlasmaCore and PlasmaExtras to Kirigami"
This (partially) reverts commit 127bbdf653.

Only incorrect changes from Kirigami.Units.largeSpacing to
Kirigami.Units.gridUnit are reverted. Only Plasma.Units were buggy.
2023-11-08 21:16:19 +03:00

92 lines
3 KiB
QML

// SPDX-FileCopyrightText: 2021 Devin Lin <devin@kde.org>
// SPDX-License-Identifier: GPL-2.0-or-later
import QtQuick 2.12
import QtQuick.Layouts 1.2
import QtQuick.Controls 2.12 as Controls
import org.kde.kirigami 2.12 as Kirigami
import org.kde.kcmutils
import cellularnetworkkcm 1.0
Kirigami.ScrollablePage {
id: root
title: i18n("Available Networks")
property Modem modem
property Sim sim
ListView {
id: listView
header: ColumnLayout {
anchors.left: parent.left
anchors.right: parent.right
spacing: 0
MessagesList {
visible: count != 0
Layout.fillWidth: true
Layout.margins: Kirigami.Units.largeSpacing
model: kcm.messages
}
}
Kirigami.PlaceholderMessage {
anchors.centerIn: parent
visible: !modem.details.isScanningNetworks && listView.count == 0
icon.name: "network-mobile-100"
text: i18n("Current operator: %1", modem.details.operatorName ? modem.details.operatorName : i18n("none"))
helpfulAction: Kirigami.Action {
icon.name: "view-refresh"
text: i18n("Scan For Networks")
enabled: !modem.details.isScanningNetworks
onTriggered: modem.details.scanNetworks()
}
}
Controls.BusyIndicator {
anchors.centerIn: parent
visible: modem.details.isScanningNetworks
implicitWidth: Kirigami.Units.iconSizes.large
implicitHeight: implicitWidth
}
model: modem.details.networks
delegate: Kirigami.SwipeListItem {
onClicked: {
if (!modelData.isCurrentlyUsed) {
modelData.registerToNetwork();
modem.details.scanNetworks();
}
}
contentItem: RowLayout {
Layout.fillWidth: true
ColumnLayout {
spacing: Kirigami.Units.smallSpacing
Kirigami.Heading {
level: 3
text: modelData.operatorLong + " | " + modelData.operatorShort + "(" + modelData.operatorCode + ")"
}
Controls.Label {
text: modelData.accessTechnology
}
}
Controls.RadioButton {
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
checked: modelData.isCurrentlyUsed
onClicked: {
if (!modelData.isCurrentlyUsed) {
modelData.registerToNetwork();
modem.details.scanNetworks();
}
checked = modelData.isCurrentlyUsed;
}
}
}
}
}
}