1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
|
/*
* Copyright (C) 2014-2016 Canonical Ltd
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* Authors:
* Jonas G. Drange <jonas.drange@canonical.com>
*
*/
import QtQuick 2.4
import QOfono 0.2
import "../i18nd.js" as I18nd
Item {
id: root
property alias modem: modem
property alias netReg: netReg
property alias radioSettings: radioSettings
property alias simMng: simMng
property alias connMan: connMan
property alias ims: ims
property alias mtkSettings: mtkSettings
property alias present: simMng.present
property string path
property string name
property string title: {
var number = simMng.subscriberNumbers[0] || simMng.subscriberIdentity;
return name + (number ? " (" + number + ")" : "");
}
function getTechString () {
return techToString(radioSettings.technologyPreference);
}
function techToString (tech) {
var strings = {
'gsm': I18nd.tr("2G only (saves battery)"),
'umts': I18nd.tr("2G/3G"),
'lte': I18nd.tr("2G/3G/4G"),
'nr': I18nd.tr("2G/3G/4G/5G")
};
strings['umts_enable'] = strings['umts'];
return strings[tech] || "";
}
// adds umts_enable to an copy of model
function addUmtsEnableToModel (model) {
var newModel = model.slice(0);
newModel.push('umts_enable');
return newModel;
}
OfonoModem {
id: modem
modemPath: path
onInterfacesChanged: {
if (interfaces.indexOf('org.ofono.MtkSettings') >= 0) {
mtkSettings._valid = true;
} else {
mtkSettings._valid = false;
}
}
}
OfonoNetworkRegistration {
id: netReg
modemPath: path
}
OfonoRadioSettings {
id: radioSettings
modemPath: path
}
OfonoSimManager {
id: simMng
modemPath: path
}
OfonoConnMan {
id: connMan
modemPath: path
}
OfonoIpMultimediaSystem {
id: ims
modemPath: path
}
OfonoMtkSettings {
id: mtkSettings
property bool _valid: true
modemPath: path
on_ValidChanged: {
if (_valid) {
// invalidate the binding's dbus proxy
modemPath = "/invalid";
modemPath = root.path;
}
}
}
}
|