File indexing completed on 2024-05-12 05:36:17
0001 // SPDX-FileCopyrightText: 2022 Devin Lin <devin@kde.org> 0002 // SPDX-License-Identifier: GPL-2.0-or-later 0003 0004 #include "profilesettings.h" 0005 0006 #include <KLocalizedString> 0007 0008 ProfileSettings::ProfileSettings(QObject *parent, 0009 QString name, 0010 QString apn, 0011 QString user, 0012 QString password, 0013 NetworkManager::GsmSetting::NetworkType networkType, 0014 QString connectionUni) 0015 : QObject{parent} 0016 , m_name(name) 0017 , m_apn(apn) 0018 , m_user(user) 0019 , m_password(password) 0020 , m_networkType(networkTypeStr(networkType)) 0021 , m_connectionUni(connectionUni) 0022 { 0023 setParent(parent); 0024 } 0025 0026 ProfileSettings::ProfileSettings(QObject *parent, NetworkManager::Setting::Ptr setting, NetworkManager::Connection::Ptr connection) 0027 : QObject{parent} 0028 , m_connectionUni(connection->uuid()) 0029 { 0030 setParent(parent); 0031 0032 NetworkManager::GsmSetting::Ptr gsmSetting = setting.staticCast<NetworkManager::GsmSetting>(); 0033 0034 m_name = connection->name(); 0035 m_apn = gsmSetting->apn(); 0036 m_user = gsmSetting->username(); 0037 m_password = gsmSetting->password(); 0038 m_networkType = networkTypeStr(gsmSetting->networkType()); 0039 } 0040 0041 QString ProfileSettings::name() 0042 { 0043 return m_name; 0044 } 0045 0046 QString ProfileSettings::apn() 0047 { 0048 return m_apn; 0049 } 0050 0051 void ProfileSettings::setApn(QString apn) 0052 { 0053 if (apn != m_apn) { 0054 m_apn = apn; 0055 Q_EMIT apnChanged(); 0056 } 0057 } 0058 0059 QString ProfileSettings::user() 0060 { 0061 return m_user; 0062 } 0063 0064 void ProfileSettings::setUser(QString user) 0065 { 0066 if (user != m_user) { 0067 m_user = user; 0068 Q_EMIT userChanged(); 0069 } 0070 } 0071 0072 QString ProfileSettings::password() 0073 { 0074 return m_password; 0075 } 0076 0077 void ProfileSettings::setPassword(QString password) 0078 { 0079 if (password != m_password) { 0080 m_password = password; 0081 Q_EMIT passwordChanged(); 0082 } 0083 } 0084 0085 QString ProfileSettings::networkType() 0086 { 0087 return m_networkType; 0088 } 0089 0090 void ProfileSettings::setNetworkType(QString networkType) 0091 { 0092 if (networkType != m_networkType) { 0093 m_networkType = networkType; 0094 Q_EMIT networkTypeChanged(); 0095 } 0096 } 0097 0098 QString ProfileSettings::connectionUni() 0099 { 0100 return m_connectionUni; 0101 } 0102 0103 QString ProfileSettings::networkTypeStr(NetworkManager::GsmSetting::NetworkType networkType) 0104 { 0105 if (networkType == NetworkManager::GsmSetting::NetworkType::Any) { 0106 return QStringLiteral("Any"); 0107 } else if (networkType == NetworkManager::GsmSetting::NetworkType::GprsEdgeOnly) { 0108 return QStringLiteral("Only 2G"); 0109 } else if (networkType == NetworkManager::GsmSetting::NetworkType::Only3G) { 0110 return QStringLiteral("Only 3G"); 0111 } else if (networkType == NetworkManager::GsmSetting::NetworkType::Only4GLte) { 0112 return QStringLiteral("Only 4G"); 0113 } else if (networkType == NetworkManager::GsmSetting::NetworkType::Prefer2G) { 0114 return QStringLiteral("2G"); 0115 } else if (networkType == NetworkManager::GsmSetting::NetworkType::Prefer3G) { 0116 return QStringLiteral("3G/2G"); 0117 } else if (networkType == NetworkManager::GsmSetting::NetworkType::Prefer4GLte) { 0118 return QStringLiteral("4G/3G/2G"); 0119 } 0120 return QStringLiteral("Any"); 0121 } 0122 0123 NetworkManager::GsmSetting::NetworkType ProfileSettings::networkTypeFlag(const QString &networkType) 0124 { 0125 if (networkType == QStringLiteral("Any")) { 0126 return NetworkManager::GsmSetting::NetworkType::Any; 0127 } else if (networkType == QStringLiteral("Only 2G")) { 0128 return NetworkManager::GsmSetting::NetworkType::GprsEdgeOnly; 0129 } else if (networkType == QStringLiteral("Only 3G")) { 0130 return NetworkManager::GsmSetting::NetworkType::Only3G; 0131 } else if (networkType == QStringLiteral("Only 4G")) { 0132 return NetworkManager::GsmSetting::NetworkType::Only4GLte; 0133 } else if (networkType == QStringLiteral("2G")) { 0134 return NetworkManager::GsmSetting::NetworkType::Prefer2G; 0135 } else if (networkType == QStringLiteral("3G/2G")) { 0136 return NetworkManager::GsmSetting::NetworkType::Prefer3G; 0137 } else if (networkType == QStringLiteral("4G/3G/2G")) { 0138 return NetworkManager::GsmSetting::NetworkType::Prefer4GLte; 0139 } 0140 return NetworkManager::GsmSetting::NetworkType::Any; 0141 }