qt/LedOK/wDevicesManager/controladvparamwidget.cpp

1956 lines
74 KiB
C++
Raw Normal View History

2022-01-04 18:11:48 +08:00
#include "controladvparamwidget.h"
#include "ui_controladvparamwidget.h"
#include "LoUIClass/x_uimsgboxokcancel.h"
#include "LoUIClass/x_uimsgboxok.h"
#include <QJsonValue>
#include <QJsonObject>
#include <QJsonArray>
#include <QJsonDocument>
#include <globaldefine.h>
#include <wDevicesManager/inputpassworddialog.h>
#include <QProcess>
#include <QDir>
#include <QSettings>
#include <LoUIClass/updateledset3dialog.h>
#include "loappconfig.h"
#include <QFileDialog>
#include <QUuid>
#include <QMap>
#include <QMessageBox>
#include <QHostAddress>
#include <LoUIClass/x_uimsgboxyesnocancel.h>
#include "QTextCodec"
#include "upgradeapkdialog.h"
void setDebugOutput(const QString &targetFilePath, const bool &argDateFlag = false);
ControlAdvParamWidget::ControlAdvParamWidget(QWidget *parent,QList<LedCard *> *list) :
QWidget(parent),
ui(new Ui::ControlAdvParamWidget)
{
m_pLedlist=list;
ui->setupUi(this);
refreshLable();
ui->pushButtonSetPhyPixels->setProperty("ssType", "progManageTool");
ui->pushButtonSetPhyPixels->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButtonStartConfigLedScreenSoft->setProperty("ssType", "progManageTool");
ui->pushButtonStartConfigLedScreenSoft->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButtonSetWebServerParam->setProperty("ssType", "progManageTool");
ui->pushButtonSetWebServerParam->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButtonSetREaltimeServer->setProperty("ssType", "progManageTool");
ui->pushButtonSetREaltimeServer->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButtonClearRealtimerAddress->setProperty("ssType", "progManageTool");
ui->pushButtonClearRealtimerAddress->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButtonRestart->setProperty("ssType", "progManageTool");
ui->pushButtonRestart->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButtonSoftUpgrade->setProperty("ssType", "progManageTool");
ui->pushButtonApkCheck->setProperty("ssType", "progManageTool");
ui->pushButton_unistall->setProperty("ssType", "progManageTool");
ui->pushButtonRunningCheck->setProperty("ssType", "progManageTool");
ui->pushButtonFpgaUpgrade->setProperty("ssType", "progManageTool");
ui->pushButtonFpgaVerCheck->setProperty("ssType", "progManageTool");
ui->pushButtonSyncFpgaVer->setProperty("ssType", "progManageTool");
ui->pushButtonCheckLog->setProperty("ssType", "progManageTool");
ui->pushButtonClear->setProperty("ssType", "progManageTool");
ui->pushButtonSoftUpgrade->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButtonApkCheck->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButton_unistall->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButtonRunningCheck->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButtonFpgaUpgrade->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButtonFpgaVerCheck->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButtonSyncFpgaVer->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButtonCheckLog->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButtonClear->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButtonReadMinBrightness->setProperty("ssType", "progManageTool");
ui->pushButtonReadMinBrightness->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButtonReadbackMaxBrightess->setProperty("ssType", "progManageTool");
ui->pushButtonReadbackMaxBrightess->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButtonSendMinBrightness->setProperty("ssType", "progManageTool");
ui->pushButtonSendMinBrightness->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButtonSendMaxBrightness->setProperty("ssType", "progManageTool");
ui->pushButtonSendMaxBrightness->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButton_M80Set->setProperty("ssType", "progManageTool");
ui->pushButton_M80Set->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButton_M80Refresh->setProperty("ssType", "progManageTool");
ui->pushButton_M80Refresh->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButton_M80Restore->setProperty("ssType", "progManageTool");
ui->pushButton_M80Restore->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButtonReadbackTaxiTopScreen->setProperty("ssType", "progManageTool");
ui->pushButtonReadbackTaxiTopScreen->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButtonSetTaxiTopScreen->setProperty("ssType", "progManageTool");
ui->pushButtonSetTaxiTopScreen->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButtonBindingIc->setProperty("ssType", "progManageTool");
ui->pushButtonBindingIc->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButtonSetAlias->setProperty("ssType", "progManageTool");
ui->pushButtonSetAlias->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
ui->pushButtonSendCustomJson->setProperty("ssType", "progManageTool");
ui->pushButtonSendCustomJson->setStyleSheet("QPushButton{background:rgba(28,154,210,1);}");
//按钮事件绑定
//alahover 20211118 ui->pushButtonSetPhyPixels->setEnabled(false);
ui->pushButtonStartConfigLedScreenSoft->setEnabled(false);
ui->groupBoxRotate->setVisible(false);
ui->groupBoxMinMaxBrightness->setVisible(false);
ui->groupBox_2->setVisible(false);
ui->groupBox_3->setVisible(false);
ui->groupBox_4->setVisible(false);
ui->checkBox_ADB->setVisible(false);
2022-01-20 10:08:17 +08:00
//modified by alahover 20220116 -s
// oM80ResolutionsObject.insert("640×3840","660×3960");
// oM80ResolutionsObject.insert("800×3200","825×3300");
// oM80ResolutionsObject.insert("864×2686","900×2750");
// oM80ResolutionsObject.insert("1080×2432","1125×2500");
// oM80ResolutionsObject.insert("1080×1920","1125×2200");
// oM80ResolutionsObject.insert("1280×1920","1320×2200");
// oM80ResolutionsObject.insert("1472×1536","1500×1650");
// oM80ResolutionsObject.insert("1536×1472","1650×1500");
// oM80ResolutionsObject.insert("1920×1280","2200×1320");
// oM80ResolutionsObject.insert("1920×1080","2200×1125");
// oM80ResolutionsObject.insert("2048×1152","2200×1320");
// oM80ResolutionsObject.insert("2400×1080","2500×1125");
// oM80ResolutionsObject.insert("2686×864","2750×900");
// oM80ResolutionsObject.insert("3200×800","3300×825");
// oM80ResolutionsObject.insert("3840×640","3960×660");
// oM80ResolutionsObject.insert("4096×480","4500×550");
oM80ResolutionsObject.insert("576×3840","625×3960");
oM80ResolutionsObject.insert("640×3840","660×3960");
oM80ResolutionsObject.insert("720×3200","750×3300");
oM80ResolutionsObject.insert("864×2672","900×2750");
oM80ResolutionsObject.insert("1080×1920","1125×2200");
oM80ResolutionsObject.insert("1280×1760","1320×1850");
oM80ResolutionsObject.insert("1472×1536","1500×1650");
oM80ResolutionsObject.insert("1536×1472","1650×1500");
oM80ResolutionsObject.insert("1760×1280","1850×1320");
oM80ResolutionsObject.insert("1920×1080","2200×1125");
oM80ResolutionsObject.insert("2672×864","2750×900");
oM80ResolutionsObject.insert("3200×760","3300×825");
oM80ResolutionsObject.insert("3200×720","3300×750");
oM80ResolutionsObject.insert("3840×640","3960×660");
oM80ResolutionsObject.insert("3840×576","3960×625");
oM80ResolutionsObject.insert("4096×480","4500×550");
//modified by alahover 20220116 -o
2022-01-04 18:11:48 +08:00
QStringList strtempList=oM80ResolutionsObject.keys();
ui->comboBox_2->clear();
ui->comboBox_2->addItems(strtempList);
connect(ui->pushButtonSetPhyPixels,SIGNAL(clicked()),this,SLOT(OnSetPhyPixels()));
connect(ui->pushButtonSetAlias,SIGNAL(clicked()),this,SLOT(OnSetAlias()));
connect(ui->pushButtonSetWebServerParam,SIGNAL(clicked()),this,SLOT(OnSetWebServerParam()));
connect(ui->pushButtonSetREaltimeServer,SIGNAL(clicked()),this,SLOT(OnSetRealtimeServer()));
connect(ui->pushButtonClearRealtimerAddress,SIGNAL(clicked()),this,SLOT(OnClearRealtimeServer()));
connect(ui->pushButtonStartConfigLedScreenSoft,SIGNAL(clicked()),this,SLOT(OnStartConfigLedScreenSoft()));
connect(ui->pushButtonRestart,SIGNAL(clicked()),this,SLOT(OnRestart()));
connect(ui->pushButtonSoftUpgrade,SIGNAL(clicked()),this,SLOT(OnSoftUpgrade()));
connect(ui->pushButtonApkCheck,SIGNAL(clicked()),this,SLOT(OnApkCheck()));
connect(ui->pushButton_unistall,SIGNAL(clicked()),this,SLOT(OnUnistall()));
connect(ui->pushButtonRunningCheck,SIGNAL(clicked()),this,SLOT(OnRunningCheck()));
connect(ui->pushButtonFpgaUpgrade,SIGNAL(clicked()),this,SLOT(OnFpgaUpgrade()));
connect(ui->pushButtonFpgaVerCheck,SIGNAL(clicked()),this,SLOT(OnFpgaVerCheck()));
connect(ui->pushButtonSyncFpgaVer,SIGNAL(clicked()),this,SLOT(OnSyncFpgaVer()));
connect(ui->pushButtonCheckLog,SIGNAL(clicked()),this,SLOT(OnCheckLog()));
connect(ui->pushButtonClear,SIGNAL(clicked()),this,SLOT(OnClearPrograms()));
connect(ui->radioButton0degrees,SIGNAL(clicked()),this,SLOT(On0degrees()));
connect(ui->radioButton90degrees,SIGNAL(clicked()),this,SLOT(On90degrees()));
connect(ui->radioButton180degrees,SIGNAL(clicked()),this,SLOT(On180degrees()));
connect(ui->radioButton270degrees,SIGNAL(clicked()),this,SLOT(On270degrees()));
connect(ui->pushButtonSendMinBrightness,SIGNAL(clicked()),this,SLOT(OnSendMinBrightness()));
connect(ui->pushButtonSendMaxBrightness,SIGNAL(clicked()),this,SLOT(OnSendMaxBrightness()));
connect(ui->pushButtonReadMinBrightness,SIGNAL(clicked()),this,SLOT(OnGetMinBrightness()));
connect(ui->pushButtonReadbackMaxBrightess,SIGNAL(clicked()),this,SLOT(OnGetMaxBrightness()));
connect(ui->pushButtonSendCustomJson,SIGNAL(clicked()),this,SLOT(OnSendCustomJson()));
MARCO_DEFINE_CONTROL_FUNC2(parent->parent(),parent)
connect(pHpptClient,SIGNAL(httpGetRspReady(QString , QByteArray )),this,SLOT(OnProHttpGetResponse(QString , QByteArray)));
// connect(pHpptClient,SIGNAL(onHttpGetRspProgress(QString , QByteArray )),this,SLOT(OnProHttpGetResponse(QString , QByteArray)));
// connect(pHpptClient,SIGNAL(onHttpGetRspFinished(QString , QByteArray )),this,SLOT(OnProHttpGetResponseFinished(QString , QByteArray)));
connect(ui->pushButton_M80Set,SIGNAL(clicked()),this,SLOT(OnM80Set()));
connect(ui->pushButton_M80Refresh,SIGNAL(clicked()),this,SLOT(OnM80Refresh()));
connect(ui->pushButton_M80Restore,SIGNAL(clicked()),this,SLOT(OnM80Restore()));
connect(ui->pushButtonSetTaxiTopScreen,SIGNAL(clicked()),this,SLOT(OnSetTaxiTopScreen()));
connect(ui->pushButtonReadbackTaxiTopScreen,SIGNAL(clicked()),this,SLOT(OnReadbackTaxiTopScreen()));
connect(ui->pushButtonBindingIc,SIGNAL(clicked()),this,SLOT(OnBindingIc()));
connect(ui->checkBox_ADB,SIGNAL(clicked()),this,SLOT(OnOpenAdb()));
ui->radioButtonHL->setChecked(true);
// setDebugOutput( "d://%1.log", true );
}
ControlAdvParamWidget::~ControlAdvParamWidget()
{
delete ui;
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 ControlAdvParamWidget::refreshLable()
{
ui->labelPhyWidth->setText(tr("LED Screen Width(pixel)"));
ui->labelPhyHeight->setText(tr("Height(pixel)"));
ui->labelAdvParams->setText(tr("Advanced parameters"));
ui->pushButtonSetPhyPixels->setText(tr("Set"));
ui->pushButtonStartConfigLedScreenSoft->setText(tr("Start LedSet3.0 configure LED module"));
ui->labelWebServer->setText(tr("Web Server Address:"));
ui->labelCompanyId->setText(tr("Compant ID:"));
ui->label->setText(tr("Realtimer Server Address:"));
ui->pushButtonSetWebServerParam->setText(tr("Set"));
ui->pushButtonSetREaltimeServer->setText(tr("Set"));
ui->pushButtonClearRealtimerAddress->setText(tr("Clear"));
ui->pushButtonSoftUpgrade->setText(tr("Apk upgrade"));
ui->pushButtonRestart->setText(tr("Restart led controller system"));
ui->pushButtonSoftUpgrade->setText(tr("Apk upgrade"));
ui->pushButtonApkCheck->setText(tr("Check Apk"));
ui->pushButton_unistall->setText(tr("Uninstall"));
ui->pushButtonRunningCheck->setText(tr("Running check"));
ui->pushButtonFpgaUpgrade->setText(tr("FPGA Upgrade"));
ui->pushButtonFpgaVerCheck->setText(tr("FPGA version check"));
ui->pushButtonSyncFpgaVer->setText(tr("Sync FPGA version"));
ui->lineEdit->setPlaceholderText(tr("Width"));
ui->lineEdit_2->setPlaceholderText(tr("Height"));
ui->lineEditCompanyId->setPlaceholderText(tr("Compant ID"));
ui->lineEditRealtimerServerAddress->setPlaceholderText(tr("Input Realtimer Server Address"));
ui->pushButtonClear->setText(tr("Clear Program"));
ui->pushButtonCheckLog->setText(tr("Check Log"));
ui->pushButtonReadMinBrightness->setText(tr("Readback"));
ui->pushButtonReadbackMaxBrightess->setText(tr("Readback"));
ui->pushButtonSendMinBrightness->setText(tr("Send"));
ui->pushButtonSendMaxBrightness->setText(tr("Send"));
ui->label_2->setText(tr("Min brightness"));
ui->label_4->setText(tr("(min:1)"));
ui->label_3->setText(tr("Max brightness "));
ui->label_5->setText(tr("(max:255)"));
ui->radioButton0degrees->setText(tr("0 degrees"));
ui->radioButton90degrees->setText(tr("90 degrees"));
ui->radioButton180degrees->setText(tr("180 degrees"));
ui->radioButton270degrees->setText(tr("270 degrees"));
ui->groupBoxRotate->setTitle(tr("Rotate"));
ui->groupBox->setTitle(tr("M80 configuration"));
ui->groupBox_2->setTitle(tr("Taxi top screen configuration"));
ui->pushButton_M80Set->setText(tr("Set"));
ui->pushButton_M80Refresh->setText(tr("Refresh"));
ui->pushButton_M80Restore->setText(tr("Restore to default"));
ui->radioButtonHL->setText(tr("Service:High Out of service:Low"));
ui->radioButtonLH->setText(tr("Service:Low Out of service:High"));
ui->pushButtonSetTaxiTopScreen->setText(tr("Set"));
ui->pushButtonReadbackTaxiTopScreen->setText(tr("Readback"));
ui->label_6->setText(tr("Alias"));
ui->pushButtonSetAlias->setText(tr("Set"));
}
void ControlAdvParamWidget::OnSetWebServerParam()
{
if(m_pLedlist==nullptr)
return;
if(m_pLedlist->count()<=1)
{
if(m_pLedCard==nullptr||m_pLedlist->count()==0)
{
X_UIMsgBoxOk *pDlg=new X_UIMsgBoxOk(tr("Tip"),tr("NoSelectedController"),this,1);
pDlg->exec();
return;
}
}
QString strWebServerAddress=ui->comboBoxWebServerAddress->currentText();
if(strWebServerAddress.isEmpty())
{
X_UIMsgBoxOk *pDlg=new X_UIMsgBoxOk(tr("Tip"),tr("InputWebServerAddressTip"),this,1);
pDlg->exec();
ui->lineEdit->setFocus();
return;
}
if(ui->lineEditCompanyId->text().isEmpty())
{
X_UIMsgBoxOk *pDlg=new X_UIMsgBoxOk(tr("Tip"),tr("InputCompanyIdTip"),this,1);
pDlg->exec();
ui->lineEditCompanyId->setFocus();
return;
}
X_UIMsgBoxYesNoCancel *dlg = new X_UIMsgBoxYesNoCancel(tr("Tip Info"),tr("Do you want to modify webserveraddress and companyId?"), this);
int iresult=dlg->exec();
if(iresult== QDialog::Accepted && dlg->m_flagSave==1)
{
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "SetOnlineAddr");
json.insert("server", strWebServerAddress);
json.insert("companyID", ui->lineEditCompanyId->text());
MACRO_DEFINE_TIPDLG_FUCN(tr("SetOnlineAddr"),tr("Success"),tr("failed"))
}
}
void ControlAdvParamWidget::OnClearRealtimeServer()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
ui->lineEditRealtimerServerAddress->clear();
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "SetRealtimeServer");
json.insert("server", "");
MACRO_DEFINE_TIPDLG_FUCN(tr("ClearRealtimeServer"),tr("Success"),tr("failed"))
}
void ControlAdvParamWidget::OnSetRealtimeServer()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
if(ui->lineEditRealtimerServerAddress->text().isEmpty())
{
X_UIMsgBoxOk *pDlg=new X_UIMsgBoxOk(tr("Tip"),tr("InputRealTimeAddressTip"),this,1);
pDlg->exec();
ui->lineEditRealtimerServerAddress->setFocus();
return;
}
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "SetRealtimeServer");
json.insert("server", ui->lineEditRealtimerServerAddress->text());
MACRO_DEFINE_TIPDLG_FUCN(tr("SetRealtimeServer"),tr("Success"),tr("failed"))
}
void ControlAdvParamWidget::OnSetAlias()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
if(ui->lineEditAlias->text().isEmpty())
{
X_UIMsgBoxOk *pDlg=new X_UIMsgBoxOk(tr("Tip"),tr("InputAliasTip"),this,1);
pDlg->exec();
ui->lineEdit->setFocus();
return;
}
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "SetCardAlias");
json.insert("alias", qs2B64(ui->lineEditAlias->text()));
MACRO_DEFINE_TIPDLG_FUCN(tr("SetCardAlias"),tr("Success"),tr("failed"))
}
void ControlAdvParamWidget::OnSetPhyPixels()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
if(ui->lineEdit->text().isEmpty())
{
X_UIMsgBoxOk *pDlg=new X_UIMsgBoxOk(tr("Tip"),tr("InputWidthTip"),this,1);
pDlg->exec();
ui->lineEdit->setFocus();
return;
}
if(ui->lineEdit_2->text().isEmpty())
{
X_UIMsgBoxOk *pDlg=new X_UIMsgBoxOk(tr("Tip"),tr("InputHeightTip"),this,1);
pDlg->exec();
ui->lineEdit_2->setFocus();
return;
}
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "SetScreenSize");
json.insert("width", ui->lineEdit->text().toInt());
json.insert("height", ui->lineEdit_2->text().toInt());
MACRO_DEFINE_TIPDLG_FUCN(tr("SetScreenSize"),tr("Success"),tr("failed"))
}
void ControlAdvParamWidget::OnStartConfigLedScreenSoft()
{
QString strAppPath=QApplication::applicationDirPath();
strAppPath.replace(MACRO_DANYINFANXIEGAN, MACRO_DANYINXIEGAN);
QString strLedSetFile=strAppPath+"/LedSet/LedSet3.0.exe";
QFileInfo cc22(strLedSetFile);
if(cc22.exists())
{
QProcess::startDetached(strLedSetFile,QStringList());
}
else {
QString strReg = "HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\sysolution\\LedSet3.0";
QSettings *reg = new QSettings(strReg,QSettings::NativeFormat);
if(reg!=nullptr)//64位系统
{
QString strLedsetPath = reg->value("Program_path").toString();
delete reg;
QFileInfo cc(strLedsetPath);
if(!strLedsetPath.isEmpty())
{
if(cc.exists())
{
QProcess::startDetached(strLedsetPath,QStringList());
}
else {
X_UIMsgBoxOk *dlg = new X_UIMsgBoxOk(tr("Tip Info"),tr("Can not find LedSet3.0.exe,down you need download and install it")+strLedsetPath, this,1);
if(dlg->exec() == QDialog::Accepted)
{
UpdateLedset3Dialog *pDlg=new UpdateLedset3Dialog(this);
pDlg->exec();
}
}
}
else {
QString strReg1 = "HKEY_LOCAL_MACHINE\\SOFTWARE\\sysolution\\LedSet3.0";
QSettings *reg1 = new QSettings(strReg1,QSettings::NativeFormat);
if(reg1!=nullptr)
{
QString strLedsetPath = reg1->value("Program_path").toString();
delete reg1;
QFileInfo cc(strLedsetPath);
if(!strLedsetPath.isEmpty())
{
if(cc.exists())
{
QProcess::startDetached(strLedsetPath,QStringList());
}
else {
QString str1="C:/Program Files/sysolution/LedSet3.0/LedSet3.0.exe";
QFileInfo cc1(str1);
if(cc1.exists())
{
QProcess::startDetached(str1,QStringList());
}
else {
QString str2="C:/Program Files (x86)/sysolution/LedSet3.0/LedSet3.0.exe";
QFileInfo cc2(str1);
if(cc2.exists())
{
QProcess::startDetached(str2,QStringList());
}
else {
X_UIMsgBoxOk *dlg = new X_UIMsgBoxOk(tr("Tip Info"),tr("Can not find LedSet3.0.exe,down you need download and install it")+strLedsetPath, this,1);
if(dlg->exec() == QDialog::Accepted)
{
UpdateLedset3Dialog *pDlg=new UpdateLedset3Dialog(this);
pDlg->exec();
}
}
}
}
}
else
{
QString str1="C:/Program Files/sysolution/LedSet3.0/LedSet3.0.exe";
QFileInfo cc1(str1);
if(cc1.exists())
{
QProcess::startDetached(str1,QStringList());
}
else {
QString str2="C:/Program Files (x86)/sysolution/LedSet3.0/LedSet3.0.exe";
QFileInfo cc2(str1);
if(cc2.exists())
{
QProcess::startDetached(str2,QStringList());
}
else {
X_UIMsgBoxOk *dlg = new X_UIMsgBoxOk(tr("Tip Info"),tr("Can not find LedSet3.0.exe,down you need download and install it")+strLedsetPath, this,1);
if(dlg->exec() == QDialog::Accepted)
{
UpdateLedset3Dialog *pDlg=new UpdateLedset3Dialog(this);
pDlg->exec();
}
}
}
}
}
else {
QString str1="C:/Program Files/sysolution/LedSet3.0/LedSet3.0.exe";
QFileInfo cc1(str1);
if(cc1.exists())
{
QProcess::startDetached(str1,QStringList());
}
else {
QString str2="C:/Program Files (x86)/sysolution/LedSet3.0/LedSet3.0.exe";
QFileInfo cc2(str1);
if(cc2.exists())
{
QProcess::startDetached(str2,QStringList());
}
else {
X_UIMsgBoxOk *dlg = new X_UIMsgBoxOk(tr("Tip Info"),tr("Can not find LedSet3.0.exe,down you need download and install it")+strLedsetPath, this,1);
if(dlg->exec() == QDialog::Accepted)
{
UpdateLedset3Dialog *pDlg=new UpdateLedset3Dialog(this);
pDlg->exec();
}
}
}
}
}
}
else//32位系统
{
QString strReg1 = "HKEY_LOCAL_MACHINE\\SOFTWARE\\sysolution\\LedSet3.0";
QSettings *reg1 = new QSettings(strReg1,QSettings::NativeFormat);
if(reg1!=nullptr)
{
QString strLedsetPath = reg1->value("Program_path").toString();
delete reg1;
QFileInfo cc(strLedsetPath);
if(!strLedsetPath.isEmpty())
{
if(cc.exists())
{
QProcess::startDetached(strLedsetPath,QStringList());
}
else {
X_UIMsgBoxOk *dlg = new X_UIMsgBoxOk(tr("Tip Info"),tr("Can not find LedSet3.0.exe,down you need download and install it")+strLedsetPath, this,1);
if(dlg->exec() == QDialog::Accepted)
{
UpdateLedset3Dialog *pDlg=new UpdateLedset3Dialog(this);
pDlg->exec();
}
}
}
else
{
X_UIMsgBoxOk *dlg = new X_UIMsgBoxOk(tr("Tip Info"),tr("Can not find LedSet3.0.exe,down you need download and install it")+strLedsetPath, this,1);
if(dlg->exec() == QDialog::Accepted)
{
UpdateLedset3Dialog *pDlg=new UpdateLedset3Dialog(this);
pDlg->exec();
}
}
}
}
}
}
void ControlAdvParamWidget::OnRestart()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "RestartAndroid");
MACRO_DEFINE_TIPDLG_FUCN(tr("RestartAndroid"),tr("Success"),tr("failed"))
}
void ControlAdvParamWidget::onSelectedDeviceList(QList<LedCard*> *list)
{
m_pLedlist=list;
if(m_pLedlist==nullptr)
return;
// if(m_bSelected )
{
//if(m_passwordOk)
{
if(m_pLedlist->count()==1)
{
ui->pushButtonSetPhyPixels->setEnabled(true);
ui->pushButtonStartConfigLedScreenSoft->setEnabled(true);
ui->pushButtonSoftUpgrade->setEnabled(true);
ui->pushButtonApkCheck->setEnabled(true);
ui->pushButton_unistall->setEnabled(true);
ui->pushButtonRunningCheck->setEnabled(true);
ui->pushButtonFpgaUpgrade->setEnabled(true);
ui->pushButtonFpgaVerCheck->setEnabled(true);
ui->pushButtonSyncFpgaVer->setEnabled(true);
ui->pushButtonRestart->setEnabled(true);
ui->pushButtonClear->setEnabled(true);
ui->pushButtonCheckLog->setEnabled(true);
//ui->pushButtonSetREaltimeServer->setEnabled(true);
if(m_pLedCard!=nullptr)
{
if(m_pLedCard->m_strCardId.left(2)=="M8"||m_pLedCard->m_strCardId.left(2)=="m8")
{
ui->groupBox->setVisible(true);
}
else {
ui->groupBox->setVisible(false);
}
}
}
else {
//alahover 20211118 ui->pushButtonSetPhyPixels->setEnabled(false);
ui->pushButtonStartConfigLedScreenSoft->setEnabled(true);
ui->pushButtonSoftUpgrade->setEnabled(false);
ui->pushButtonApkCheck->setEnabled(false);
ui->pushButton_unistall->setEnabled(false);
ui->pushButtonRunningCheck->setEnabled(false);
ui->pushButtonFpgaUpgrade->setEnabled(false);
ui->pushButtonFpgaVerCheck->setEnabled(false);
ui->pushButtonSyncFpgaVer->setEnabled(false);
ui->pushButtonRestart->setEnabled(false);
ui->pushButtonClear->setEnabled(false);
ui->pushButtonCheckLog->setEnabled(false);
//ui->pushButtonSetREaltimeServer->setEnabled(false);
ui->groupBox->setVisible(true);
}
}
//else {
// ui->pushButtonSetPhyPixels->setEnabled(false);
// ui->pushButtonStartConfigLedScreenSoft->setEnabled(false);
// }
MACRO_DEFINE_CONTROL_FUNC3
}
}
#include "LoUIClass/changepasswordform.h"
void ControlAdvParamWidget::OnControlTypeSwitchIndexChanged(int index)
{
if(index==ENUM_CONTRL_WIDGET_ADVPARAM)
{
this->hide();
if(!m_passwordOk)
{
InputPasswordDialog *pDlg=new InputPasswordDialog(this,2);
pDlg->ShowChangePassword();
connect(pDlg, SIGNAL(sigAcceptData(QString)), this, SLOT(onInputPasswordPro(QString)));
pDlg->setWindowModality(Qt::WindowModal);
pDlg->exec();
}
else
{
this->show();
}
m_bSelected=true;
if(m_pLedCard!=nullptr)
onReadbackAllThisPage();
ui->lineEdit->setFocus();
}
else {
m_bSelected=false;
}
}
QString ControlAdvParamWidget::GetPasswordPro()
{
LoAppConfig *cfg = LoAppConfig::getInstance();
QSettings *settings = new QSettings(cfg->OrganizationName(), cfg->ApplicationName());
#ifndef MACRO_YUANHENG_VERSION
QString strMiWenPs=settings->value("advUiPs").toString();
#else
QString strMiWenPs=settings->value("advUiPs_YuanHeng").toString();
#endif
QString result = QTextCodec::codecForName("GBK")->toUnicode(QByteArray::fromBase64(strMiWenPs.toLocal8Bit()));
QString strPs=result;
if(strPs.isEmpty())
{
#ifndef MACRO_YUANHENG_VERSION
return "888";
#else
return "Cargo10065!@#";
#endif
}
else {
return strPs;
}
}
void ControlAdvParamWidget::onInputPasswordPro(QString strPassword)
{
// #ifndef MACRO_YUANHENG_VERSION
// if(strPassword==GetPasswordPro())
// #else
// if(strPassword=="Cargo10065!@#")
// #endif
if(strPassword==GetPasswordPro())
{
if(m_pLedlist==nullptr)
return;
if(m_pLedlist->count()==1)
{
ui->pushButtonSetPhyPixels->setEnabled(true);
}
else {
//alahover 20211118 ui->pushButtonSetPhyPixels->setEnabled(false);
}
ui->pushButtonStartConfigLedScreenSoft->setEnabled(true);
m_passwordOk=true;
this->show();
}
else {
//alahover 20211118 ui->pushButtonSetPhyPixels->setEnabled(false);
ui->pushButtonStartConfigLedScreenSoft->setEnabled(false);
X_UIMsgBoxOk *pDlg=new X_UIMsgBoxOk(tr("Tip"),tr("Password is error"),this,1);
pDlg->exec();
m_passwordOk=false;
this->hide();
InputPasswordDialog *pDlg1=new InputPasswordDialog(this,2);
pDlg1->ShowChangePassword();
connect(pDlg1, SIGNAL(sigAcceptData(QString)), this, SLOT(onInputPasswordPro(QString)));
pDlg1->setWindowModality(Qt::WindowModal);
pDlg1->exec();
}
}
void ControlAdvParamWidget::onReadbackAllThisPage()
{
if(m_pLedlist==nullptr)
return;
if(m_pLedlist->count()!=1)
{
ui->groupBox->setVisible(true);
return;
}
else {
if(m_pLedCard!=nullptr)
{
if(m_pLedCard->m_strCardId.left(2)=="M8"||m_pLedCard->m_strCardId.left(2)=="m8")
ui->groupBox->setVisible(true);
else
ui->groupBox->setVisible(false);
}
}
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "GetScreenSize");
HttpPostByTypeJsonObject(pHpptClientAll,m_strUrl,json);
QJsonObject json1;
json1.insert("_id", getRandomString(10));
json1.insert("_type", "GetOnlineAddr");
HttpPostByTypeJsonObject(pHpptClientAll,m_strUrl,json1);
QJsonObject json2;
json2.insert("_id", getRandomString(10));
json2.insert("_type", "GetRealtimeServer");
HttpPostByTypeJsonObject(pHpptClientAll,m_strUrl,json2);
QJsonObject json3;
json3.insert("_id", getRandomString(10));
json3.insert("_type", "GetCardAlias");
HttpPostByTypeJsonObject(pHpptClientAll,m_strUrl,json3);
if(m_pLedCard!=nullptr)
{
if(m_pLedCard->m_strCardId.contains("m8")||m_pLedCard->m_strCardId.contains("M8"))
{
QJsonObject json3;
json3.insert("_id", getRandomString(10));
json3.insert("_type", "GetAllScreenSizeM80");
qDebug()<<"GetAllScreenSizeM80 send";
HttpPostByTypeJsonObject(pHpptClientAll,m_strUrl,json3);
}
}
}
//获取到httpPost的应答如果参数变化需要出发修改控件item的内容
void ControlAdvParamWidget::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()<<tr("wDevicesItem OnProHttpResponse 解析json文件错误");
return;
}
QJsonObject jsonObject = document.object();
QString strType=jsonObject["_type"].toString();
if(jsonObject["success"].toBool()==true)
{
qDebug()<<m_pLedCard->m_strCardId +"---------"+ strType;
qDebug()<<m_pLedCard->m_strCardId +"---------"+ strType;
if(strType == "SetScreenSize")
{
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
}
else if(strType == "SetCardAlias"){
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
}
else if(strType == "SetOnlineAddr"){
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
}
else if(strType == "SetRealtimeServer"){
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
}
else if(strType == "RestartAndroid"){
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
}
else if(strType == "GetScreenshotFull"){
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
}
else if(strType == "AliIotSetting")
{
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
}
else if(strType == "GetOnlineAddr"){
ui->comboBoxWebServerAddress->setCurrentText(jsonObject["server"].toString());
ui->lineEditCompanyId->setText(jsonObject["companuID"].toString());
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
}
else if(strType == "GetRealtimeServer"){
ui->lineEditRealtimerServerAddress->setText(jsonObject["server"].toString());
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
}
else if(strType == "GetCardAlias")
{
ui->lineEditAlias->setText(b64ToQs(jsonObject["alias"].toString()));
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
}
else if(strType =="UpgradeSoftware")
{
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
X_UIMsgBoxOk *pDlg=new X_UIMsgBoxOk(tr("Tip"),tr("UpgradeSoftware")+tr("Success"),this,1);
pDlg->exec();
}
else if(strType == "UninstallSoftware"){
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
}
else if(strType == "SynchronousHardwareVersion"){
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
X_UIMsgBoxOk *pDlg=new X_UIMsgBoxOk(tr("Tip"),tr("SynchronousHardwareVersion")+tr("Success"),this,1);
pDlg->exec();
}
else if(strType == "DelPrograms")
{
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
}
else if(strType == "SetScreenRotation")
{
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
}
else if(strType == "SetMinBrightness")
{
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
}
else if(strType == "SetMaxBrightness")
{
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
}
else if(strType == "GetMinBrightness")
{
ui->lineEdit_3->setText(QString::number(jsonObject["brightness"].toInt()));
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
}
else if(strType == "GetMaxBrightness")
{
ui->lineEdit_4->setText(QString::number(jsonObject["brightness"].toInt()));
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
}
else if(strType == "GetSpecialResolution")
{
QString strCurDisplayResolution = jsonObject["displayResolution"].toString();
ui->comboBox_2->setCurrentText(strCurDisplayResolution);
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
}
else if(strType == "CheckHardwareVersions"){
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
QString strtempVer="";
int itempVerCount=0;
foreach(QJsonValue value, jsonObject["versions"].toArray()) {
QString strtempIcount=QString::number(itempVerCount);
strtempVer += "[card"+strtempIcount+"]:"+value.toString()+"\r\n";
itempVerCount++;
}
X_UIMsgBoxOk *pDlg=new X_UIMsgBoxOk(tr("FPGA Version"),strtempVer,this,1);
pDlg->exec();
}
else if(strType == "IsSoftwareRunning"){
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
if(jsonObject["running"].toBool())
{
X_UIMsgBoxOk *pDlg=new X_UIMsgBoxOk(tr("Tip"),tr("running"),this,1);
pDlg->exec();
}
else {
X_UIMsgBoxOk *pDlg=new X_UIMsgBoxOk(tr("Tip"),tr("no running"),this,1);
pDlg->exec();
}
}
else if (strType == "SetHighForBusy") {
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
}
else if(strType == "OpenAdb")
{
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
}
else if (strType == "GetStateForBusy") {
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
if(jsonObject["result"].toInt()==0)
{
ui->radioButtonLH->setChecked(true);
ui->radioButtonHL->setChecked(false);
}
else {
ui->radioButtonLH->setChecked(false);
ui->radioButtonHL->setChecked(true);
}
}
else if(strType == "CheckSoftVersions"){
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
ui->comboBox->clear();
QString strTip="";
QStringList strtempApkPackList;
foreach(QJsonValue value, jsonObject["apps"].toArray()) {
QJsonObject oApp = value.toObject();
QString strtempApkPackageName=oApp["packageName"].toString();
QString strtempVersion=oApp["versionName"].toString();
strtempApkPackList.append(strtempApkPackageName);
strTip+=strtempApkPackageName+"["+tr("version")+":"+ strtempVersion +"]\r\n";
}
ui->comboBox->addItems(strtempApkPackList);
X_UIMsgBoxOk *pDlg=new X_UIMsgBoxOk(tr("Tip"),strTip,this,1);
pDlg->exec();
}
// else {
// MACRO_ASKTIME_STOP
// MACRO_POSTING_DLG_UNLOCK
// }
}
else {
if(strType =="UpgradeSoftware")
{
qDebug()<<"slotUploadFinished failed ack";
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
}
}
}
if(url == m_strStartUrl)
{
QJsonParseError parseJsonErr;
QJsonDocument document = QJsonDocument::fromJson(data,&parseJsonErr);
if(!(parseJsonErr.error == QJsonParseError::NoError))
{
if(data.size()==0)
qDebug()<<"json is empty";
else
qDebug()<<tr("wDevicesItem OnProHttpResponse 解析json文件错误");
return;
}
QJsonObject jsonObject = document.object();
if(jsonObject["result"].toString()=="true")
{
if(jsonObject["data"].toString()=="true")
{
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
QJsonObject json1;
json1.insert("_id", getRandomString(10));
json1.insert("_type", "GetOnlineAddr");
HttpPostByTypeJsonObject(pHpptClientAll,m_strUrl,json1);
}
}
}
}
//获取到httpPost的应答如果参数变化需要出发修改控件item的内容
void ControlAdvParamWidget::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()<<tr("wDevicesItem OnProHttpResponse 解析json文件错误");
return;
}
QJsonObject jsonObject = document.object();
QString strType=jsonObject["_type"].toString();
if(jsonObject["success"].toBool()==true)
{
qDebug()<<m_pLedCard->m_strCardId +"---------"+ strType;
if(strType == "GetScreenSize")
{
ui->lineEdit->setText(QString::number(jsonObject["width"].toInt()));
ui->lineEdit_2->setText(QString::number(jsonObject["height"].toInt()));
}
else if(strType == "GetCardAlias")
{
ui->lineEditAlias->setText(b64ToQs(jsonObject["alias"].toString()));
}
else if(strType == "GetOnlineAddr")
{
ui->comboBoxWebServerAddress->setCurrentText(jsonObject["server"].toString());
ui->lineEditCompanyId->setText(jsonObject["companuID"].toString());
}
else if(strType == "GetRealtimeServer")
{
qDebug()<<"GetRealtimeServer ack"<<jsonObject["server"].toString();
ui->lineEditRealtimerServerAddress->setText(jsonObject["server"].toString());
}
else if(strType == "GetAllScreenSizeM80")
{
oM80ResolutionsObject=jsonObject["result"].toObject();
QStringList strlist=oM80ResolutionsObject.keys();
ui->comboBox_2->clear();
ui->comboBox_2->addItems(strlist);
ui->lineEditRealtimerServerAddress->setText(jsonObject["server"].toString());
}
}
}
}
void ControlAdvParamWidget::OnSoftUpgrade()
{
if(m_pLedlist==nullptr)
return;
if(m_pLedlist->count()<=1)
{
if(m_pLedCard!=nullptr)
{
OnSyncFirmware();
}
}
else {
// UpgradeApkDialog *pDlg=new UpgradeApkDialog(this,"","");
// pDlg->exec();
}
}
void ControlAdvParamWidget::OnApkCheck()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "CheckSoftVersions");
MACRO_DEFINE_TIPDLG_FUCN(tr("CheckSoftVersions"),tr("Success"),tr("failed"))
}
void ControlAdvParamWidget::OnUnistall()
{
if(ui->comboBox->currentText().isEmpty())
return;
MACRO_DEFINE_NO_SELECTED_CARD_TIP
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "UninstallSoftware");
json.insert("packageName", ui->comboBox->currentText());
MACRO_DEFINE_TIPDLG_FUCN(tr("UninstallSoftware"),tr("Success"),tr("failed"))
}
void ControlAdvParamWidget::OnRunningCheck()
{
if(ui->comboBox->currentText().isEmpty())
return;
MACRO_DEFINE_NO_SELECTED_CARD_TIP
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "IsSoftwareRunning");
json.insert("packageName", ui->comboBox->currentText());//包名需要填写?
MACRO_DEFINE_TIPDLG_FUCN(tr("IsSoftwareRunning"),tr("Success"),tr("failed"))
}
void ControlAdvParamWidget::OnFpgaUpgrade()
{
QString url="http://"+m_pLedCard->m_strCardIp+":2016/upload?type=hardware";
QFileDialog dlg;
m_strUpgradeFpgaFile = QFileDialog::getOpenFileName(this, "open file dialog",
"",
tr("apk package (*.rpd)"));
QFileInfo file1(m_strUpgradeFpgaFile);
QFile file(m_strUpgradeFpgaFile);
QMap<QString,QString> params_send; //上传的普通参数 在本程序中 需要上传一个普通参数为"username"
params_send.insert("username","10005");
UpLoadForm(url,params_send,file1.fileName(),&file,file1.fileName(),1);
}
void ControlAdvParamWidget::OnFpgaVerCheck()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "CheckHardwareVersions");
MACRO_DEFINE_TIPDLG_FUCN(tr("CheckHardwareVersions"),tr("Success"),tr("failed"))
}
void ControlAdvParamWidget::OnSyncFpgaVer()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "SynchronousHardwareVersion");
MACRO_DEFINE_TIPDLG_FUCN(tr("SynchronousHardwareVersion"),tr("Check Screen untile fpga update finished"),tr("failed"))
}
void ControlAdvParamWidget::OnCheckLog()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
qDebug()<<"OnCheckLog";
if(m_pLedlist==nullptr)
return;
if(m_pLedlist->count()<=1)
{
if(m_pLedCard!=nullptr)
{
QString strTempUrl="http://"+m_pLedCard->m_strCardIp+":2016/download?file=logs";
qDebug()<<strTempUrl;
pHpptClient->httpGet(strTempUrl);
}
}
// else {
// emit sigSend(json,TIP);
// }
}
void ControlAdvParamWidget::OnClearPrograms()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
// QJsonObject json;//=new QJsonObject(new LinkedHashMap());
// json.insert("_type", "DelPrograms");
// json.insert("_id", getRandomString(10));
// json.insert("zVer","xixun1");
// QVariantHash subData1;
// subData1.insert("_type", "DelPrograms");
// subData1.insert("_id", getRandomString(10));
// subData1.insert("zVer","xixun1");
// QJsonObject json = QJsonObject::fromVariantHash(subData1);
// QVariantMap subData1;
// subData1.insert(const_iterator pos 0,"_type", "DelPrograms");
// subData1.insert(1,"_id", getRandomString(10));
// subData1.insert(2,"zVer","xixun1");
// QJsonObject json = QJsonObject::fromVariantMap(subData1);
// QJsonDocument doc1;
// doc1.setObject(json);
// int itempLength=json.length();
if(m_pLedCard==nullptr)
return;
QByteArray sendArray;// = doc1.toJson(QJsonDocument::Compact);
sendArray.append("{");
sendArray.append("\"_type\":\"DelPrograms\"");
sendArray.append(",\"_id\":\""+getRandomString(10)+"\"");
sendArray.append(",\"zVer\":\"xixun1\"");
sendArray.append("}");
QTcpSocket *send = new QTcpSocket();
send->connectToHost(QHostAddress(m_pLedCard->m_strCardIp),3333);
if(!send->waitForConnected(10000)) //等待连接返回
{
return ;
}
qint64 iSendLength=send->write(sendArray,sendArray.length());
qDebug()<<"iSendLength="<<iSendLength<<",itempLength="<<sendArray.length();
if(!send->waitForBytesWritten(3000))
{
qDebug()<<"socket write timeout!";
return ;
}
if(send->waitForReadyRead(5000))
{
QByteArray readBuf=send->read(send->bytesAvailable());
QJsonParseError parseJsonErr;
QJsonDocument document = QJsonDocument::fromJson(readBuf,&parseJsonErr);
QJsonObject jsonObject = document.object();
if(jsonObject["success"].toBool())
{
X_UIMsgBoxOk *pDlg=new X_UIMsgBoxOk(tr("Tip"),tr("Clear program successed!"),this,1);
pDlg->exec();
qDebug()<<"tcpsocket read result successed";
}
else {
X_UIMsgBoxOk *pDlg=new X_UIMsgBoxOk(tr("Tip"),tr("Clear program failed!"),this,1);
pDlg->exec();
qDebug()<<"tcpsocket read result failed";
}
}
else {
X_UIMsgBoxOk *pDlg=new X_UIMsgBoxOk(tr("Tip"),tr("Clear program timeout!"),this,1);
pDlg->exec();
qDebug()<<"tcpsocket read timeout";
}
send->close();
delete send;
}
void ControlAdvParamWidget::OnSyncFirmware()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
if(m_pLedCard->bPassword)
{
if(m_pLedCard->m_bLockStatus&& m_lockFlag == true)
{
X_UIMsgBoxOk *pDlg=new X_UIMsgBoxOk(tr("Tip"),tr("This screen is encrypted,Please decrypt and upgrade APK!"),this,0);
pDlg->exec();
return;
}
}
QString url="http://"+m_pLedCard->m_strCardIp+":2016/upload?type=software";
QFileDialog dlg;
m_strUpgradeApkFile = QFileDialog::getOpenFileName(this, "open file dialog",
"",
tr("apk package (*.apk *.zip)"));
QFileInfo file1(m_strUpgradeApkFile);
QFile file(m_strUpgradeApkFile);
QMap<QString,QString> params_send; //上传的普通参数 在本程序中 需要上传一个普通参数为"username"
params_send.insert("username","10005");
UpLoadForm(url,params_send,file1.fileName(),&file,file1.fileName(),0);
//UpLoadForm(url,file1.fileName(),&file,file1.fileName());
}
void ControlAdvParamWidget::slotUploadFpgaFinished()
{
QFileInfo file(m_strUpgradeApkFile);
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "SynchronousHardwareVersion");
HttpPostByTypeJsonObject(pHpptClient,m_strUrl,json);
emit sigSetTipTextContent(tr("SynchronousHardwareVersion"));
qDebug()<<"slotUploadFinished";
}
void ControlAdvParamWidget::slotUploadFinished()
{
QFileInfo file(m_strUpgradeApkFile);
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "UpgradeSoftware");
json.insert("fileName", file.fileName());
json.insert("isCustom", true);
HttpPostByTypeJsonObject(pHpptClient,m_strUrl,json);
emit sigSetTipTextContent(tr("install start..."));
MACRO_ASKTIME_STOP
m_pGetAskTimer->start(50000);
qDebug()<<"slotUploadFinished";
}
void ControlAdvParamWidget::slotUploadProgress(qint64 A,qint64 B)
{
if(B!=0)
{
QString strbaifenbi=tr("Uploadding")+":"+QString("%1%").arg(A*100/B);
emit sigSetTipTextContent(strbaifenbi);
m_pGetAskTimer->stop();
m_pGetAskTimer->start(30000);
}
}
void ControlAdvParamWidget::UpLoadForm(QString Path,QMap<QString,QString> params,QString fileFormName,QFile *uploadFile,QString newFileName,int iType)
{
QString BOUNDARY=QUuid::createUuid().toString();
QByteArray sb=QByteArray();
//先上传普通的表单数据
// for(QMap<QString,QString>::Iteratort=params.begin();t!=params.end();t++)
for(QMap<QString,QString>::iterator t=params.begin();t!=params.end();t++)
{
sb.append("--"+BOUNDARY+"\r\n");
sb.append(QString("Content-Disposition: form-data;name=\"")+t.key()+QString("\"")+QString("\r\n"));
sb.append("\r\n");
sb.append(t.value()+"\r\n");
}
//上传文件的头部
sb.append("--"+BOUNDARY+"\r\n");
sb.append(QString("Content-Disposition: form-data;name=\"")+fileFormName+QString("\";filename=\"")+newFileName+QString("\"")+QString("\r\n"));
sb.append("\r\n");
//上传文件内容
if(!uploadFile->open(QIODevice::ReadOnly)){
return;
}
sb.append(uploadFile->readAll());
sb.append("\r\n");
sb.append("--"+BOUNDARY+"\r\n");
//编辑HTTP头部
QNetworkAccessManager *_uploadManager=new QNetworkAccessManager();
QNetworkRequest request=QNetworkRequest(QUrl(Path));
request.setRawHeader(QString("Content-Type").toLatin1(),QString("multipart/form-data;boundary="+BOUNDARY).toLatin1());
request.setRawHeader(QString("Content-Length").toLatin1(),QString::number(sb.length()).toLatin1());
//执行post请求
if(m_PostingDlg==nullptr)
{
m_PostingDlg = new LoEmptyDialog();
connect(m_PostingDlg,SIGNAL(sigClose()),this,SLOT(DeletePostingDlg()));
connect(m_pGetAskTimer,SIGNAL(timeout()),m_PostingDlg,SLOT(TimerOutUnlock()));
m_PostingDlg->lock(tr("UpgradeSoftware"),tr("Success"),tr("UpgradeSoftware")+tr("failed"));
m_pGetAskTimer->start(60000);
QNetworkReply * m_netReply =_uploadManager->post(request,sb);
connect(m_netReply, SIGNAL(uploadProgress(qint64,qint64)), this, SLOT(slotUploadProgress(qint64,qint64)));
connect(this, SIGNAL(sigSetTipTextContent ( QString )), m_PostingDlg, SLOT( SetTipTextContent(QString)));
if(iType==0)//apk
{
connect(m_netReply, SIGNAL(finished()), this, SLOT(slotUploadFinished()));
}
else if(iType==1)//fpga.rpd
{
connect(m_netReply, SIGNAL(finished()), this, SLOT(slotUploadFpgaFinished()));
}
m_PostingDlg->exec();
}
}
//void ControlAdvParamWidget::UpLoadForm(QString Path,QString fileFormName,QFile *uploadFile,QString newFileName)
//void ControlAdvParamWidget::UpLoadForm(QString Path,QMap<QString,QString> params,QString fileFormName,QFile *uploadFile,QString newFileName,int iType)
//{
// QString BOUNDARY=QUuid::createUuid().toString();
// QByteArray sb=QByteArray();
// //先上传普通的表单数据
//// for(QMap<QString,QString>::Iteratort=params.begin();t!=params.end();t++)
// for(QMap<QString,QString>::iterator t=params.begin();t!=params.end();t++)
// {
// sb.append("--"+BOUNDARY+"\r\n");
// sb.append(QString("Content-Disposition: form-data;name=\"")+t.key()+QString("\"")+QString("\r\n"));
// sb.append("\r\n");
// sb.append(t.value()+"\r\n");
// }
// //上传文件的头部
// sb.append("--"+BOUNDARY+"\r\n");
// sb.append(QString("Content-Disposition: form-data;name=\"")+fileFormName+QString("\";filename=\"")+newFileName+QString("\"")+QString("\r\n"));
// sb.append("\r\n");
// //上传文件内容
// if(!uploadFile->open(QIODevice::ReadOnly)){
// return;
// }
// sb.append(uploadFile->readAll());
// sb.append("\r\n");
// sb.append("--"+BOUNDARY+"\r\n");
// //编辑HTTP头部
// QNetworkAccessManager *_uploadManager=new QNetworkAccessManager();
// QNetworkRequest request=QNetworkRequest(QUrl(Path));
// request.setRawHeader(QString("Content-Type").toLatin1(),QString("multipart/form-data;boundary="+BOUNDARY).toLatin1());
// request.setRawHeader(QString("Content-Length").toLatin1(),QString::number(sb.length()).toLatin1());
// //执行post请求
// if(m_PostingDlg==nullptr)
// {
// m_PostingDlg = new LoEmptyDialog();
// connect(m_PostingDlg,SIGNAL(sigClose()),this,SLOT(DeletePostingDlg()));
// connect(m_pGetAskTimer,SIGNAL(timeout()),m_PostingDlg,SLOT(TimerOutUnlock()));
// m_PostingDlg->lock(tr("UpgradeSoftware"),tr("Success"),tr("UpgradeSoftware")+tr("failed"));
// m_pGetAskTimer->start(60000);
// QNetworkReply * m_netReply =_uploadManager->post(request,sb);
// connect(m_netReply, SIGNAL(uploadProgress ( qint64 ,qint64 )), this, SLOT( slotUploadProgress(qint64 ,qint64)));
// connect(this, SIGNAL(sigSetTipTextContent ( QString )), m_PostingDlg, SLOT( SetTipTextContent(QString)));
// if(iType==0)//apk
// {
// connect(m_netReply, SIGNAL(finished()), this, SLOT(slotUploadFinished()));
// }
// else if(iType==1)//fpga.rpd
// {
// connect(m_netReply, SIGNAL(finished()), this, SLOT(slotUploadFpgaFinished()));
// }
// m_PostingDlg->exec();
// }
//}
void ControlAdvParamWidget::OnProHttpGetResponse(QString url, QByteArray data)
{
if(url!="")
{
//QString str = QString(data);
QString strAppPath=QApplication::applicationDirPath();
strAppPath.replace(MACRO_DANYINFANXIEGAN, MACRO_DANYINXIEGAN);
QString strLogFile=strAppPath+"/"+m_pLedCard->m_strCardId+"_log.txt";
QFile fileTemp(strLogFile);
fileTemp.remove();
QFile file(strLogFile);
if(!file.open(QIODevice::WriteOnly|QIODevice::Text|QIODevice::Append))
{
QMessageBox::warning(this,"sdf","can't open",QMessageBox::Yes);
}
QTextStream stream(&file);
//stream<<str<<"\n";
stream<<data<<"\n";
file.close();
QProcess process;
process.execute("notepad "+strLogFile);//打开
}
}
void ControlAdvParamWidget::keyPressEvent(QKeyEvent *ev)
{
if(ev->key() == Qt::Key_F5)
{
if(ui->groupBoxRotate->isVisible())
ui->groupBoxRotate->setVisible(false);
else
ui->groupBoxRotate->setVisible(true);
}
else if(ev->key() == Qt::Key_F3)
{
m_lockFlag=false;
}
else if(ev->key() == Qt::Key_F6)
{
if(ui->groupBoxMinMaxBrightness->isVisible())
ui->groupBoxMinMaxBrightness->setVisible(false);
else
ui->groupBoxMinMaxBrightness->setVisible(true);
}
else if(ev->key() == Qt::Key_F7)
{
if(ui->groupBox_3->isVisible())
ui->groupBox_3->setVisible(false);
else
ui->groupBox_3->setVisible(true);
}
else if(ev->key() == Qt::Key_F8)
{
if(ui->groupBox_2->isVisible())
ui->groupBox_2->setVisible(false);
else
ui->groupBox_2->setVisible(true);
}
else if(ev->key() == Qt::Key_F12)
{
setDebugOutput( "d://%1.log", true );
}
QWidget::keyPressEvent(ev);
}
void ControlAdvParamWidget::mousePressEvent(QMouseEvent *event)
{
if(event->button()==Qt::RightButton)
{
ui->groupBox_3->setVisible(true);
ui->groupBox_4->setVisible(true);
ui->checkBox_ADB->setVisible(true);
}
}
void ControlAdvParamWidget::On0degrees()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "SetScreenRotation");
json.insert("rotation", 0);
MACRO_DEFINE_TIPDLG_FUCN(tr("SetScreenRotation"),tr("Success"),tr("failed"))
}
void ControlAdvParamWidget::On90degrees()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "SetScreenRotation");
json.insert("rotation", 1);
MACRO_DEFINE_TIPDLG_FUCN(tr("SetScreenRotation"),tr("Success"),tr("failed"))
}
void ControlAdvParamWidget::On180degrees()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "SetScreenRotation");
json.insert("rotation", 2);
MACRO_DEFINE_TIPDLG_FUCN(tr("SetScreenRotation"),tr("Success"),tr("failed"))
}
void ControlAdvParamWidget::On270degrees()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "SetScreenRotation");
json.insert("rotation", 3);
MACRO_DEFINE_TIPDLG_FUCN(tr("SetScreenRotation"),tr("Success"),tr("failed"))
}
void ControlAdvParamWidget::OnSendMinBrightness()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "SetMinBrightness");
json.insert("brightness", ui->lineEdit_3->text().toInt());
MACRO_DEFINE_TIPDLG_FUCN(tr("SetMinBrightness"),tr("Success"),tr("failed"))
}
void ControlAdvParamWidget::OnSendMaxBrightness()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "SetMaxBrightness");
json.insert("brightness", ui->lineEdit_4->text().toInt());
MACRO_DEFINE_TIPDLG_FUCN(tr("SetMaxBrightness"),tr("Success"),tr("failed"))
}
void ControlAdvParamWidget::OnGetMinBrightness()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "GetMinBrightness");
MACRO_DEFINE_TIPDLG_FUCN(tr("GetMinBrightness"),tr("Success"),tr("failed"))
}
void ControlAdvParamWidget::OnGetMaxBrightness()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "GetMaxBrightness");
MACRO_DEFINE_TIPDLG_FUCN(tr("GetMaxBrightness"),tr("Success"),tr("failed"))
}
void ControlAdvParamWidget::OnM80Set()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "SetSpecialResolution");
json.insert("displayResolution",ui->comboBox_2->currentText()), //显示分辨率
json.insert("totalResolution",oM80ResolutionsObject[ui->comboBox_2->currentText()].toString() ); //显示分辨率
MACRO_DEFINE_TIPDLG_FUCN(tr("SetSpecialResolution"),tr("Success"),tr("failed"))
}
void ControlAdvParamWidget::OnM80Refresh()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "GetSpecialResolution");
MACRO_DEFINE_TIPDLG_FUCN(tr("GetSpecialResolution"),tr("Success"),tr("failed"))
}
void ControlAdvParamWidget::OnM80Restore()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "CleanDisplayScreenSize");
MACRO_DEFINE_TIPDLG_FUCN(tr("CleanDisplayScreenSize"),tr("Success"),tr("failed"))
}
void ControlAdvParamWidget::OnSetTaxiTopScreen()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "SetHighForBusy");
if(ui->radioButtonLH->isChecked())
json.insert("busyState", 0);
else if(ui->radioButtonHL->isChecked())
json.insert("busyState", 1);
else {
json.insert("busyState", 1);
}
MACRO_DEFINE_TIPDLG_FUCN(tr("SetHighForBusy"),tr("Success"),tr("failed"))
}
void ControlAdvParamWidget::OnReadbackTaxiTopScreen()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "GetStateForBusy");
MACRO_DEFINE_TIPDLG_FUCN(tr("GetStateForBusy"),tr("Success"),tr("failed"))
}
void setDebugOutput(const QString &rawTargetFilePath_, const bool &argDateFlag_)
{
static QString rawTargetFilePath;
static bool argDateFlag;
rawTargetFilePath = rawTargetFilePath_;
argDateFlag = argDateFlag_;
class HelperClass
{
public:
static void messageHandler(QtMsgType type, const QMessageLogContext &, const QString &message_)
{
QString message;
switch ( type )
{
case QtDebugMsg:
{
message = message_;
break;
}
case QtWarningMsg:
{
message.append("Warning: ");
message.append(message_);
break;
}
case QtCriticalMsg:
{
message.append("Critical: ");
message.append(message_);
break;
}
case QtFatalMsg:
{
message.append("Fatal: ");
message.append(message_);
break;
}
default: { break; }
}
QString currentTargetFilePath;
if ( argDateFlag )
{
currentTargetFilePath = rawTargetFilePath.arg( ( ( argDateFlag ) ? ( QDateTime::currentDateTime().toString("yyyy_MM_dd") ) : ( "" ) ) );
}
else
{
currentTargetFilePath = rawTargetFilePath;
}
if ( !QFileInfo::exists( currentTargetFilePath ) )
{
QDir().mkpath( QFileInfo( currentTargetFilePath ).path() );
}
QFile file( currentTargetFilePath );
file.open( QIODevice::WriteOnly | QIODevice::Append );
QTextStream textStream( &file );
2022-01-20 10:08:17 +08:00
textStream << QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss") << ":" << message;
2022-01-04 18:11:48 +08:00
}
};
qInstallMessageHandler( HelperClass::messageHandler );
}
//void ControlAdvParamWidget::OnBindingIc()
//{
// MACRO_DEFINE_NO_SELECTED_CARD_TIP
// m_strStartUrl="http://"+m_pLedCard->m_strCardIp+":3000";
// QFileDialog dlg;
// QString m_strIcFile = QFileDialog::getOpenFileName(this, "open file dialog",
// "",
// tr("indentity voucher (*.ic)"));
// if(m_strIcFile.isEmpty())
// return;
// QFileInfo file1(m_strIcFile);
// QFile file(m_strIcFile);
// QJsonObject json;
// json.insert("action", "InvokeTaxiAppFunction");
// QJsonObject subJson;
// subJson.insert("action", "BindAccount");
// file.open(QIODevice::ReadOnly);
// QJsonDocument document=QJsonDocument::fromJson(file.readAll());
// QJsonObject jsonObject = document.object();
// subJson.insert("accountIdToken", jsonObject["account_id_token"].toString());
// json.insert("jsonCommand", subJson);
// if(m_pLedlist->count()<=1)
// {
// if(m_pLedCard!=nullptr)
// {
// HttpPostByTypeJsonObject(pHpptClient,m_strStartUrl,json);
// if(m_PostingDlg==nullptr)
// {
// m_PostingDlg = new LoEmptyDialog(this);
// connect(m_PostingDlg,SIGNAL(sigClose()),this,SLOT(DeletePostingDlg()));
// connect(m_pGetAskTimer,SIGNAL(timeout()),m_PostingDlg,SLOT(TimerOutUnlock()));
// m_PostingDlg->lock(tr("InvokeTaxiAppFunction"),tr("Success"),tr("failed"));
// m_pGetAskTimer->start(5000);
// m_PostingDlg->exec();
// }
// }
// }
// else {
// emit sigSend(json,tr("InvokeTaxiAppFunction"));
// }
// QJsonObject json1;
// json1.insert("action", "InvokeTaxiAppFunction");
// json1.insert("type", "SetTaxiServer");
// json1.insert("server", jsonObject["taxiServerURL"].toString());
// json1.insert("tlsServer", jsonObject["taxiServerTLSURL"].toString());
// if(m_pLedlist->count()<=1)
// {
// if(m_pLedCard!=nullptr)
// {
// HttpPostByTypeJsonObject(pHpptClient,m_strStartUrl,json1);
// }
// }
// else {
// emit sigSend(json1,tr("SetTaxiServer"));
// }
//}
void ControlAdvParamWidget::OnOpenAdb()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
QJsonObject json;
json.insert("_id", getRandomString(10));
json.insert("_type", "OpenAdb");
if(ui->checkBox_ADB->isChecked())
{
json.insert("open", true);
}
else {
json.insert("open", false);
}
MACRO_DEFINE_TIPDLG_FUCN(tr("OpenAdb"),tr("Success"),tr("failed"))
}
void ControlAdvParamWidget::OnBindingIc()
{
MACRO_DEFINE_NO_SELECTED_CARD_TIP
m_strStartUrl="http://"+m_pLedCard->m_strCardIp+":3000";
QFileDialog dlg;
QString m_strIcFile = QFileDialog::getOpenFileName(this, "open file dialog",
"",
tr("indentity voucher (*.ic)"));
if(m_strIcFile.isEmpty())
return;
QFileInfo file1(m_strIcFile);
QFile file(m_strIcFile);
QJsonObject json;
json.insert("action", "InvokeTaxiAppFunction");
QJsonObject subJson;
subJson.insert("action", "BindAccount");
file.open(QIODevice::ReadOnly);
QJsonDocument document=QJsonDocument::fromJson(file.readAll());
QJsonObject jsonObject = document.object();
subJson.insert("accountIdToken", jsonObject["account_id_token"].toString());
subJson.insert("server", jsonObject["taxiServerURL"].toString());
subJson.insert("tlsServer", jsonObject["taxiServerTLSURL"].toString());
json.insert("jsonCommand", subJson);
if(m_pLedlist==nullptr)
return;
if(m_pLedlist->count()<=1)
{
if(m_pLedCard!=nullptr)
{
HttpPostByTypeJsonObject(pHpptClient,m_strStartUrl,json);
if(m_PostingDlg==nullptr)
{
m_PostingDlg = new LoEmptyDialog(this);
connect(m_PostingDlg,SIGNAL(sigClose()),this,SLOT(DeletePostingDlg()));
connect(m_pGetAskTimer,SIGNAL(timeout()),m_PostingDlg,SLOT(TimerOutUnlock()));
m_PostingDlg->lock(tr("InvokeTaxiAppFunction"),tr("Success"),tr("failed"));
m_pGetAskTimer->start(5000);
m_PostingDlg->exec();
}
}
}
else {
emit sigSend(json,tr("InvokeTaxiAppFunction"));
}
}
void ControlAdvParamWidget::DeletePostingDlg()
{
if(m_PostingDlg!=nullptr)
{
delete m_PostingDlg;
m_PostingDlg=nullptr;
}
}
QString ControlAdvParamWidget::qs2B64(QString qs1){//ok
//
QByteArray ba;
ba=qs1.toUtf8(); //QByteArray
ba=ba.toBase64(); //Base64
char * cx=ba.data(); //char *
QString b64qs1=QString(cx);//QString
//
return b64qs1;
}
QString ControlAdvParamWidget::b64ToQs(QString b64qs1){//ok
QByteArray ba;
std::string stdStr = b64qs1.toStdString();//std::string
ba=QByteArray(stdStr.c_str() ); //QByteArray
ba=ba.fromBase64(ba); //unBase64
QString qs1=QString::fromUtf8(ba); //QString
return qs1;
}
void ControlAdvParamWidget::OnSendCustomJson(){//ok
MACRO_DEFINE_NO_SELECTED_CARD_TIP
m_strStartUrl="http://"+m_pLedCard->m_strCardIp+":3000";
QJsonObject json;
QJsonParseError l_err;
QJsonDocument l_doc = QJsonDocument::fromJson(ui->JsonEdit->toPlainText().toUtf8(), &l_err);
if (l_err.error == QJsonParseError::NoError)
{
if (l_doc.isObject())
{
json = l_doc.object();
}
}
if(json.count()<=0)
{
X_UIMsgBoxOk *pDlg=new X_UIMsgBoxOk(tr("Tip"),tr("Json format is error!"),this,0);
pDlg->exec();
return;
}
if(m_pLedlist==nullptr)
return;
if(m_pLedlist->count()<=1)
{
if(m_pLedCard!=nullptr)
{
HttpPostByTypeJsonObject(pHpptClient,m_strStartUrl,json);
if(m_PostingDlg==nullptr)
{
m_PostingDlg = new LoEmptyDialog(this);
connect(m_PostingDlg,SIGNAL(sigClose()),this,SLOT(DeletePostingDlg()));
connect(m_pGetAskTimer,SIGNAL(timeout()),m_PostingDlg,SLOT(TimerOutUnlock()));
m_PostingDlg->lock(tr("AliIotSetting"),tr("Success"),tr("failed"));
m_pGetAskTimer->start(5000);
m_PostingDlg->exec();
}
}
}
else {
emit sigSend(json,tr("AliIotSetting"));
}
}