qt/LedOK/wDevicesManager/controladvparamwidget.cpp
2022-01-20 10:08:17 +08:00

1956 lines
74 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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);
//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
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 );
textStream << QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss") << ":" << message;
}
};
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"));
}
}