#include "controlnetconfigwidget.h" #include "base/waitingdlg.h" #include "globaldefine.h" #include "tools.h" #include #include #include ControlNetConfigWidget::ControlNetConfigWidget(QWidget *parent,QList *list) : QWidget(parent) { auto vBox = new QVBoxLayout(this); lbLanCfg = new QLabel; QFont font = lbLanCfg->font(); font.setPointSize(12); lbLanCfg->setFont(font); lbLanCfg->setAlignment(Qt::AlignCenter); vBox->addWidget(lbLanCfg); auto hBox = new QHBoxLayout(); hBox->addStretch(); fdDhcp = new QRadioButton; hBox->addWidget(fdDhcp, 0, Qt::AlignTop); hBox->addSpacing(40); vBoxSpecifyIp = new QVBoxLayout(); vBoxSpecifyIp->setContentsMargins(0, 0, 0, 0); fdSpecifyIp = new QRadioButton; vBoxSpecifyIp->addWidget(fdSpecifyIp, 0, Qt::AlignCenter); gBoxSpecifyIp = new QGroupBox; gBoxSpecifyIp->setMaximumWidth(340); { auto vvv = new QVBoxLayout(gBoxSpecifyIp); auto hhh = new QHBoxLayout(); labelIpAddress = new QLabel; hhh->addWidget(labelIpAddress); fdIP = new QIPLineEdit(gBoxSpecifyIp); fdIP->setFixedWidth(160); fdIP->setStyleSheet("background-color: #fff;"); hhh->addWidget(fdIP); vvv->addLayout(hhh); hhh = new QHBoxLayout(); labelMaskAddress = new QLabel(gBoxSpecifyIp); hhh->addWidget(labelMaskAddress); fdGateWay = new QIPLineEdit(gBoxSpecifyIp); fdGateWay->setFixedWidth(160); fdGateWay->setStyleSheet("background-color: #fff;"); hhh->addWidget(fdGateWay); vvv->addLayout(hhh); hhh = new QHBoxLayout(); labelGateway = new QLabel(gBoxSpecifyIp); hhh->addWidget(labelGateway); fdMask = new QIPLineEdit(gBoxSpecifyIp); fdMask->setFixedWidth(160); fdMask->setStyleSheet("background-color: #FFF;"); hhh->addWidget(fdMask); vvv->addLayout(hhh); hhh = new QHBoxLayout(); labelDnsAddress = new QLabel(gBoxSpecifyIp); hhh->addWidget(labelDnsAddress); fdDns = new QIPLineEdit(gBoxSpecifyIp); fdDns->setFixedWidth(160); fdDns->setStyleSheet("background-color: #FFF;"); hhh->addWidget(fdDns); vvv->addLayout(hhh); } vBoxSpecifyIp->addWidget(gBoxSpecifyIp); hBox->addLayout(vBoxSpecifyIp); hBox->addStretch(); vBox->addLayout(hBox); hBox = new QHBoxLayout(); hBox->addStretch(); btnLanSet = new QPushButton; btnLanSet->setMinimumSize(QSize(60, 30)); connect(btnLanSet, &QPushButton::clicked, this, [this] { if(gSelCards->isEmpty()) { QMessageBox::information(gMainWin, tr("Tip"), tr("NoSelectedController")); return; } QString ip = fdIP->text(); QString mask = fdMask->text(); QString gateWay = fdGateWay->text(); QString dns = fdDns->text(); if(fdDhcp->isChecked()) { if(ip=="...") ip="0.255.255.255"; if(mask=="...") mask="0.255.255.255"; if(gateWay=="...") gateWay="0.255.255.255"; if(dns=="...") dns="0.255.255.255"; } else { if(ip=="...") { QMessageBox::warning(gMainWin, tr("Attention"), tr("Please input IP address!")); fdIP->setFocus(); return; } if(!isTextValid(ip)) { QMessageBox::warning(gMainWin, tr("Attention"), tr("Your IP Address is Invalid!")+"["+ip+"]"); fdIP->setFocus(); return; } if(mask=="...") { QMessageBox::warning(gMainWin, tr("Attention"), tr("Please input Mask address!")); fdMask->setFocus(); return; } if(!isTextValid(mask)) { QMessageBox::warning(gMainWin, tr("Attention"), tr("Your Mask Address is Invalid!")); fdMask->setFocus(); return; } if(gateWay=="...") { QMessageBox::warning(gMainWin, tr("Attention"), tr("Please input Gateway address!")); fdGateWay->setFocus(); return; } if(!isTextValid(gateWay)) { QMessageBox::warning(gMainWin, tr("Attention"), tr("Your Gateway Address is Invalid!")); fdGateWay->setFocus(); return; } if(dns=="...") { QMessageBox::warning(gMainWin, tr("Attention"), tr("Please input DNS address!")); fdDns->setFocus(); return; } if (!isTextValid(dns)) { QMessageBox::warning(gMainWin, tr("Attention"), tr("Your DNS Address is Invalid!")); fdDns->setFocus(); return; } } QJsonObject json; json.insert("_id", "SetEthernet"); json.insert("_type", "SetEthernet"); json.insert("dhcp", fdDhcp->isChecked()); json.insert("ip", ip); json.insert("netMask", mask); json.insert("gateWay", gateWay); json.insert("dns", dns); if(gSelCards->count() == 1) { auto waitingDlg = new WaitingDlg(this, tr("SetEthernet")); Def_CtrlReqPre connect(reply, &QNetworkReply::finished, this, [reply, waitingDlg] { Def_CtrlSetReqAfter }); } else { foreach(auto card, *gSelCards) { Def_CtrlSetMulti(tr("SetEthernet")) } } }); hBox->addWidget(btnLanSet); hBox->addSpacing(100); btnLanGet = new QPushButton; btnLanGet->setMinimumSize(QSize(60, 30)); hBox->addWidget(btnLanGet); hBox->addStretch(); vBox->addLayout(hBox); auto line = new QFrame; line->setFrameShape(QFrame::HLine); line->setFrameShadow(QFrame::Sunken); vBox->addWidget(line); label_5 = new QLabel; label_5->setFont(font); label_5->setAlignment(Qt::AlignCenter); vBox->addWidget(label_5); horizontalLayout_2 = new QHBoxLayout(); horizontalLayout_2->setContentsMargins(-1, -1, 10, -1); verticalLayout_6 = new QVBoxLayout(); verticalLayout_6->setContentsMargins(-1, -1, -1, 0); groupBox_3 = new QGroupBox; groupBox_3->setMinimumSize(QSize(0, 144)); groupBox_3->setMaximumSize(QSize(460, 16777215)); groupBox_3->setCheckable(true); verticalLayout_7 = new QVBoxLayout(groupBox_3); horizontalLayout_9 = new QHBoxLayout(); horizontalLayout_9->setSpacing(6); horizontalLayout_9->setContentsMargins(0, 0, -1, -1); verticalLayout_11 = new QVBoxLayout(); verticalLayout_11->setContentsMargins(-1, -1, 0, -1); labelWifiName = new QLabel(groupBox_3); labelWifiName->setMinimumSize(QSize(0, 30)); verticalLayout_11->addWidget(labelWifiName); labelWifiPassword = new QLabel(groupBox_3); labelWifiPassword->setMinimumSize(QSize(0, 30)); verticalLayout_11->addWidget(labelWifiPassword); horizontalLayout_9->addLayout(verticalLayout_11); verticalLayout_12 = new QVBoxLayout(); verticalLayout_12->setContentsMargins(-1, -1, 0, -1); comboBox = new QComboBox(groupBox_3); comboBox->setMinimumSize(QSize(260, 30)); comboBox->setMaximumSize(QSize(260, 16777215)); comboBox->setStyleSheet(QString::fromUtf8("background-color: #FFFFFF;")); comboBox->setEditable(true); verticalLayout_12->addWidget(comboBox); lineEditWifiPassword = new QLineEdit(groupBox_3); lineEditWifiPassword->setMinimumSize(QSize(140, 30)); lineEditWifiPassword->setMaximumSize(QSize(160, 16777215)); lineEditWifiPassword->setStyleSheet(QString::fromUtf8("background-color: #FFFFFF;")); lineEditWifiPassword->setEchoMode(QLineEdit::PasswordEchoOnEdit); verticalLayout_12->addWidget(lineEditWifiPassword); horizontalLayout_9->addLayout(verticalLayout_12); verticalLayout_13 = new QVBoxLayout(); verticalLayout_13->setContentsMargins(-1, -1, 0, -1); pushButtonScan = new QPushButton(groupBox_3); pushButtonScan->setMinimumSize(QSize(60, 30)); pushButtonScan->setMaximumSize(QSize(100, 16777215)); verticalLayout_13->addWidget(pushButtonScan); horizontalSpacer_10 = new QSpacerItem(40, 30, QSizePolicy::Expanding, QSizePolicy::Minimum); verticalLayout_13->addItem(horizontalSpacer_10); horizontalLayout_9->addLayout(verticalLayout_13); verticalLayout_7->addLayout(horizontalLayout_9); pushButtonWiFiModel = new QPushButton(groupBox_3); pushButtonWiFiModel->setMinimumSize(QSize(60, 30)); verticalLayout_7->addWidget(pushButtonWiFiModel, 0, Qt::AlignHCenter); verticalLayout_6->addWidget(groupBox_3); horizontalLayout_2->addLayout(verticalLayout_6); pushButtonReadbackWiFiModel = new QPushButton; QSizePolicy sizePolicy3(QSizePolicy::Expanding, QSizePolicy::Fixed); sizePolicy3.setHorizontalStretch(0); sizePolicy3.setVerticalStretch(0); sizePolicy3.setHeightForWidth(pushButtonReadbackWiFiModel->sizePolicy().hasHeightForWidth()); pushButtonReadbackWiFiModel->setSizePolicy(sizePolicy3); pushButtonReadbackWiFiModel->setMinimumSize(QSize(0, 30)); pushButtonReadbackWiFiModel->setMaximumSize(QSize(100, 16777215)); horizontalLayout_2->addWidget(pushButtonReadbackWiFiModel, 0, Qt::AlignBottom); verticalLayout_4 = new QVBoxLayout(); verticalLayout_4->setContentsMargins(-1, 0, -1, -1); groupBox_4 = new QGroupBox; groupBox_4->setMinimumSize(QSize(0, 144)); groupBox_4->setMaximumSize(QSize(300, 16777215)); groupBox_4->setCheckable(true); verticalLayout_8 = new QVBoxLayout(groupBox_4); horizontalLayout_12 = new QHBoxLayout(); horizontalLayout_12->setContentsMargins(0, -1, -1, -1); verticalLayout_14 = new QVBoxLayout(); verticalLayout_14->setContentsMargins(0, -1, -1, -1); labelApName = new QLabel(groupBox_4); verticalLayout_14->addWidget(labelApName); labelApPassword = new QLabel(groupBox_4); verticalLayout_14->addWidget(labelApPassword); horizontalLayout_12->addLayout(verticalLayout_14); verticalLayout_15 = new QVBoxLayout(); verticalLayout_15->setContentsMargins(0, -1, -1, -1); lineEditHotspotName = new QLineEdit(groupBox_4); lineEditHotspotName->setMinimumSize(QSize(120, 30)); lineEditHotspotName->setMaximumSize(QSize(120, 16777215)); lineEditHotspotName->setStyleSheet(QString::fromUtf8("background-color: #FFFFFF;")); verticalLayout_15->addWidget(lineEditHotspotName); lineEditApPassword = new QLineEdit(groupBox_4); lineEditApPassword->setMinimumSize(QSize(120, 30)); lineEditApPassword->setMaximumSize(QSize(120, 16777215)); lineEditApPassword->setStyleSheet(QString::fromUtf8("background-color: #FFFFFF;")); lineEditApPassword->setEchoMode(QLineEdit::PasswordEchoOnEdit); verticalLayout_15->addWidget(lineEditApPassword); horizontalLayout_12->addLayout(verticalLayout_15); verticalLayout_8->addLayout(horizontalLayout_12); pushButtonApSet = new QPushButton(groupBox_4); pushButtonApSet->setMinimumSize(QSize(60, 30)); verticalLayout_8->addWidget(pushButtonApSet, 0, Qt::AlignHCenter); verticalLayout_4->addWidget(groupBox_4); horizontalLayout_2->addLayout(verticalLayout_4); horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); horizontalLayout_2->addItem(horizontalSpacer_2); vBox->addLayout(horizontalLayout_2); line_3 = new QFrame; line_3->setFrameShape(QFrame::HLine); line_3->setFrameShadow(QFrame::Sunken); vBox->addWidget(line_3); label = new QLabel; label->setFont(font); vBox->addWidget(label, 0, Qt::AlignHCenter); checkBox4g = new QCheckBox; vBox->addWidget(checkBox4g); horizontalLayout_13 = new QHBoxLayout(); horizontalLayout_13->setContentsMargins(-1, 0, -1, -1); pushButtonReadback4G = new QPushButton; pushButtonReadback4G->setMinimumSize(QSize(60, 30)); pushButtonReadback4G->setMaximumSize(QSize(200, 16777215)); horizontalLayout_13->addWidget(pushButtonReadback4G); label_ApnInfo = new QLabel; label_ApnInfo->setMinimumSize(QSize(0, 0)); horizontalLayout_13->addWidget(label_ApnInfo); lineEditApnInfo = new QLineEdit; horizontalLayout_13->addWidget(lineEditApnInfo); pushButtonRead4GStatus = new QPushButton; pushButtonRead4GStatus->setMinimumSize(QSize(0, 30)); horizontalLayout_13->addWidget(pushButtonRead4GStatus); horizontalSpacer_6 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); horizontalLayout_13->addItem(horizontalSpacer_6); vBox->addLayout(horizontalLayout_13); verticalSpacer_2 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding); vBox->addItem(verticalSpacer_2); groupBox_5 = new QGroupBox; groupBox_5->setMinimumSize(QSize(0, 80)); groupBox_5->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter); groupBox_5->setFlat(false); groupBox_5->setCheckable(true); groupBox_5->setChecked(false); verticalLayout_16 = new QVBoxLayout(groupBox_5); label_8 = new QLabel(groupBox_5); label_8->setWordWrap(true); verticalLayout_16->addWidget(label_8); checkBoxCustom = new QCheckBox(groupBox_5); checkBoxCustom->setChecked(false); verticalLayout_16->addWidget(checkBoxCustom); horizontalLayout_10 = new QHBoxLayout(); horizontalLayout_10->setContentsMargins(-1, 0, -1, -1); pushButtonGetMcc = new QPushButton(groupBox_5); pushButtonGetMcc->setMinimumSize(QSize(0, 30)); horizontalLayout_10->addWidget(pushButtonGetMcc); label_9 = new QLabel(groupBox_5); horizontalLayout_10->addWidget(label_9); label_2 = new QLabel(groupBox_5); horizontalLayout_10->addWidget(label_2); comboBoxCountryID = new QComboBox(groupBox_5); comboBoxCountryID->setMinimumSize(QSize(80, 0)); comboBoxCountryID->setStyleSheet(QString::fromUtf8("background-color: #FFFFFF")); comboBoxCountryID->setEditable(false); horizontalLayout_10->addWidget(comboBoxCountryID); label_11 = new QLabel(groupBox_5); horizontalLayout_10->addWidget(label_11); label_3 = new QLabel(groupBox_5); horizontalLayout_10->addWidget(label_3); comboBoxCarrierName = new QComboBox(groupBox_5); comboBoxCarrierName->setMinimumSize(QSize(200, 0)); comboBoxCarrierName->setContextMenuPolicy(Qt::DefaultContextMenu); comboBoxCarrierName->setStyleSheet(QString::fromUtf8("background-color: #FFFFFF")); comboBoxCarrierName->setEditable(false); comboBoxCarrierName->setDuplicatesEnabled(false); horizontalLayout_10->addWidget(comboBoxCarrierName); label_12 = new QLabel(groupBox_5); horizontalLayout_10->addWidget(label_12); label_4 = new QLabel(groupBox_5); horizontalLayout_10->addWidget(label_4); lineEditAPN = new QLineEdit(groupBox_5); lineEditAPN->setMinimumSize(QSize(200, 0)); lineEditAPN->setMaximumSize(QSize(200, 16777215)); lineEditAPN->setStyleSheet(QString::fromUtf8("background-color: #FFFFFF")); lineEditAPN->setReadOnly(true); horizontalLayout_10->addWidget(lineEditAPN); horizontalSpacer_3 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); horizontalLayout_10->addItem(horizontalSpacer_3); verticalLayout_16->addLayout(horizontalLayout_10); horizontalLayout_11 = new QHBoxLayout(); horizontalLayout_11->setContentsMargins(-1, 10, -1, -1); label_6 = new QLabel(groupBox_5); horizontalLayout_11->addWidget(label_6); lineEditUser = new QLineEdit(groupBox_5); lineEditUser->setMaximumSize(QSize(120, 16777215)); lineEditUser->setStyleSheet(QString::fromUtf8("background-color: #FFFFFF")); lineEditUser->setReadOnly(true); horizontalLayout_11->addWidget(lineEditUser); label_7 = new QLabel(groupBox_5); horizontalLayout_11->addWidget(label_7); lineEditPassword = new QLineEdit(groupBox_5); lineEditPassword->setMaximumSize(QSize(120, 16777215)); lineEditPassword->setStyleSheet(QString::fromUtf8("background-color: #FFFFFF")); lineEditPassword->setReadOnly(true); horizontalLayout_11->addWidget(lineEditPassword); horizontalSpacer_7 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); horizontalLayout_11->addItem(horizontalSpacer_7); verticalLayout_16->addLayout(horizontalLayout_11); horizontalLayout_8 = new QHBoxLayout(); horizontalLayout_8->setContentsMargins(-1, 0, -1, -1); horizontalSpacer_5 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); horizontalLayout_8->addItem(horizontalSpacer_5); pushButtonSet4GInfo = new QPushButton(groupBox_5); pushButtonSet4GInfo->setMinimumSize(QSize(60, 30)); horizontalLayout_8->addWidget(pushButtonSet4GInfo); pushButtonSetYuanHengApn = new QPushButton(groupBox_5); pushButtonSetYuanHengApn->setMinimumSize(QSize(0, 30)); horizontalLayout_8->addWidget(pushButtonSetYuanHengApn); horizontalSpacer_4 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); horizontalLayout_8->addItem(horizontalSpacer_4); verticalLayout_16->addLayout(horizontalLayout_8); vBox->addWidget(groupBox_5); verticalSpacer_4 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding); vBox->addItem(verticalSpacer_4); horizontalLayout_15 = new QHBoxLayout(); horizontalLayout_15->setContentsMargins(-1, 0, 10, -1); label_10 = new QLabel; horizontalLayout_15->addWidget(label_10); widgetFightModel = new SwitchControl; widgetFightModel->setMinimumSize(QSize(80, 35)); horizontalLayout_15->addWidget(widgetFightModel); pushButtonReadbackFlightModel = new QPushButton; pushButtonReadbackFlightModel->setMinimumSize(QSize(0, 30)); horizontalLayout_15->addWidget(pushButtonReadbackFlightModel); horizontalSpacer_8 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); horizontalLayout_15->addItem(horizontalSpacer_8); vBox->addLayout(horizontalLayout_15); verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding); vBox->addItem(verticalSpacer); fdDhcp->setText(QCoreApplication::translate("ControlNetConfigWidget", "DHCP", nullptr)); fdSpecifyIp->setText(QCoreApplication::translate("ControlNetConfigWidget", "Specify IP", nullptr)); labelIpAddress->setText(QCoreApplication::translate("ControlNetConfigWidget", "IP Address", nullptr)); labelMaskAddress->setText(QCoreApplication::translate("ControlNetConfigWidget", "Mask Address", nullptr)); labelGateway->setText(QCoreApplication::translate("ControlNetConfigWidget", "Gateway", nullptr)); labelDnsAddress->setText(QCoreApplication::translate("ControlNetConfigWidget", "DNS Address", nullptr)); btnLanGet->setText(QCoreApplication::translate("ControlNetConfigWidget", "Readback", nullptr)); label_5->setText(QCoreApplication::translate("ControlNetConfigWidget", "WIFI Configuration", nullptr)); groupBox_3->setTitle(QCoreApplication::translate("ControlNetConfigWidget", "WiFi On/Off", nullptr)); labelWifiName->setText(QCoreApplication::translate("ControlNetConfigWidget", "WiFi name", nullptr)); labelWifiPassword->setText(QCoreApplication::translate("ControlNetConfigWidget", "Password", nullptr)); lineEditWifiPassword->setPlaceholderText(QCoreApplication::translate("ControlNetConfigWidget", "Input password", nullptr)); pushButtonScan->setText(QCoreApplication::translate("ControlNetConfigWidget", "Scan", nullptr)); pushButtonWiFiModel->setText(QCoreApplication::translate("ControlNetConfigWidget", "Set", nullptr)); pushButtonReadbackWiFiModel->setText(QCoreApplication::translate("ControlNetConfigWidget", "Readback", nullptr)); groupBox_4->setTitle(QCoreApplication::translate("ControlNetConfigWidget", "Ap Mode", nullptr)); labelApName->setText(QCoreApplication::translate("ControlNetConfigWidget", "Ap name", nullptr)); labelApPassword->setText(QCoreApplication::translate("ControlNetConfigWidget", "Password", nullptr)); lineEditHotspotName->setPlaceholderText(QCoreApplication::translate("ControlNetConfigWidget", "Input Ap name", nullptr)); lineEditApPassword->setPlaceholderText(QCoreApplication::translate("ControlNetConfigWidget", "Input password", nullptr)); pushButtonApSet->setText(QCoreApplication::translate("ControlNetConfigWidget", "Set", nullptr)); label->setText(QCoreApplication::translate("ControlNetConfigWidget", "4G/5G Configuration", nullptr)); checkBox4g->setText(QCoreApplication::translate("ControlNetConfigWidget", "Open 4G/5G", nullptr)); pushButtonReadback4G->setText(QCoreApplication::translate("ControlNetConfigWidget", "Readback APN Info", nullptr)); label_ApnInfo->setText(QCoreApplication::translate("ControlNetConfigWidget", " APN:", nullptr)); pushButtonRead4GStatus->setText(QCoreApplication::translate("ControlNetConfigWidget", "Get cellular network status information", nullptr)); groupBox_5->setTitle(QCoreApplication::translate("ControlNetConfigWidget", "Set Apn Info,Check SIM can automatically match to MCC, and then select carrier get apn param", nullptr)); label_8->setText(QCoreApplication::translate("ControlNetConfigWidget", "Check SIM can automatically match to MCC, and then select carrier get apn param,if not found carrier,you can check the CUSTOM checkbox,then enter custom param.", nullptr)); checkBoxCustom->setText(QCoreApplication::translate("ControlNetConfigWidget", "CUSTOM", nullptr)); pushButtonGetMcc->setText(QCoreApplication::translate("ControlNetConfigWidget", "Check SIM", nullptr)); label_9->setText(QCoreApplication::translate("ControlNetConfigWidget", "->", nullptr)); label_2->setText(QCoreApplication::translate("ControlNetConfigWidget", "Country ID(mcc):", nullptr)); label_11->setText(QCoreApplication::translate("ControlNetConfigWidget", "->", nullptr)); label_3->setText(QCoreApplication::translate("ControlNetConfigWidget", "Carrier Name", nullptr)); label_12->setText(QCoreApplication::translate("ControlNetConfigWidget", "->", nullptr)); label_4->setText(QCoreApplication::translate("ControlNetConfigWidget", "APN:", nullptr)); lineEditAPN->setPlaceholderText(QCoreApplication::translate("ControlNetConfigWidget", "APN(Required)", nullptr)); label_6->setText(QCoreApplication::translate("ControlNetConfigWidget", "User:", nullptr)); lineEditUser->setPlaceholderText(QCoreApplication::translate("ControlNetConfigWidget", "Not required", nullptr)); label_7->setText(QCoreApplication::translate("ControlNetConfigWidget", "Password:", nullptr)); lineEditPassword->setPlaceholderText(QCoreApplication::translate("ControlNetConfigWidget", "Not required", nullptr)); pushButtonSet4GInfo->setText(QCoreApplication::translate("ControlNetConfigWidget", "Set", nullptr)); pushButtonSetYuanHengApn->setText(QCoreApplication::translate("ControlNetConfigWidget", "Set Apn:iot.cargo", nullptr)); label_10->setText(QCoreApplication::translate("ControlNetConfigWidget", "Flight Mode", nullptr)); pushButtonReadbackFlightModel->setText(QCoreApplication::translate("ControlNetConfigWidget", "Readback", nullptr)); btnLanGet->setProperty("ssType", "progManageTool"); pushButtonReadbackWiFiModel->setProperty("ssType", "progManageTool"); btnLanSet->setProperty("ssType", "progManageTool"); pushButtonApSet->setProperty("ssType", "progManageTool"); pushButtonWiFiModel->setProperty("ssType", "progManageTool"); pushButtonScan->setProperty("ssType", "progManageTool"); pushButtonReadback4G->setProperty("ssType", "progManageTool"); pushButtonSet4GInfo->setProperty("ssType", "progManageTool"); pushButtonGetMcc->setProperty("ssType", "progManageTool"); pushButtonSetYuanHengApn->setProperty("ssType", "progManageTool"); pushButtonReadbackFlightModel->setProperty("ssType", "progManageTool"); pushButtonRead4GStatus->setProperty("ssType", "progManageTool"); widgetFightModel->setSliderColor(QColor(0, 0, 0),QColor(0, 160, 230)); widgetFightModel->setBgColor(QColor(200,200,200),QColor(0,200,0)); widgetFightModel->setTextColor(QColor(100,100,100),QColor(0, 160, 230)); widgetFightModel->setText(tr("OFF"),tr("ON")); m_buttonGroup = new QButtonGroup; m_buttonGroup->addButton(fdDhcp,0); m_buttonGroup->addButton(fdSpecifyIp,1); checkBox4g->setStyleSheet("QCheckBox::indicator {width: 16px; height: 16px;}"); checkBoxCustom->setStyleSheet("QCheckBox::indicator {width: 16px; height: 16px;}"); comboBoxCountryID->setStyleSheet("background:rgba(216,216,216,1);"); comboBoxCarrierName->setStyleSheet("background:rgba(216,216,216,1);"); lineEditAPN->setStyleSheet("background:rgba(216,216,216,1);"); lineEditUser->setStyleSheet("background:rgba(216,216,216,1);"); lineEditPassword->setStyleSheet("background:rgba(216,216,216,1);"); checkBox4g->setChecked(true); fdDhcp->setChecked(true); connect(this,SIGNAL(sigGetDhcpOrSpecifyIp(int)),this,SLOT(OnDhcpOrSpecifyIp(int))); connect(m_buttonGroup,SIGNAL(buttonClicked(int)),this,SLOT(OnDhcpOrSpecifyIp(int))); connect(btnLanGet, SIGNAL(clicked()), this, SLOT(onReadbackWireNetwork())); connect(pushButtonWiFiModel, SIGNAL(clicked()), this, SLOT(onSetWiFiModel())); connect(pushButtonReadbackWiFiModel, SIGNAL(clicked()), this, SLOT(onReadbackWiFiModel())); connect(pushButtonApSet, SIGNAL(clicked()), this, SLOT(onSetAp())); connect(pushButtonScan,SIGNAL(clicked()),this,SLOT(OnScanWifi())); connect(pushButtonSet4GInfo, SIGNAL(clicked()), this, SLOT(onSet4GInfo())); connect(pushButtonReadback4G, SIGNAL(clicked()), this, SLOT(onReadback4G())); connect(pushButtonGetMcc, SIGNAL(clicked()), this, SLOT(onGetMcc())); connect(pushButtonRead4GStatus, SIGNAL(clicked()), this, SLOT(onGet4GStatus())); connect(comboBoxCountryID, SIGNAL(currentIndexChanged(int)), this, SLOT(OnComboMccChanged(int))); connect(comboBoxCarrierName, SIGNAL(currentIndexChanged(int)), this, SLOT(OnComboCarrierChanged(int))); connect(checkBoxCustom, SIGNAL(clicked(bool)), this, SLOT(OnCustom4G(bool))); connect(checkBox4g, SIGNAL(clicked(bool)), this, SLOT(OnOpne4G(bool))); connect(widgetFightModel, SIGNAL(checkedChanged(bool)), this, SLOT(onFightModelChecked(bool))); connect(pushButtonReadbackFlightModel, SIGNAL(clicked()), this, SLOT(onReadbackFlightModel())); MARCO_DEFINE_CONTROL_FUNC2(parent->parent(),parent) emit sigGetDhcpOrSpecifyIp(0); pushButtonSetYuanHengApn->setVisible(false); checkBoxCustom->setVisible(false); OnCustom4G(true); transUi(); } ControlNetConfigWidget::~ControlNetConfigWidget() { if(pHpptClient != nullptr) { qDebug() <<"delete pHpptClient in ~NetComm"; delete pHpptClient; pHpptClient=nullptr; } if(pHpptClientAll != nullptr) { qDebug() <<"delete pHpptClientAll in ~NetComm"; delete pHpptClientAll; pHpptClientAll=nullptr; } } void ControlNetConfigWidget::changeEvent(QEvent *event) { QWidget::changeEvent(event); if(event->type() == QEvent::LanguageChange) transUi(); } void ControlNetConfigWidget::transUi() { lbLanCfg->setText(tr("Wire Enther(RJ45) Configuration")); fdDhcp->setText(tr("DHCP")); fdSpecifyIp->setText(tr("Specify IP")); labelApName->setText(tr("AP name")); labelGateway->setText(tr("Gateway")); labelWifiName->setText(tr("WiFi name")); labelIpAddress->setText(tr("IP Address")); labelApPassword->setText(tr("Password")); labelDnsAddress->setText(tr("DNS Address")); labelMaskAddress->setText(tr("Subnet mask")); labelWifiPassword->setText(tr("Password")); pushButtonScan->setText(tr("Scan")); pushButtonApSet->setText(tr("Set")); pushButtonWiFiModel->setText(tr("Set")); btnLanSet->setText(tr("Set")); pushButtonReadbackWiFiModel->setText(tr("Readback")); btnLanGet->setText(tr("Readback")); groupBox_3->setTitle(tr("WiFi On/Off")); groupBox_4->setTitle(tr("Ap Mode")); label_5->setText(tr("WIFI Configuration")); lineEditApPassword->setPlaceholderText(tr("Input password")); lineEditWifiPassword->setPlaceholderText(tr("Input password")); lineEditHotspotName->setPlaceholderText(tr("Input ap name")); label->setText(tr("4G/5G Configuration")); label_8->setText(tr("Check SIM can automatically match to MCC, and then select carrier get apn param,if not found carrier,you can check the CUSTOM checkbox,then enter custom param.")); checkBox4g->setText(tr("Open 4G/5G")); groupBox_5->setTitle(tr("Set Apn Info,Check SIM can automatically match to MCC, and then select carrier get apn param")); checkBoxCustom->setText(tr("CUSTOM")); pushButtonGetMcc->setText(tr("Check SIM")); label_2->setText(tr("Country ID(mcc):")); label_3->setText(tr("Carrier Name")); label_4->setText(tr("APN:")); label_6->setText(tr("User:")); label_7->setText(tr("Password:")); pushButtonSet4GInfo->setText(tr("Set")); lineEditAPN->setPlaceholderText(tr("APN(Required)")); lineEditUser->setPlaceholderText(tr("Not required")); lineEditPassword->setPlaceholderText(tr("Not required")); pushButtonReadback4G->setText(tr("Readback APN Info")); pushButtonReadbackFlightModel->setText(tr("Readback")); pushButtonRead4GStatus->setText(tr("Get cellular network status information")); label_10->setText(tr("Flight Mode")); } void ControlNetConfigWidget::OnDhcpOrSpecifyIp(int iIndex) { if(iIndex==0) { gBoxSpecifyIp->setEnabled(false); fdDns->setStyleSheet("QLineEdit{background:rgba(216,216,216,1);}"); fdIP->setStyleSheet("QLineEdit{background:rgba(216,216,216,1);}"); fdMask->setStyleSheet("QLineEdit{background:rgba(216,216,216,1);}"); fdGateWay->setStyleSheet("QLineEdit{background:rgba(216,216,216,1);}"); fdDns->MySetColor(QColor::fromRgb(216,216,216)); fdIP->MySetColor(QColor::fromRgb(216,216,216)); fdMask->MySetColor(QColor::fromRgb(216,216,216)); fdGateWay->MySetColor(QColor::fromRgb(216,216,216)); } else { gBoxSpecifyIp->setEnabled(true); fdDns->setStyleSheet("QLineEdit{background:rgba(255,255,255,1);}"); fdIP->setStyleSheet("QLineEdit{background:rgba(255,255,255,1);}" ); fdMask->setStyleSheet("QLineEdit{background:rgba(255,255,255,1);}" ); fdGateWay->setStyleSheet("QLineEdit{background:rgba(255,255,255,1);}"); fdDns->MySetColor(QColor::fromRgb(255,255,255)); fdIP->MySetColor(QColor::fromRgb(255,255,255)); fdMask->MySetColor(QColor::fromRgb(255,255,255)); fdGateWay->MySetColor(QColor::fromRgb(255,255,255)); } } void ControlNetConfigWidget::onSelectedDeviceList(QList *list) { m_pLedlist=list; if(m_pLedlist==nullptr) return; if(m_pLedlist->count()==1) { if(groupBox_3->isChecked()) pushButtonScan->setEnabled(true); } else { if(groupBox_3->isChecked()) pushButtonScan->setEnabled(false); } //MACRO_DEFINE_CONTROL_FUNC3 if(m_pLedlist->count()==1) { m_pLedCard=list->at(0); m_strUrl="http://"+m_pLedCard->m_strCardIp+":2016/settings"; if(m_oldLedlist!=m_pLedCard&&m_bSelected==true) { m_oldLedlist=m_pLedCard; onReadbackAllThisPage(); } } } void ControlNetConfigWidget::onReadbackAllThisPage() { if(m_pLedlist==nullptr) return; if(m_pLedlist->count()!=1) return; QJsonObject json; json.insert("_id", getRandomString(10)); json.insert("_type", "GetEthernet"); HttpPostByTypeJsonObject(pHpptClientAll,m_strUrl,json); fdIP->MyClear(); fdMask->MyClear(); fdGateWay->MyClear(); fdDns->MyClear(); QJsonObject json1; json1.insert("_id", getRandomString(10)); json1.insert("_type", "GetWifiList"); HttpPostByTypeJsonObject(pHpptClientAll,m_strUrl,json1); comboBox->clear(); QJsonObject json55; json55.insert("_id", getRandomString(10)); json55.insert("_type", "GetSwitchSimData"); HttpPostByTypeJsonObject(pHpptClientAll,m_strUrl,json55); QJsonObject json2; json2.insert("_id", getRandomString(10)); json2.insert("_type", "IsPortableHotSpot"); HttpPostByTypeJsonObject(pHpptClientAll,m_strUrl,json2); QJsonObject json66; json66.insert("_id", getRandomString(10)); json66.insert("_type", "GetSwitchWiFi"); HttpPostByTypeJsonObject(pHpptClientAll,m_strUrl,json66); QJsonObject json3; json3.insert("_id", getRandomString(10)); json3.insert("_type", "GetAPNList"); HttpPostByTypeJsonObject(pHpptClientAll,m_strUrl,json3); QJsonObject json4; json4.insert("_id", getRandomString(10)); json4.insert("_type", "GetCurrentAPN"); HttpPostByTypeJsonObject(pHpptClientAll,m_strUrl,json4); QJsonObject json5; json5.insert("_id", getRandomString(10)); json5.insert("_type", "GetTimezone"); HttpPostByTypeJsonObject(pHpptClientAll,m_strUrl,json5); QJsonObject json6; json6.insert("_id", getRandomString(10)); json6.insert("_type", "GetFlightModeState"); HttpPostByTypeJsonObject(pHpptClientAll,m_strUrl,json6); MACRO_DEFINE_TIPDLG_ALL_FUCN(tr("Readback"),tr("Success"),tr("failed")) } void ControlNetConfigWidget::onReadbackWireNetwork() { if(m_pLedlist==nullptr) return; if(m_pLedlist->count()<=1) { if(m_pLedCard==nullptr||m_pLedlist->count()==0) { QMessageBox::information(gMainWin, tr("Tip"),tr("NoSelectedController")); return; } } QJsonObject json; json.insert("_id", getRandomString(10)); json.insert("_type", "GetEthernet"); fdIP->MyClear(); fdMask->MyClear(); fdGateWay->MyClear(); fdDns->MyClear(); MACRO_DEFINE_TIPDLG_FUCN(tr("GetEthernet"),tr("Success"),tr("failed")) } void ControlNetConfigWidget::OnWiFiOpenChanged(bool b) { CHECK_CARD_SELECTED QJsonObject json; json.insert("_id", getRandomString(10)); json.insert("_type", "SetSwitchWiFi"); json.insert("enable", b); MACRO_DEFINE_TIPDLG_FUCN(tr("SetSwitchWiFi"),tr("Success"),tr("failed")) } void ControlNetConfigWidget::onSetWiFiModel() { CHECK_CARD_SELECTED if(groupBox_3->isChecked()) { comboBox->setStyleSheet("background:rgba(216,216,216,1);"); lineEditWifiPassword->setStyleSheet("background:rgba(216,216,216,1);"); } else { comboBox->setStyleSheet("background:rgba(216,216,216,1);"); lineEditWifiPassword->setStyleSheet("background:rgba(216,216,216,1);"); } if(m_pLedlist->count()==1) { if(groupBox_3->isChecked()) { comboBox->setStyleSheet("background:rgba(255,255,255,1);"); lineEditWifiPassword->setStyleSheet("background:rgba(255,255,255,1);"); QJsonObject json1; json1.insert("_id", getRandomString(10)); json1.insert("_type", "SetSwitchWiFi"); json1.insert("enable", true); HttpPostByTypeJsonObject(pHpptClient,m_strUrl,json1); // MACRO_DEFINE_TIPDLG_FUCN(tr("SetSwitchWiFi"),tr("Success"),tr("failed")) QJsonObject json; json.insert("_id", getRandomString(10)); json.insert("_type", "ConfigurationWiFi"); QString strSsid=comboBox->currentText(); if(strSsid.contains(tr("SignalPower"))) { int itempOffset=strSsid.indexOf(tr("SignalPower")); strSsid=strSsid.left(itempOffset-4); } qDebug()<<"strSsid="<text()); HttpPostByTypeJsonObject(pHpptClient,m_strUrl,json); MACRO_DEFINE_TIPDLG_FUCN(tr("ConfigurationWiFi"),tr("Success"),tr("failed")) } } else { if(groupBox_3->isChecked()) { QJsonObject json; json.insert("_id", getRandomString(10)); json.insert("_type", "ConfigurationWiFi"); QString strSsid=comboBox->currentText(); if(strSsid.contains(tr("SignalPower"))) { int itempOffset=strSsid.indexOf(tr("SignalPower")); strSsid=strSsid.left(itempOffset-4); } qDebug()<<"strSsid="<text()); emit sigSend(json,tr("ConfigurationWiFi")); } } } void ControlNetConfigWidget:: onReadbackWiFiModel() { CHECK_CARD_SELECTED QJsonObject json66; json66.insert("_id", getRandomString(10)); json66.insert("_type", "GetSwitchWiFi"); HttpPostByTypeJsonObject(pHpptClientAll,m_strUrl,json66); QJsonObject json; json.insert("_id", getRandomString(10)); json.insert("_type", "IsPortableHotSpot"); MACRO_DEFINE_TIPDLG_FUCN(tr("IsPortableHotSpot"),tr("Success"),tr("failed")) } void ControlNetConfigWidget:: OnScanWifi() { CHECK_CARD_SELECTED QJsonObject json; json.insert("_id", getRandomString(10)); json.insert("_type", "GetWifiList"); comboBox->clear(); MACRO_DEFINE_TIPDLG_FUCN(tr("GetWifiList"),tr("Success"),tr("failed")) } void ControlNetConfigWidget:: onSetAp() { CHECK_CARD_SELECTED if(groupBox_4->isChecked()) { QJsonObject json; json.insert("_id", getRandomString(10)); json.insert("_type", "ConfigurationHotSpot"); json.insert("apName", lineEditHotspotName->text()); json.insert("password", lineEditApPassword->text()); MACRO_DEFINE_TIPDLG_FUCN(tr("ConfigurationHotSpot"),tr("Success"),tr("failed")) } } void ControlNetConfigWidget::onReadback4G() { CHECK_CARD_SELECTED lineEditApnInfo->setText(""); QJsonObject json; json.insert("_id", getRandomString(10)); json.insert("_type", "GetCurrentAPN"); MACRO_DEFINE_TIPDLG_FUCN(tr("GetCurrentAPN"),tr("Success"),tr("failed")) } void ControlNetConfigWidget::onGetMcc() { m_buttonFlagClick=1; CHECK_CARD_SELECTED QJsonObject json; json.insert("_id", getRandomString(10)); json.insert("_type", "GetSIMStatus"); MACRO_DEFINE_TIPDLG_FUCN(tr("GetSIMStatus"),tr("Success"),tr("failed")) } void ControlNetConfigWidget::onGet4GStatus() { m_buttonFlagClick=0; CHECK_CARD_SELECTED QJsonObject json; json.insert("_id", getRandomString(10)); json.insert("_type", "GetSIMStatus"); MACRO_DEFINE_TIPDLG_FUCN(tr("GetSIMStatus"),tr("Success"),tr("failed")) } void ControlNetConfigWidget::onSet4GInfo() { CHECK_CARD_SELECTED QJsonObject json; if(checkBoxCustom->isChecked()) { json.insert("_id", getRandomString(10)); json.insert("_type", "SetAPN"); json.insert("carrier", comboBoxCarrierName->currentText()); json.insert("apn",lineEditAPN->text()); json.insert("user", lineEditUser->text()); json.insert("password", lineEditPassword->text()); json.insert("type",""); json.insert("server", ""); json.insert("proxy", ""); json.insert("port",""); json.insert("mmsc",""); json.insert("mmsproxy",""); json.insert("mmsport",""); } else { json.insert("_id", getRandomString(10)); json.insert("_type", "SetAPN"); json.insert("carrier", m_4gObj["carrier"].toString()); json.insert("apn",lineEditAPN->text()); json.insert("user", lineEditUser->text()); json.insert("password", lineEditPassword->text()); json.insert("type", m_4gObj["type"].toString()); json.insert("server", m_4gObj["server"].toString()); json.insert("proxy", m_4gObj["proxy"].toString()); json.insert("port", m_4gObj["port"].toString()); json.insert("mmsc", m_4gObj["mmsc"].toString()); json.insert("mmsproxy", m_4gObj["mmsproxy"].toString()); json.insert("mmsport", m_4gObj["mmsport"].toString()); } MACRO_DEFINE_TIPDLG_FUCN(tr("SetAPN"),tr("Success"),tr("failed")) } //获取到httpPost的应答,如果参数变化需要出发修改控件item的内容 void ControlNetConfigWidget::OnProHttpResponse(QString url, QString postMD5, QByteArray data) { Q_UNUSED(postMD5) //qDebug()<< url + "\r\n"+m_strUrl; if(url == m_strUrl) { QJsonParseError parseJsonErr; QJsonDocument document = QJsonDocument::fromJson(data,&parseJsonErr); if(!(parseJsonErr.error == QJsonParseError::NoError)) { if(data.size()==0) qDebug()<<"json is empty"; else qDebug()<m_strCardId +"---------"+ strType; if(strType == "GetEthernet") { if(jsonObject["dhcp"].toBool()) { fdDhcp->setChecked(true); emit sigGetDhcpOrSpecifyIp(0); } else { fdSpecifyIp->setChecked(true); emit sigGetDhcpOrSpecifyIp(1); } if(jsonObject["ipAddr"].toString()!="") fdIP->setText(jsonObject["ipAddr"].toString()); if(jsonObject["gateWay"].toString()!="") fdMask->setText(jsonObject["gateWay"].toString()); if(jsonObject["netMask"].toString()!="") fdGateWay->setText(jsonObject["netMask"].toString()); if(jsonObject["dnsAddr"].toString()!="") fdDns->setText(jsonObject["dnsAddr"].toString()); } else if(strType == "ConfigurationWiFi"||strType == "ConfigurationHotSpot") { } else if(strType == "SetSwitchWiFi") { } else if(strType == "GetSwitchWiFi") { groupBox_3->setChecked(jsonObject["enable"].toBool()); } else if(strType == "GetWifiList") { //QVariant iTemp=jsonObject["wifiList"].toVariant(); QJsonValue value = jsonObject.take("wifiList"); QJsonArray array= value.toArray(); int iSize=array.size(); QList wifInfoiList; for(int i=0;i infoB.signal;}); for(int j=0;jaddItem(wifInfoiList.at(j).ssid+"...["+tr("SignalPower")+":"+strSignalPower+"]"); } } else if(strType == "IsPortableHotSpot") { QString iTemp=jsonObject["wifi"].toString(); // if(iTemp.isEmpty()) // groupBox_3->setChecked(false); // else // { // groupBox_3->setChecked(true); // } QString strKong=""; comboBox->setCurrentText(iTemp+strKong); QString iTempHotSpot=jsonObject["hotSpots"].toString(); if(iTempHotSpot.isEmpty()) groupBox_4->setChecked(false); else groupBox_4->setChecked(true); lineEditHotspotName->setText(iTempHotSpot); } else if(strType == "SetAPN") { onReadback4G(); } else if(strType == "GetSIMStatus") { QString str4GStatus=""; if(m_buttonFlagClick==0) { str4GStatus = tr("状态:"); switch(jsonObject["state"].toInt()) { case 0: case 1: str4GStatus+=tr("未知"); break; case 2: str4GStatus+=tr("锁定状态,需要用户的PIN码解锁"); break; case 3: str4GStatus+=tr("锁定状态,需要用户的PUK码解锁"); break; case 4: str4GStatus+=tr("锁定状态,需要网络的PIN码解锁"); break; case 5: str4GStatus+=tr("就绪"); break; } } QString strImsi=jsonObject["imsi"].toString(); if(strImsi.isEmpty()) { str4GStatus+="\r\n"+tr("no checked sim card"); QMessageBox::information(gMainWin, tr("Tip"),str4GStatus); } else { str4GStatus+="\r\nAPN: "+apn+"\r\nIMSI: "+strImsi+"\r\n"; mcc = strImsi.left(3); //comboBoxCountryID->setCurrentText(m_mcc); comboBoxCountryID->setCurrentText(""); comboBoxCarrierName->setCurrentText(""); lineEditAPN->setText(""); lineEditUser->setText(""); lineEditPassword->setText(""); //SetMcc(m_mcc); str4GStatus+=tr("国家码:"); str4GStatus+=jsonObject["countryCode"].toString()+"("+mcc+")\r\n"; str4GStatus+=tr("号码:"); str4GStatus+=jsonObject["phoneNumber"].toString()+"\r\n"; if(m_buttonFlagClick==0) { str4GStatus+=tr("用户:"); str4GStatus+=jsonObject["user"].toString()+"\r\n"; str4GStatus+=tr("信号:"); switch(jsonObject["serviceState"].toInt()) { case 0: str4GStatus+=tr("信号正常")+"\r\n"; break; case 1: str4GStatus+=tr("不在服务区")+"\r\n"; break; case 2: str4GStatus+=tr("仅限紧急呼叫")+"\r\n"; break; case 3: str4GStatus+=tr("射频已经关闭")+"\r\n"; break; } str4GStatus+=tr("网络:"); switch(jsonObject["networkType"].toInt()) { case 0: str4GStatus+=tr("网络类型未知")+"\r\n"; break; case 1: str4GStatus+=tr("GPRS网络")+"\r\n"; break; case 2: str4GStatus+=tr("EDGE网络")+"\r\n"; break; case 3: str4GStatus+=tr("UMTS网络")+"\r\n"; break; case 4: str4GStatus+=tr("CDMA网络,IS95A 或 IS95B.")+"\r\n"; break; case 5: str4GStatus+=tr("EVDO网络, revision 0.")+"\r\n"; break; case 6: str4GStatus+=tr("EVDO网络, revision A.")+"\r\n"; break; case 7: str4GStatus+=tr("1xRTT网络")+"\r\n"; break; case 8: str4GStatus+=tr("HSDPA网络")+"\r\n"; break; case 9: str4GStatus+=tr("HSUPA网络")+"\r\n"; break; case 10: str4GStatus+=tr("HSPA网络")+"\r\n"; break; } str4GStatus+=tr("漫游:"); // 是否为漫游 if(jsonObject["roaming"].toBool()) { str4GStatus+=tr("Yes")+"\r\n"; } else { str4GStatus+=tr("No")+"\r\n"; } str4GStatus+=tr("数据连接状态:"); switch(jsonObject["dataState"].toInt()) { case 0: str4GStatus+=tr("断开")+"\r\n"; break; case 1: str4GStatus+=tr("正在连接")+"\r\n"; break; case 2: str4GStatus+=tr("已连接")+"\r\n"; break; case 3: str4GStatus+=tr("暂停")+"\r\n"; break; } str4GStatus+=tr("数据活动休眠状态:"); switch(jsonObject["dataActivity"].toInt()) { case 0: str4GStatus+=tr("活动,但无数据发送和接收")+"\r\n"; break; case 1: str4GStatus+=tr("活动,正在接收数据")+"\r\n"; break; case 2: str4GStatus+=tr("活动,正在发送数据")+"\r\n"; break; case 3: str4GStatus+=tr("活动,正在接收和发送数据")+"\r\n"; break; case 4: str4GStatus+=tr("休眠状态")+"\r\n"; break; } str4GStatus+=tr("信号强度:"); QString strSignalStrength=QString::number(jsonObject["signalStrength"].toInt()); str4GStatus+=strSignalStrength+"\r\n"; } QMessageBox::information(gMainWin, tr("Tip"),str4GStatus); } } else if(strType == "GetCurrentAPN"){ // lineEditAPN->setText(jsonObject["apn"].toString()); // lineEditUser->setText(jsonObject["user"].toString()); // lineEditPassword->setText(jsonObject["password"].toString()); apn = jsonObject["apn"].toString(); if(jsonObject["user"].toString().isEmpty()) lineEditApnInfo->setText(apn); else lineEditApnInfo->setText(apn+",USER:"+jsonObject["user"].toString()+",PASSWORD:"+jsonObject["password"].toString()); } else if(strType == "SetSwitchSimData"){ } else if(strType=="ContrFlightMode"){ } else if(strType=="GetFlightModeState"){ //widgetFightModel->setChecked(jsonObject["result"].toBool()); widgetFightModel->setCheckedStatus(jsonObject["result"].toBool()); widgetFightModel->update(); } else if(strType == "GetTimezone"){ QString strtemp=jsonObject["timezone"].toString(); // strtemp=strtemp.right(strtemp.length()-strtemp.indexOf("/")-1); //comboBox_Timezone->setCurrentText(strtemp); } else if(strType == "SetTimezone"){ } if(strType!="SetSwitchWiFi") { if(iEnableFlag==true) { iEnableFlag=false; MACRO_ASKTIME_STOP MACRO_POSTING_DLG_UNLOCK } } } } } void ControlNetConfigWidget::OnProHttpResponseAll(QString url, QString postMD5, QByteArray data) { Q_UNUSED(postMD5) //qDebug()<< url + "\r\n"+m_strUrl; if(url == m_strUrl) { QJsonParseError parseJsonErr; QJsonDocument document = QJsonDocument::fromJson(data,&parseJsonErr); if(!(parseJsonErr.error == QJsonParseError::NoError)) { if(data.size()==0) qDebug()<<"json is empty"; else qDebug()<m_strCardId +"---------"+ strType; if(strType == "GetEthernet") { if(jsonObject["dhcp"].toBool()) { fdDhcp->setChecked(true); emit sigGetDhcpOrSpecifyIp(0); } else { fdSpecifyIp->setChecked(true); emit sigGetDhcpOrSpecifyIp(1); } if(jsonObject["ipAddr"].toString()!="") fdIP->setText(jsonObject["ipAddr"].toString()); if(jsonObject["gateWay"].toString()!="") fdMask->setText(jsonObject["gateWay"].toString()); if(jsonObject["netMask"].toString()!="") fdGateWay->setText(jsonObject["netMask"].toString()); if(jsonObject["dnsAddr"].toString()!="") fdDns->setText(jsonObject["dnsAddr"].toString()); } else if(strType == "GetSwitchWiFi") { groupBox_3->setChecked(jsonObject["enable"].toBool()); } else if(strType == "GetWifiList") { //QVariant iTemp=jsonObject["wifiList"].toVariant(); QJsonValue value = jsonObject.take("wifiList"); QJsonArray array= value.toArray(); int iSize=array.size(); QList wifInfoiList; for(int i=0;iaddItem(wifInfoiList.at(j).ssid+"...["+tr("SignalPower")+":"+strSignalPower+"]"); } } else if(strType == "IsPortableHotSpot") { QString iTemp=jsonObject["wifi"].toString(); QString strKong=""; comboBox->setCurrentText(iTemp+strKong); QString iTempHotSpot=jsonObject["hotSpots"].toString(); if(iTempHotSpot.isEmpty()) groupBox_4->setChecked(false); else groupBox_4->setChecked(true); lineEditHotspotName->setText(iTempHotSpot); if(iEnableFlag==true) { iEnableFlag=false; MACRO_ASKTIME_STOP MACRO_POSTING_DLG_UNLOCK } } else if(strType == "GetAPNList") { qDebug()<<"GetAPNList"; if(m_ApnInfoiList.count()<=0) { // if(m_ApnInfoiList.count()>0) // m_ApnInfoiList.clear(); // if(comboBoxCountryID->count()>0) // comboBoxCountryID->clear(); // if(comboBoxCarrierName->count()>0) // comboBoxCarrierName->clear(); foreach(QJsonValue value, jsonObject["apns"].toArray()) { QJsonObject oApn = value.toObject(); QString strtempmcc=oApn["mcc"].toString(); bool itempHave=false; for (int i=0;icount();i++) { if(strtempmcc==comboBoxCountryID->itemText(i)) { itempHave=true; break; } } qDebug()<addItem(strtempmcc); m_ApnInfoiList.append(oApn); } } comboBoxCountryID->setCurrentText(""); } else if(strType=="GetFlightModeState") { //widgetFightModel->setChecked(jsonObject["result"].toBool()); widgetFightModel->setCheckedStatus(jsonObject["result"].toBool()); widgetFightModel->update(); } else if(strType == "GetCurrentAPN") { apn = jsonObject["apn"].toString(); // lineEditAPN->setText(strApn); // lineEditUser->setText(jsonObject["user"].toString()); // lineEditPassword->setText(jsonObject["password"].toString()); if(jsonObject["user"].toString().isEmpty()) lineEditApnInfo->setText(apn); else lineEditApnInfo->setText(apn+",USER:"+jsonObject["user"].toString()+",PASSWORD:"+jsonObject["password"].toString()); } else if(strType == "GetTimezone"){ QString strtemp=jsonObject["timezone"].toString(); //comboBox_Timezone->setCurrentText(strtemp); } else if(strType == "SetTimezone"){ } else if(strType == "GetSwitchSimData"){ bool b=jsonObject["enable"].toBool(); checkBox4g->setChecked(b); pushButtonSet4GInfo->setVisible(b); pushButtonReadback4G->setVisible(b); pushButtonGetMcc->setVisible(b); #ifndef MACRO_YUANHENG_VERSION comboBoxCountryID->setVisible(b); comboBoxCarrierName->setVisible(b); //checkBoxCustom->setVisible(b); lineEditAPN->setVisible(b); lineEditUser->setVisible(b); lineEditPassword->setVisible(b); label_2->setVisible(b); label_3->setVisible(b); label_4->setVisible(b); label_6->setVisible(b); label_7->setVisible(b); label_8->setVisible(b); #else lineEditAPN->setVisible(b); #endif } } } } void ControlNetConfigWidget::OnControlTypeSwitchIndexChanged(int index) { if(index==Setting_NetCfg) { m_bSelected=true; if(m_pLedCard!=nullptr) onReadbackAllThisPage(); } else { m_bSelected=false; } } void ControlNetConfigWidget::OnComboMccChanged(int index) { Q_UNUSED(index); SetMcc(comboBoxCountryID->currentText()); } void ControlNetConfigWidget::SetMcc(QString strMcc) { qDebug()<<"SetMcc:"<clear(); foreach(QJsonObject obj, m_ApnInfoiList) { if(obj["mcc"].toString()==strMcc) { m_MccCarrierInfoiList.append(obj); comboBoxCarrierName->addItem(obj["carrier"].toString()); // comboBoxCarrierName->insertItem(0,obj["carrier"].toString()); } } comboBoxCarrierName->clearEditText(); // if(comboBoxCarrierName->isEditable()==false) // { // comboBoxCarrierName->setEditable(true); // comboBoxCarrierName->setCurrentText(""); // comboBoxCarrierName->setEditable(false); // } } void ControlNetConfigWidget::OnComboCarrierChanged(int index) { if(m_MccCarrierInfoiList.count()>0 && indexsetText(m_4gObj["apn"].toString()); lineEditUser->setText(m_4gObj["user"].toString()); lineEditPassword->setText(m_4gObj["password"].toString()); } } void ControlNetConfigWidget::OnCustom4G(bool b) { //pushButtonGetMcc->setEnabled(b); comboBoxCountryID->setEditable(b); comboBoxCarrierName->setEditable(b); lineEditUser->setReadOnly(!b); lineEditPassword->setReadOnly(!b); if(b) { comboBoxCountryID->setStyleSheet("background:rgba(255,255,255,1);"); comboBoxCarrierName->setStyleSheet("background:rgba(255,255,255,1);"); lineEditAPN->setStyleSheet("background:rgba(255,255,255,1);"); lineEditUser->setStyleSheet("background:rgba(255,255,255,1);"); lineEditPassword->setStyleSheet("background:rgba(255,255,255,1);"); } else { comboBoxCountryID->setStyleSheet("background:rgba(216,216,216,1);"); comboBoxCarrierName->setStyleSheet("background:rgba(216,216,216,1);"); lineEditAPN->setStyleSheet("background:rgba(216,216,216,1);"); lineEditUser->setStyleSheet("background:rgba(216,216,216,1);"); lineEditPassword->setStyleSheet("background:rgba(216,216,216,1);"); } #ifndef MACRO_YUANHENG_VERSION lineEditAPN->setReadOnly(false); #else lineEditAPN->setReadOnly(!b); lineEditAPN->setStyleSheet("background:rgba(255,255,255,1);"); #endif } void ControlNetConfigWidget::OnOpne4G(bool b) { CHECK_CARD_SELECTED pushButtonSet4GInfo->setVisible(b); pushButtonReadback4G->setVisible(b); pushButtonGetMcc->setVisible(b); groupBox_5->setVisible(b); comboBoxCountryID->setVisible(b); comboBoxCarrierName->setVisible(b); lineEditAPN->setVisible(b); lineEditUser->setVisible(b); lineEditPassword->setVisible(b); label_2->setVisible(b); label_3->setVisible(b); label_4->setVisible(b); label_6->setVisible(b); label_7->setVisible(b); label_8->setVisible(b); QJsonObject json; json.insert("_id", getRandomString(10)); json.insert("_type", "SetSwitchSimData"); json.insert("enable", b); MACRO_DEFINE_TIPDLG_FUCN(tr("SetSwitchSimData"),tr("Success"),tr("failed")) } void ControlNetConfigWidget::DeletePostingDlg() { qDebug()<<"ControlNetConfigWidget::DeletePostingDlg"; if(m_PostingDlg!=nullptr) { delete m_PostingDlg; m_PostingDlg=nullptr; iEnableFlag=true; } } void ControlNetConfigWidget::onFightModelChecked(bool b) { CHECK_CARD_SELECTED QJsonObject json; json.insert("_id", getRandomString(10)); json.insert("_type", "ContrFlightMode"); json.insert("state", b); MACRO_DEFINE_TIPDLG_FUCN(tr("ContrFlightMode"),tr("Success"),tr("failed")) } void ControlNetConfigWidget::onReadbackFlightModel() { CHECK_CARD_SELECTED QJsonObject json; json.insert("_id", getRandomString(10)); json.insert("_type", "GetFlightModeState"); MACRO_DEFINE_TIPDLG_FUCN(tr("GetFlightModeState"),tr("Success"),tr("failed")) }