mirror of
https://invent.kde.org/marcoa/shift-shell.git
synced 2026-04-26 14:23:09 +00:00
Having the KCMs that are mobile specific here makes more sense than in the settings application. Historically plasma-settings had a faster release cycle than Plasma, but the application is now moving to the Plasma release schedule and so it makes sense do this now.
309 lines
11 KiB
QML
309 lines
11 KiB
QML
// SPDX-FileCopyrightText: 2021-2022 Devin Lin <espidev@gmail.com>
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
import QtQuick 2.12
|
|
import QtQuick.Layouts 1.2
|
|
import QtQuick.Controls 2.12 as Controls
|
|
|
|
import org.kde.kirigami 2.19 as Kirigami
|
|
import org.kde.kcm 1.2
|
|
import org.kde.kirigamiaddons.labs.mobileform 0.1 as MobileForm
|
|
|
|
import cellularnetworkkcm 1.0
|
|
|
|
Kirigami.ScrollablePage {
|
|
id: modemPage
|
|
title: i18n("Modem %1", modem.displayId)
|
|
|
|
leftPadding: 0
|
|
rightPadding: 0
|
|
topPadding: Kirigami.Units.gridUnit
|
|
bottomPadding: Kirigami.Units.gridUnit
|
|
|
|
property Modem modem
|
|
property bool showExtra: false
|
|
|
|
ColumnLayout {
|
|
MessagesList {
|
|
Layout.fillWidth: true
|
|
Layout.margins: Kirigami.Units.smallSpacing
|
|
visible: count != 0
|
|
model: kcm.messages
|
|
}
|
|
|
|
MobileForm.FormCard {
|
|
Layout.fillWidth: true
|
|
|
|
contentItem: ColumnLayout {
|
|
spacing: 0
|
|
|
|
MobileForm.FormCardHeader {
|
|
title: i18n("Modem Control")
|
|
}
|
|
|
|
MobileForm.AbstractFormDelegate {
|
|
id: modemRestartButton
|
|
Layout.fillWidth: true
|
|
contentItem: RowLayout {
|
|
Controls.Label {
|
|
Layout.fillWidth: true
|
|
text: i18n("Modem Restart")
|
|
}
|
|
Controls.Button {
|
|
text: i18n("Force Modem Restart")
|
|
onClicked: modem.reset()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
MobileForm.FormCard {
|
|
Layout.fillWidth: true
|
|
Layout.topMargin: Kirigami.Units.largeSpacing
|
|
|
|
contentItem: ColumnLayout {
|
|
spacing: 0
|
|
|
|
MobileForm.FormCardHeader {
|
|
title: i18n("Modem Details")
|
|
}
|
|
|
|
MobileForm.AbstractFormDelegate {
|
|
id: accessTechnologiesText
|
|
Layout.fillWidth: true
|
|
|
|
background: Item {}
|
|
contentItem: ColumnLayout {
|
|
Layout.fillWidth: true
|
|
spacing: Kirigami.Units.smallSpacing
|
|
Controls.Label {
|
|
Layout.fillWidth: true
|
|
text: i18n("Access Technologies")
|
|
elide: Text.ElideRight
|
|
}
|
|
Repeater {
|
|
model: modem.details.accessTechnologies
|
|
Controls.Label {
|
|
Layout.fillWidth: true
|
|
text: modelData
|
|
color: Kirigami.Theme.disabledTextColor
|
|
font: Kirigami.Theme.smallFont
|
|
elide: Text.ElideRight
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
MobileForm.FormDelegateSeparator {}
|
|
|
|
MobileForm.FormTextDelegate {
|
|
id: imeiText
|
|
text: i18n("IMEI")
|
|
description: modem.details.equipmentIdentifier
|
|
}
|
|
|
|
MobileForm.FormDelegateSeparator {}
|
|
|
|
MobileForm.FormTextDelegate {
|
|
id: enabledText
|
|
text: i18n("Enabled")
|
|
description: modem.details.isEnabled
|
|
}
|
|
|
|
MobileForm.FormDelegateSeparator {}
|
|
|
|
MobileForm.FormTextDelegate {
|
|
id: manufacturerText
|
|
text: i18n("Manufacturer")
|
|
description: modem.details.manufacturer
|
|
}
|
|
|
|
MobileForm.FormDelegateSeparator {}
|
|
|
|
MobileForm.FormTextDelegate {
|
|
id: modelText
|
|
text: i18n("Model")
|
|
description: modem.details.model
|
|
}
|
|
|
|
MobileForm.FormDelegateSeparator {}
|
|
|
|
MobileForm.AbstractFormDelegate {
|
|
id: ownedNumbersText
|
|
Layout.fillWidth: true
|
|
|
|
background: Item {}
|
|
contentItem: ColumnLayout {
|
|
Layout.fillWidth: true
|
|
spacing: Kirigami.Units.smallSpacing
|
|
Controls.Label {
|
|
Layout.fillWidth: true
|
|
text: i18n("Owned Numbers:")
|
|
elide: Text.ElideRight
|
|
}
|
|
Repeater {
|
|
model: modem.details.ownNumbers
|
|
Controls.Label {
|
|
Layout.fillWidth: true
|
|
text: modelData
|
|
color: Kirigami.Theme.disabledTextColor
|
|
font: Kirigami.Theme.smallFont
|
|
elide: Text.ElideRight
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
MobileForm.FormDelegateSeparator {}
|
|
|
|
MobileForm.FormTextDelegate {
|
|
id: revisionText
|
|
text: i18n("Revision")
|
|
description: modem.details.revision
|
|
}
|
|
|
|
MobileForm.FormDelegateSeparator {}
|
|
|
|
MobileForm.FormTextDelegate {
|
|
id: signalQualityText
|
|
text: i18n("Signal Quality")
|
|
description: modem.details.signalQuality
|
|
}
|
|
|
|
MobileForm.FormDelegateSeparator {}
|
|
|
|
MobileForm.FormTextDelegate {
|
|
id: stateText
|
|
text: i18n("State")
|
|
description: modem.details.state
|
|
}
|
|
|
|
MobileForm.FormDelegateSeparator {}
|
|
|
|
MobileForm.FormTextDelegate {
|
|
id: failureReasonText
|
|
text: i18n("Failure Reason")
|
|
description: modem.details.stateFailedReason
|
|
}
|
|
|
|
MobileForm.FormDelegateSeparator {}
|
|
|
|
MobileForm.FormTextDelegate {
|
|
id: registrationStateText
|
|
text: i18n("Registration State")
|
|
description: modem.details.registrationState
|
|
}
|
|
|
|
MobileForm.FormDelegateSeparator {}
|
|
|
|
MobileForm.FormTextDelegate {
|
|
id: roamingText
|
|
text: i18n("Roaming")
|
|
description: modem.isRoaming ? i18n("Yes") : i18n("No")
|
|
}
|
|
|
|
MobileForm.FormDelegateSeparator {}
|
|
|
|
MobileForm.FormTextDelegate {
|
|
id: firmwareVersionText
|
|
text: i18n("Firmware Version")
|
|
description: modem.details.firmwareVersion
|
|
}
|
|
|
|
MobileForm.FormDelegateSeparator {}
|
|
|
|
MobileForm.FormTextDelegate {
|
|
id: interfaceNameText
|
|
text: i18n("Interface Name")
|
|
description: modem.details.interfaceName
|
|
}
|
|
|
|
MobileForm.FormDelegateSeparator {}
|
|
|
|
MobileForm.FormTextDelegate {
|
|
id: meteredText
|
|
text: i18n("Metered")
|
|
description: modem.details.metered
|
|
}
|
|
|
|
MobileForm.FormDelegateSeparator {}
|
|
|
|
MobileForm.FormTextDelegate {
|
|
id: activeNMConnectionText
|
|
text: i18n("Active NetworkManager Connection")
|
|
description: modem.activeConnectionUni
|
|
}
|
|
|
|
MobileForm.FormDelegateSeparator {}
|
|
|
|
MobileForm.FormTextDelegate {
|
|
id: deviceText
|
|
text: i18n("Device")
|
|
description: modem.details.device
|
|
}
|
|
|
|
MobileForm.FormDelegateSeparator {}
|
|
|
|
MobileForm.FormTextDelegate {
|
|
id: deviceIdText
|
|
text: i18n("Device ID")
|
|
description: modem.details.deviceIdentifier
|
|
}
|
|
|
|
MobileForm.FormDelegateSeparator {}
|
|
|
|
MobileForm.AbstractFormDelegate {
|
|
id: driversText
|
|
Layout.fillWidth: true
|
|
|
|
background: Item {}
|
|
contentItem: ColumnLayout {
|
|
Layout.fillWidth: true
|
|
spacing: Kirigami.Units.smallSpacing
|
|
Controls.Label {
|
|
Layout.fillWidth: true
|
|
text: i18n("Drivers:")
|
|
elide: Text.ElideRight
|
|
}
|
|
Repeater {
|
|
model: modem.details.drivers
|
|
Controls.Label {
|
|
Layout.fillWidth: true
|
|
text: modelData
|
|
color: Kirigami.Theme.disabledTextColor
|
|
font: Kirigami.Theme.smallFont
|
|
elide: Text.ElideRight
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
MobileForm.FormDelegateSeparator {}
|
|
|
|
MobileForm.FormTextDelegate {
|
|
id: pluginText
|
|
text: i18n("Plugin")
|
|
description: modem.details.plugin
|
|
}
|
|
|
|
MobileForm.FormDelegateSeparator {}
|
|
|
|
MobileForm.FormTextDelegate {
|
|
id: powerStateText
|
|
text: i18n("Power State")
|
|
description: modem.details.powerState
|
|
}
|
|
|
|
MobileForm.FormDelegateSeparator {}
|
|
|
|
MobileForm.FormTextDelegate {
|
|
id: simPathText
|
|
text: i18n("SIM Path")
|
|
description: modem.details.simPath
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|