Warning, /plasma/plasma-mobile/kcms/cellularnetwork/ui/EditProfileDialog.qml is written in an unsupported language. File is not indexed.

0001 // SPDX-FileCopyrightText: 2020-2022 Devin Lin <espidev@gmail.com>
0002 // SPDX-License-Identifier: GPL-2.0-or-later
0003 
0004 import QtQuick 2.12
0005 import QtQuick.Layouts 1.2
0006 import QtQuick.Controls 2.12 as Controls
0007 
0008 import org.kde.kirigami 2.19 as Kirigami
0009 
0010 import cellularnetworkkcm 1.0
0011 
0012 Kirigami.Dialog {
0013     id: dialog
0014     title: i18n("Edit APN")
0015     clip: true
0016     
0017     property Modem modem
0018     property ProfileSettings profile
0019     
0020     property int pageWidth
0021     
0022     standardButtons: Controls.Dialog.Ok | Controls.Dialog.Cancel
0023     
0024     onAccepted: {
0025         if (profile == null) { // create new profile
0026             modem.addProfile(profileName.text, profileApn.text, profileUsername.text, profilePassword.text, profileNetworkType.value);
0027         } else { // edit existing profile
0028             modem.updateProfile(profile.connectionUni, profileName.text, profileApn.text, profileUsername.text, profilePassword.text, profileNetworkType.value);
0029         }
0030     }
0031     preferredWidth: pageWidth - Kirigami.Units.gridUnit * 4
0032     padding: Kirigami.Units.gridUnit
0033     
0034     ColumnLayout {
0035         Kirigami.FormLayout {
0036             Layout.fillWidth: true
0037             wideMode: false
0038             
0039             Controls.TextField {
0040                 id: profileName
0041                 Kirigami.FormData.label: i18n("Name")
0042                 text: profile != null ? profile.name : ""
0043             }
0044             Controls.TextField {
0045                 id: profileApn
0046                 Kirigami.FormData.label: i18n("APN")
0047                 text: profile != null ? profile.apn : ""
0048             }
0049             Controls.TextField {
0050                 id: profileUsername
0051                 Kirigami.FormData.label: i18n("Username")
0052                 text: profile != null ? profile.user : ""
0053             }
0054             Controls.TextField {
0055                 id: profilePassword
0056                 Kirigami.FormData.label: i18n("Password")
0057                 text: profile != null ? profile.password : ""
0058             }
0059             Controls.ComboBox {
0060                 id: profileNetworkType
0061                 Kirigami.FormData.label: i18n("Network type")
0062                 model: [i18n("4G/3G/2G"), i18n("3G/2G"), i18n("2G"), i18n("Only 4G"), i18n("Only 3G"), i18n("Only 2G"), i18n("Any")]
0063                 Component.onCompleted: {
0064                     if (profile != null) {
0065                         currentIndex = indexOfValue(profile.networkType)
0066                     }
0067                 }
0068             }
0069         }
0070     }
0071 }