QuiltingHMI/sharedviews/promptdialog.cpp
2024-02-06 15:10:48 +08:00

1068 lines
36 KiB
C++

#include "promptdialog.h"
#include "ui_promptdialog.h"
PromptDialog::PromptDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::PromptDialog)
{
ui->setupUi(this);
setWindowFlags (Qt::Window | Qt::FramelessWindowHint);
setWindowModality(Qt::ApplicationModal);
setAttribute(Qt::WA_TranslucentBackground, true);
connect(g_pMachine, SIGNAL(siMcInfoChange()), this, SLOT(slotMCInfoChange()));
initDialog();
initControl();
}
PromptDialog::~PromptDialog()
{
delete ui;
}
//初始化窗体
void PromptDialog::initDialog(int sel)
{
m_funType = sel;
m_filePath.clear();
m_spindleAngle = 0;//主轴旋转角度值
m_area = 0;
setTitleStr("");
setContentStr("");
setContentProcessStr("");
ui->frameProcess->hide();
ui->labelContentInfo->setText("");
ui->labeBreakHead->setText("");
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameProcessBtn->hide();
ui->buttonOk->setEnabled(true);
//蓝色
buttonStyle1 = "QPushButton{outline: none;color:rgb(10,10,10);background-color:rgb(0,151,226);border:0px solid rgb(0,0,0);border-style:inset;border-radius:5px;}";
//白色
buttonStyle2 = "QPushButton{outline: none;color:rgb(10,10,10);background-color:rgb(250,250,250);border:0px solid rgb(0,0,0);border-style:inset;border-radius:5px;}";
if (sel == BTN_OK_CANCEL)//确定、取消
{
ui->frameTwo->show();
ui->frameThree->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameDetecBtn->hide();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonForward->hide();//隐藏正转按钮
ui->buttonReverse->hide();//隐藏反转按钮
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameSpindleRotate->hide();
ui->frameWorkArea->hide();
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
else if (sel == BTN_OK)//确定
{
ui->frameTwo->show();
ui->frameThree->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameDetecBtn->hide();
ui->buttonOk->show();
ui->buttonCancel->hide();
ui->buttonForward->hide();//隐藏正转按钮
ui->buttonReverse->hide();//隐藏反转按钮
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameSpindleRotate->hide();
ui->frameWorkArea->hide();
ui->buttonOk->move(m_btnCancelPoint);
}
else if (sel == BTN_R_R_S)//重命名、替换、跳过
{
ui->frameTwo->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameDetecBtn->hide();
ui->frameThree->show();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameSpindleRotate->hide();
ui->frameWorkArea->hide();
}
else if (sel == BTN_RESTART)//重启
{
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameWarrantBtn->hide();
ui->frameDetecBtn->hide();
ui->frameProcessBtn->show();
ui->buttonRestart->show();
ui->buttonUpdataCancel->hide();
ui->buttonRestart->move(m_btnCancelPoint);
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameSpindleRotate->hide();
ui->frameWorkArea->hide();
}
else if (sel == BTN_UCANCEL)//升级取消
{
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameWarrantBtn->hide();
ui->frameDetecBtn->hide();
ui->frameProcessBtn->show();
ui->buttonRestart->hide();
ui->buttonUpdataCancel->show();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameSpindleRotate->hide();
ui->frameWorkArea->hide();
}
else if (sel == BTN_WARRANT)//授权按钮
{
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameDetecBtn->hide();
ui->frameProcessBtn->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameSpindleRotate->hide();
ui->frameWarrantBtn->show();
ui->frameWorkArea->hide();
}
// 底线检测,面线检测
else if(sel == BTN_BOTTOM || sel == BTN_FACE)
{
ui->frameDetecBtn->show();
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameProcess->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labelContentProcess->hide();
ui->labelContentWarrant->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameSpindleRotate->hide();
ui->frameWorkArea->hide();
}
else if(sel == BTN_NONE)//无按钮
{
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameDetecBtn->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameProcess->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labelContentProcess->hide();
ui->labelContentWarrant->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameSpindleRotate->hide();
ui->frameWorkArea->hide();
}
else if(sel == BTN_P_NONE)//无按钮
{
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameDetecBtn->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labelContentWarrant->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameSpindleRotate->hide();
ui->frameWorkArea->hide();
}
else if(sel == BTN_HMI_DECRYPT)//界面解密
{
ui->frameThree->hide();
ui->frameDetecBtn->hide();
ui->frameProcess->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labelContentWarrant->hide();
ui->frameSpindleRotate->hide();
ui->frameHMIDecrypt->show();
ui->frameChangePassword->hide();
ui->frameTwo->show();
ui->frameWorkArea->hide();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonForward->hide();//隐藏正转按钮
ui->buttonReverse->hide();//隐藏反转按钮
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
else if(sel == BTN_CHANGE_PASSWORD)//修改一级密码
{
ui->frameThree->hide();
ui->frameDetecBtn->hide();
ui->frameProcess->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labelContentWarrant->hide();
ui->frameSpindleRotate->hide();
ui->frameHMIDecrypt->hide();//界面解密隐藏
ui->frameChangePassword->show();
ui->frameWorkArea->hide();
ui->frameTwo->show();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonForward->hide();//隐藏正转按钮
ui->buttonReverse->hide();//隐藏反转按钮
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
else if(sel == BTN_SPINDLE_ROTATE)//主轴旋转角度
{
ui->frameSpindleRotate->show();
ui->buttonSpindleAngleValue->setText("0.00");
ui->frameThree->hide();
ui->frameDetecBtn->hide();
ui->frameProcess->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labelContentWarrant->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameTwo->show();
ui->frameWorkArea->hide();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonForward->show();//显示正转按钮
ui->buttonReverse->show();//显示反转按钮
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
else if(sel == BTN_WORK_AREA)//设置可工作区域
{
ui->frameWorkArea->show();
ui->buttonX1->setText(tr("X +"));
ui->buttonX2->setText(tr("X -"));
ui->buttonY1->setText(tr("Y +"));
ui->buttonY2->setText(tr("Y -"));
ui->frameSpindleRotate->hide();
ui->frameThree->hide();
ui->frameDetecBtn->hide();
ui->frameProcess->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labelContentWarrant->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameTwo->show();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonForward->hide();//隐藏正转按钮
ui->buttonReverse->hide();//隐藏反转按钮
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
}
//初始化窗体控件,包括位置、尺寸、样式
void PromptDialog::initControl()
{
//根据不同分辨率设置控件的位置和尺寸
switch (g_emResolut)
{
case resolution1910:
initResolution1910();
break;
case resolution1006:
initResolution1006();
break;
default:
initResolution1910();
break;
}
initControlStyle();//初始化窗体控件样式
}
//初始化窗体控件为1920x1080分辨率
void PromptDialog::initResolution1910()
{
double factoryX = 1.875;
double factoryY = 1.8;
//上状态栏
this->resize(1024*factoryX,600*factoryY);
this->move((1920-this->width())/2,(1080-this->height())/2);
ui->frameBack->setGeometry(0,0,1920,1080);
ui->labelTitle->setGeometry(265*factoryX ,150*factoryY,400*1.875,56*factoryY);//(20,-4,400,56)
ui->labelContent->setGeometry(291*factoryX ,194*factoryY,340*1.875,285*factoryY);//(46,40,340,285)
ui->labelContentInfo->setGeometry(291*factoryX ,194*factoryY,350*1.875,285*factoryY);//(46,40,350,285)
ui->labeBreakHead->setGeometry(40*factoryX,40*factoryY,380*factoryX,285*factoryY);
ui->labelContentWarrant->setGeometry(302*factoryX,193*factoryY,300*factoryX,225*factoryY);
ui->frameProcess->setGeometry(145*factoryX,150*factoryY,800*factoryX,280*factoryY);//(20,70,480,130)
ui->labelContentProcess->setGeometry(150*factoryX,80*factoryY,398*factoryX,40*factoryY);//(10,10,398,40)
ui->progressBar->setGeometry(150*factoryX,120*factoryY,446*factoryX,26*factoryY);//进度条(10,50,446,26)
ui->frameTwo->setGeometry(245*factoryX,379*factoryY,900*factoryX,500*factoryY);//(0,225,500,51)
ui->buttonForward->setGeometry(72*factoryX,0,96*factoryX,45*factoryY);
ui->buttonReverse->setGeometry(178*factoryX,0,96*factoryX,45*factoryY);
ui->buttonOk->setGeometry(284*factoryX,0,96*factoryX,45*factoryY);//(284,0,96,45)
ui->buttonCancel->setGeometry(390*factoryX,-1*factoryY,96*factoryX,45*factoryY);//(390,-1,96,45)
m_btnOkPoint.setX(284*factoryX);//ok按钮位置(284)
m_btnOkPoint.setY(0);
m_btnCancelPoint.setX(390*factoryX);//cancel按钮位置(390)
m_btnCancelPoint.setY(1*factoryY);
ui->frameProcessBtn->setGeometry(260*factoryX,385*factoryY,500*factoryX,51*factoryY);//传送文件中提示弹框中的X按钮
ui->buttonRestart->setGeometry(284*factoryX,0,96*factoryX,45*factoryY);
ui->buttonUpdataCancel->setGeometry(390*factoryX,1*factoryY,96*factoryX,45*factoryY);
ui->frameWarrantBtn->setGeometry(256*factoryX,388*factoryY,500*factoryX,51*factoryY);//授权 已修改
ui->buttonWarrant->setGeometry(284*factoryX,0,96*factoryX,45*factoryY);
ui->buttonWarrantCancel->setGeometry(390*factoryX,1*factoryY,96*factoryX,45*factoryY);
ui->frameWorkArea->setGeometry(40*factoryX,58*factoryY,440*factoryX,161*factoryY);
ui->buttonX1->setGeometry(170*factoryX,60*factoryY,70*factoryX,38*factoryY);
ui->buttonX2->setGeometry(10*factoryX,60*factoryY,70*factoryX,38*factoryY);
ui->buttonY1->setGeometry(90*factoryX,10*factoryY,70*factoryX,38*factoryY);//y+
ui->buttonY2->setGeometry(90*factoryX,120*factoryY,70*factoryX,38*factoryY);
//主轴角度旋转
ui->frameSpindleRotate->setGeometry(30*factoryX,78*factoryY,440*factoryX,161*factoryY);
ui->labelSpindleAngle->setGeometry(0*factoryX,12*factoryY,120*factoryX,40*factoryY);
ui->buttonSpindleAngleValue->setGeometry(125*factoryX,10*factoryY,78*factoryX,40*factoryY);
ui->labelSpindleAngleUnit->setGeometry(214*factoryX,12*factoryY,91*factoryX,40*factoryY);
//界面解密
ui->frameHMIDecrypt->setGeometry(40*factoryX,78*factoryY,440*factoryX,161*factoryY);
ui->labelNetworkCardID->setGeometry(10*factoryX,12*factoryY,110*factoryX,40*factoryY);
ui->labelNetworkCardIDValue->setGeometry(130*factoryX,12*factoryY,200*factoryX,40*factoryY);
ui->labelHMIPassword->setGeometry(10*factoryX,52*factoryY,110*factoryX,40*factoryY);
ui->buttonHMIPassword->setGeometry(130*factoryX,50*factoryY,200*factoryX,40*factoryY);
ui->labelDecryptInfo->setGeometry(10*factoryX,92*factoryY,110*factoryX,40*factoryY);
ui->labelDecryptInfoValue->setGeometry(130*factoryX,92*factoryY,200*factoryX,40*factoryY);
//修改一级密码
ui->frameChangePassword->setGeometry(0,78*factoryY,440*factoryX,161*factoryY);
ui->labelNewPassword->setGeometry(0,0,140*factoryX,40*factoryY);
ui->buttonNewPassword->setGeometry(180*factoryX,0,200*factoryX,40*factoryY);
ui->labelConfirmPassword->setGeometry(0,52*factoryY,140*factoryX,40*factoryY);
ui->buttonConfirmPassword->setGeometry(180*factoryX,52*factoryY,200*factoryX,40*factoryY);
ui->frameThree->setGeometry(280*factoryX,390*factoryY,500*factoryX,51*factoryY);
ui->buttonRename->setGeometry(187*factoryX,0,96*factoryX,45*factoryY);
ui->buttonReplace->setGeometry(289*factoryX,0,96*factoryX,45*factoryY);
ui->buttonSkip->setGeometry(390*factoryX,1*factoryY,96*factoryX,45*factoryY);
ui->frameDetecBtn->setGeometry(280*factoryX,390*factoryY,500*factoryX,51*factoryY);
ui->buttonDetectBegin->setGeometry(187*factoryX,0,96*factoryX,45*factoryY);
ui->buttonDetectEnd->setGeometry(284*factoryX,0,96*factoryX,45*factoryY);
ui->buttonDetectClose->setGeometry(390*factoryX,1*factoryY,96*factoryX,45*factoryY);
}
//初始化窗体控件为1024x600分辨率
void PromptDialog::initResolution1006()
{
//上状态栏
this->resize(1024,600);//(508,304);
this->move((1024-this->width())/2,(600-this->height())/2);
ui->frameBack->setGeometry(0,0,1024,600);//(0,0,508,304)
ui->labelTitle->setGeometry(265,150,400,56);//(20,-4,400,56)
ui->labelContent->setGeometry(291,194,340,285);//(46,40,340,285)
ui->labelContentInfo->setGeometry(291,194,350,285);//(46,40,350,285)
ui->labeBreakHead->setGeometry(40,40,380,285);
ui->labelContentWarrant->setGeometry(302,193,300,225);
ui->frameProcess->setGeometry(145,150,800,280);//(20,70,480,130)
ui->labelContentProcess->setGeometry(150,80,398,40);//(10,10,398,40)
ui->progressBar->setGeometry(150,120,446,26);//进度条(10,50,446,26)
ui->frameTwo->setGeometry(245,379,500,51);//(0,225,500,51)
ui->buttonForward->setGeometry(72,0,96,45);
ui->buttonReverse->setGeometry(178,0,96,45);
ui->buttonOk->setGeometry(284,0,96,45);//(284,0,96,45)
ui->buttonCancel->setGeometry(390,-1,96,45);//(390,-1,96,45)
m_btnOkPoint.setX(284);//ok按钮位置(284)
m_btnOkPoint.setY(0);
m_btnCancelPoint.setX(390);//cancel按钮位置(390)
m_btnCancelPoint.setY(1);
ui->frameProcessBtn->setGeometry(260,385,500,51);//(0,235,500,51)传送文件中提示弹框中的X按钮
ui->buttonRestart->setGeometry(284,0,96,45);//(284,0,96,45)
ui->buttonUpdataCancel->setGeometry(390,1,96,45);//(390,1,96,45)
ui->frameWarrantBtn->setGeometry(256,388,500,51);//授权 已修改
ui->buttonWarrant->setGeometry(284,0,96,45);
ui->buttonWarrantCancel->setGeometry(390,1,96,45);
ui->frameWorkArea->setGeometry(40,58,440,161);
ui->buttonX1->setGeometry(170,60,70,38);
ui->buttonX2->setGeometry(10,60,70,38);
ui->buttonY1->setGeometry(90,10,70,38);//y+
ui->buttonY2->setGeometry(90,120,70,38);
//主轴角度旋转
ui->frameSpindleRotate->setGeometry(30,78,440,161);
ui->labelSpindleAngle->setGeometry(0,12,120,40);
ui->buttonSpindleAngleValue->setGeometry(125,10,78,40);
ui->labelSpindleAngleUnit->setGeometry(214,12,91,40);
//界面解密
ui->frameHMIDecrypt->setGeometry(40,78,440,161);
ui->labelNetworkCardID->setGeometry(10,12,110,40);
ui->labelNetworkCardIDValue->setGeometry(130,12,200,40);
ui->labelHMIPassword->setGeometry(10,52,110,40);
ui->buttonHMIPassword->setGeometry(130,50,200,40);
ui->labelDecryptInfo->setGeometry(10,92,110,40);
ui->labelDecryptInfoValue->setGeometry(130,92,200,40);
//修改一级密码
ui->frameChangePassword->setGeometry(0,78,440,161);
ui->labelNewPassword->setGeometry(0,0,140,40);
ui->buttonNewPassword->setGeometry(180,0,200,40);
ui->labelConfirmPassword->setGeometry(0,52,140,40);
ui->buttonConfirmPassword->setGeometry(180,52,200,40);
ui->frameThree->setGeometry(280,390,500,51);
ui->buttonRename->setGeometry(187,0,96,45);
ui->buttonReplace->setGeometry(289,0,96,45);
ui->buttonSkip->setGeometry(390,1,96,45);
ui->frameDetecBtn->setGeometry(280,390,500,51);
ui->buttonDetectBegin->setGeometry(187,0,96,45);
ui->buttonDetectEnd->setGeometry(284,0,96,45);
ui->buttonDetectClose->setGeometry(390,1,96,45);
}
//初始化窗体控件样式
void PromptDialog::initControlStyle()
{
SetControlStyle setControlStyle;
setControlStyle.setUiName(this->objectName());
//设置控件图标
//背景图
this->setStyleSheet(LABELWHITESTYLE);
ui->frameBack->setStyleSheet(TRANSPARENTSTYLE);
ui->frameBack->setStyleSheet(setControlStyle.getStyleSheet(this->objectName()));
ui->labelTitle->setStyleSheet(LABELBLACKSTYLE);
ui->labelTitle->setFont(fontNormal_1);
ui->labelTitle->setAlignment(Qt::AlignLeft);
ui->labelTitle->setAlignment(Qt::AlignVCenter);
ui->frameProcess->setStyleSheet(TRANSPARENTSTYLE);
ui->progressBar->setFont(fontNormal_1);
ui->labelContent->setStyleSheet(LABELWHITESTYLE);
ui->labelContent->setFont(fontNormal_1);
ui->labelContent->setAlignment(Qt::AlignLeft);
ui->labelContent->setAlignment(Qt::AlignVCenter);
ui->labeBreakHead->setStyleSheet(LABELREDSTYLE); // 断线机头 红色 字体加大 -rq
ui->labeBreakHead->setFont(fontNormal_10);
ui->labeBreakHead->setAlignment(Qt::AlignLeft);
ui->labeBreakHead->setAlignment(Qt::AlignVCenter);
ui->labelContentInfo->setStyleSheet(LABELWHITESTYLE);
ui->labelContentInfo->setFont(fontNormal_1);
ui->labelContentInfo->setAlignment(Qt::AlignLeft);
ui->labelContentInfo->setAlignment(Qt::AlignVCenter);
ui->labelContentProcess->setStyleSheet(LABELNAVYBLUESTYLE);
ui->labelContentProcess->setFont(fontNormal_1);
ui->labelContentProcess->setAlignment(Qt::AlignLeft);
ui->labelContentProcess->setAlignment(Qt::AlignVCenter);
ui->labelContentWarrant->setStyleSheet(LABELWHITESTYLE);
ui->labelContentWarrant->setFont(fontNormal_1);
ui->labelContentWarrant->setAlignment(Qt::AlignLeft);
ui->labelContentWarrant->setAlignment(Qt::AlignVCenter);
ui->frameTwo->setStyleSheet(TRANSPARENTSTYLE);
ui->buttonOk->setBottomImage(setControlStyle.getSharedBottomStyleSheet("frameBtn"));
ui->buttonOk->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonOk->objectName()+"_1"));
ui->buttonCancel->setBottomImage(setControlStyle.getSharedBottomStyleSheet("frameBtn"));
ui->buttonCancel->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonCancel->objectName()+"_1"));
ui->buttonForward->setBottomImage(setControlStyle.getSharedBottomStyleSheet("frameBtn"));
ui->buttonForward->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonForward->objectName()));
ui->buttonReverse->setBottomImage(setControlStyle.getSharedBottomStyleSheet("frameBtn"));
ui->buttonReverse->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonReverse->objectName()));
ui->frameThree->setStyleSheet(TRANSPARENTSTYLE);
ui->buttonRename->setBottomImage(setControlStyle.getSharedBottomStyleSheet("frameBtn"));
ui->buttonReplace->setBottomImage(setControlStyle.getSharedBottomStyleSheet("frameBtn"));
ui->buttonSkip->setBottomImage(setControlStyle.getSharedBottomStyleSheet("frameBtn"));
ui->buttonRename->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonRename->objectName()));
ui->buttonReplace->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonReplace->objectName()));
ui->buttonSkip->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonSkip->objectName()));
ui->frameDetecBtn->setStyleSheet(TRANSPARENTSTYLE);
ui->buttonDetectBegin->setBottomImage(setControlStyle.getSharedBottomStyleSheet("frameBtn"));
ui->buttonDetectBegin->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonDetectBegin->objectName()));
ui->buttonDetectEnd->setBottomImage(setControlStyle.getSharedBottomStyleSheet("frameBtn"));
ui->buttonDetectEnd->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonDetectEnd->objectName()));
ui->buttonDetectClose->setBottomImage(setControlStyle.getSharedBottomStyleSheet("frameBtn"));
ui->buttonDetectClose->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonCancel->objectName()+"_1"));
ui->frameProcessBtn->setStyleSheet(TRANSPARENTSTYLE);
ui->buttonRestart->setBottomImage(setControlStyle.getSharedBottomStyleSheet("frameBtn"));
ui->buttonRestart->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonRestart->objectName()));
ui->buttonUpdataCancel->setBottomImage(setControlStyle.getSharedBottomStyleSheet("frameBtn"));
ui->buttonUpdataCancel->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonCancel->objectName()+"_1"));
//设置可工作区域
ui->frameWorkArea->setStyleSheet(TRANSPARENTSTYLE);
ui->buttonX1->setFont(fontNormal_1);
ui->buttonX2->setFont(fontNormal_1);
ui->buttonY1->setFont(fontNormal_1);
ui->buttonY2->setFont(fontNormal_1);
//主轴角度旋转
ui->frameSpindleRotate->setStyleSheet(TRANSPARENTSTYLE);
ui->labelSpindleAngle->setStyleSheet(LABELWHITESTYLE);
ui->labelSpindleAngle->setFont(fontNormal_1);
ui->labelSpindleAngleUnit->setStyleSheet(LABELWHITESTYLE);
ui->labelSpindleAngleUnit->setFont(fontNormal_1);
ui->buttonSpindleAngleValue->setFont(fontNormal_1);
//界面解密
ui->frameHMIDecrypt->setStyleSheet(TRANSPARENTSTYLE);
ui->labelNetworkCardID->setStyleSheet(LABELWHITESTYLE);
ui->labelNetworkCardID->setFont(fontNormal_1);
ui->labelNetworkCardIDValue->setStyleSheet(LABELWHITESTYLE);
ui->labelNetworkCardIDValue->setFont(fontNormal_1);
ui->labelHMIPassword->setStyleSheet(LABELWHITESTYLE);
ui->labelHMIPassword->setFont(fontNormal_1);
ui->buttonHMIPassword->setFont(fontNormal_1);
ui->labelDecryptInfo->setStyleSheet(LABELWHITESTYLE);
ui->labelDecryptInfo->setFont(fontNormal_1);
ui->labelDecryptInfoValue->setStyleSheet(LABELWHITESTYLE);
ui->labelDecryptInfoValue->setFont(fontNormal_1);
//修改一级密码
ui->frameChangePassword->setStyleSheet(TRANSPARENTSTYLE);
ui->labelNewPassword->setStyleSheet(LABELWHITESTYLE);
ui->labelNewPassword->setFont(fontNormal_1);
ui->labelConfirmPassword->setStyleSheet(LABELWHITESTYLE);
ui->labelConfirmPassword->setFont(fontNormal_1);
ui->buttonNewPassword->setFont(fontNormal_1);
ui->buttonConfirmPassword->setFont(fontNormal_1);
ui->frameWarrantBtn->setStyleSheet(TRANSPARENTSTYLE);
ui->buttonWarrant->setBottomImage(setControlStyle.getSharedBottomStyleSheet("frameBtn"));
ui->buttonWarrant->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonOk->objectName()+"_1"));
ui->buttonWarrantCancel->setBottomImage(setControlStyle.getSharedBottomStyleSheet("frameBtn"));
ui->buttonWarrantCancel->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonCancel->objectName()+"_1"));
}
//设置标题
void PromptDialog::setTitleStr(QString str)
{
ui->labelTitle->setText(str);
}
//设置断线机头字体颜色
void PromptDialog::setStrColor(QString str)
{
ui->frameProcess->hide();
ui->labelContentInfo->setText("");
ui->labelContentInfo->hide();
ui->labelContentWarrant->setText("");
ui->labelContentWarrant->hide();
ui->labelContent->setText("");
ui->labelContent->hide();
ui->labeBreakHead->setText(str);
ui->labeBreakHead->show();
}
//设置显示内容
void PromptDialog::setContentStr(QString str)
{
ui->frameProcess->hide();
ui->labelContentInfo->setText("");
ui->labelContentInfo->hide();
ui->labeBreakHead->setText("");//断线机头显示
ui->labeBreakHead->hide();
ui->labelContentWarrant->setText("");
ui->labelContentWarrant->hide();
ui->labelContent->setText(str);
ui->labelContent->show();
}
void PromptDialog::setContentProcessStr(QString str)
{
ui->frameProcess->show();
ui->labelContentInfo->setText("");
ui->labelContentInfo->hide();
ui->labeBreakHead->setText("");//断线机头显示
ui->labeBreakHead->hide();
ui->labelContent->setText("");
ui->labelContent->hide();
ui->labelContentWarrant->setText("");
ui->labelContentWarrant->hide();
ui->labelContentProcess->show();
ui->labelContentProcess->setText(str);
}
void PromptDialog::setContentInfoShow()
{
ui->labelContent->hide();
ui->labeBreakHead->hide();
ui->frameProcess->hide();
ui->labelContentWarrant->hide();
ui->labelContentInfo->show();
ui->labelContentInfo->raise();
}
void PromptDialog::setContentWarrantShow()
{
ui->labelContent->hide();
ui->labeBreakHead->hide();
ui->frameProcess->hide();
ui->labelContentInfo->hide();
ui->labelContentWarrant->show();
}
void PromptDialog::setContentHMIDecryptShow(QString id)
{
//将id中的冒号去掉
QStringList strlist = id.split(":", QString::SkipEmptyParts);
QString nId;
nId.clear();
for(int i = 0; i < strlist.size(); i++)
{
nId += strlist[i];
}
ui->labelNetworkCardIDValue->setText(nId);
ui->buttonHMIPassword->setText("");
QDir apppath(qApp->applicationDirPath());
QString HMIDecryptConfigfile;
HMIDecryptConfigfile = apppath.path() + apppath.separator() + "HMIDecryptConfig.ini";
QSettings iniSetting(HMIDecryptConfigfile, QSettings::IniFormat);
int decryptFlag = iniSetting.value("HMIDecrypt/ifdecrypt").toInt();
QFile iniFile(HMIDecryptConfigfile);
if(decryptFlag != 0 || !iniFile.exists())//等于1或者配置文件不存在
{
ui->labelDecryptInfoValue->setText("HMI decrypted");//界面已解密
}
else
{
ui->labelDecryptInfoValue->setText("HMI unresolved");//界面未解密
}
ui->buttonOk->setEnabled(false);
}
void PromptDialog::setContentChangePasswordShow()//修改一级用户密码内容显示
{
ui->buttonNewPassword->setText("");
ui->buttonConfirmPassword->setText("");
ui->buttonOk->setEnabled(false);
}
void PromptDialog::setValue(int progress)
{
ui->progressBar->setValue(progress);
}
void PromptDialog::setButtonUCancelStr(QString str)
{
ui->buttonUpdataCancel->setText(str);
}
void PromptDialog::setRange(int minimum, int maximum)
{
ui->progressBar->setRange(minimum,maximum);
}
QString PromptDialog::getNetworkCardID()
{
return ui->labelNetworkCardIDValue->text();
}
QString PromptDialog::getInputPassword()
{
return ui->buttonHMIPassword->text();
}
void PromptDialog::slotMCInfoChange()
{
QString strInfo;
MCInfo info;
char softwareVerStr[32+1];
char softwareTimeStr[32+1];
info = g_pMachine->getMcInfo();
memcpy(softwareVerStr, info.softwareVerStr, 32);
memcpy(softwareTimeStr, info.buildInfoStr, 32);
softwareVerStr[32] = 0;
softwareTimeStr[32] = 0;
QString strBoardVer;
strBoardVer.sprintf("%s", softwareVerStr);
strInfo += tr("Board") + " " + strBoardVer + "\n";
QString softwareBulid;
softwareBulid.sprintf("%s", softwareTimeStr);
QString verInfo = "\n" + strInfo + "\r\n" + tr("Build Time:") + softwareBulid.right(softwareBulid.size() - 6);//编译时间:
ui->labelContentInfo->setText(verInfo);
//连接多块主板也是从g_pMachine(第一块)获取软件授权信息
MCStatus mcStatus;
mcStatus = g_pMachine->getMcStatus();
MCInfo infoID;
infoID = g_pMachine->getMcInfo();
QString IDStr(infoID.boardId);
if(IDStr.indexOf(":") != -1)
{
QStringList list = IDStr.split(":");
IDStr = list.at(1);
}
QString passwordStr(infoID.installment);
if(passwordStr.indexOf(":") != -1)
{
QStringList list = passwordStr.split(":");
passwordStr = list.at(1);
}
int time = mcStatus.workableTimer;//只在上电的时候读取
QString timeStr;
if( time > TIMELIMITMIN && time < TIMELIMITMAX)
{
timeStr = (tr("Unlimited time")); // 无时间限制
}
if(time <= 0)
{
timeStr = (tr("Time has run out")); // 时间已用完
}
if(time > 0 && time < TIMELIMITMIN)
{
QString strDay;
QString strHour;
QString strSec;
strDay = QString::number(time/(60 *24) , 10);
strHour = QString::number((time%(60 *24))/60 , 10) ;
strSec = QString::number(time%60 , 10);
timeStr = strDay + " " + tr("Day") + " " + strHour + " " + tr("Hour") + " " + strSec + " " + tr("Minutes") ; // 天 小时 分钟
}
QString strBoardInfo;
strBoardInfo = QString(tr("ID: %1\n")).arg(IDStr);
strBoardInfo += QString(tr("Password: %1\n")).arg(passwordStr);
strBoardInfo += QString(tr("Time: %1")).arg(timeStr);
ui->labelContentWarrant->setText(strBoardInfo);
}
void PromptDialog::on_buttonOk_clicked()
{
if(m_funType == BTN_SPINDLE_ROTATE)
{
emit siSpindleRotate(m_spindleAngle);
}
else
{
done(1);
}
}
void PromptDialog::on_buttonCancel_clicked()
{
done(0);
}
void PromptDialog::on_buttonRename_clicked()
{
done(1);
}
void PromptDialog::on_buttonReplace_clicked()
{
done(2);
}
void PromptDialog::on_buttonSkip_clicked()
{
done(0);
}
//重启
void PromptDialog::on_buttonRestart_clicked()
{
#ifdef Q_OS_WIN
qApp->exit();
#endif
#ifdef Q_OS_LINUX
system("reboot");
#endif
}
//升级中断
void PromptDialog::on_buttonUpdataCancel_clicked()
{
emit(siUpdataCancel());
done(0);
}
void PromptDialog::on_buttonWarrant_clicked()
{
//输入框
WordsInputDialog wordInputDlg;
wordInputDlg.clean();
wordInputDlg.setTitleStr(tr("Warrant"));
wordInputDlg.setOldWordsStr("");
if(wordInputDlg.exec() == 1)
{
QString textStr = wordInputDlg.getInputStr();
//连接多块主板也是从g_pMachine(第一块)获取软件授权信息,所以解锁也是通过第一块主板
g_pMachine->setMacKey(( unsigned char * ) textStr.toLatin1().data() ,textStr.toLatin1().size());
done(1);
}
}
void PromptDialog::on_buttonWarrantCancel_clicked()
{
done(0);
}
//开始检测
void PromptDialog::on_buttonDetectBegin_clicked()
{
if(m_funType == BTN_BOTTOM)//等于底线检测
{
return;
}
if(m_funType == BTN_FACE)//等于面线检测
{
return;
}
}
//停止检测
void PromptDialog::on_buttonDetectEnd_clicked()
{
if(g_pMachine!= NULL)
{
g_pMachine->exitDetectTest();
}
}
//关闭检测窗体
void PromptDialog::on_buttonDetectClose_clicked()
{
if(g_pMachine != NULL)
{
g_pMachine->exitDetectTest();
}
done(0);
}
//界面解密ID号输入按钮
void PromptDialog::on_buttonHMIPassword_clicked()
{
//输入框
WordsInputDialog wordInputDlg;
wordInputDlg.clean();
wordInputDlg.setTitleStr(tr("HMI decrypt"));
wordInputDlg.setOldWordsStr("");
if(wordInputDlg.exec() == 1)
{
QString textStr = wordInputDlg.getInputStr();
ui->buttonHMIPassword->setText(textStr);
if(textStr.length() > 0)
{
ui->buttonOk->setEnabled(true);
}
}
}
void PromptDialog::on_buttonSpindleAngleValue_clicked()
{
QTextCodec *cod = QTextCodec::codecForLocale();
int rslt;
NumerInputDialog ndlg(this);
ndlg.setTitleStr(tr("Spindle angle rotation"));//主轴角度旋转
ndlg.setUnitStr(cod->toUnicode("°"));
ndlg.setValueAndRange(ui->buttonSpindleAngleValue->text().toInt()*100, 0, 36000, 2);
rslt = ndlg.exec();
if (rslt == 1)//输入弹窗点击了确认
{
s32 val = ndlg.getValue();
m_spindleAngle = val;
float angle = m_spindleAngle*0.01;
QString angleStr;
angleStr.sprintf("%.2f",angle);
ui->buttonSpindleAngleValue->setText(angleStr);
}
}
//修改一级密码:新密码输入按钮
void PromptDialog::on_buttonNewPassword_clicked()
{
//密码输入框
PassWordDialog passWordDlg;
passWordDlg.setTitleStr(tr("New Password input"));//设置新密码输入的标题
if(passWordDlg.exec() == 1)//确认
{
m_newPassword = passWordDlg.getInputStr();//获取输入框里的密码
QString showStr("");
for (int var = 0; var < m_newPassword.size(); var++)
{
showStr = showStr + "*";
}
ui->buttonNewPassword->setText(showStr);//新密码框里显示获取的密码
}
}
//修改一级密码:确认新密码输入按钮
void PromptDialog::on_buttonConfirmPassword_clicked()
{
//密码输入框
PassWordDialog passWordDlg;
passWordDlg.setTitleStr(tr("Confirm Password input"));//设置确认密码输入的标题
if(passWordDlg.exec() == 1)//确认
{
m_confirmPassword = passWordDlg.getInputStr();//获取输入框里的密码
QString showStr("");
for (int var = 0; var < m_confirmPassword.size(); var++)
{
showStr = showStr + "*";
}
ui->buttonConfirmPassword->setText(showStr);//确认密码框里显示获取的密码
if(m_confirmPassword.length() > 0 )
{
ui->buttonOk->setEnabled(true);
}
}
}
//主轴正转
void PromptDialog::on_buttonForward_pressed()
{
emit siSpindleAction(MT_MOVE_DIR_POSI);
}
//主轴正转停止
void PromptDialog::on_buttonForward_released()
{
emit siSpindleAction(MT_MOVE_DIR_STOP);
}
//主轴反转
void PromptDialog::on_buttonReverse_pressed()
{
emit siSpindleAction(MT_MOVE_DIR_NEGA);
}
//主轴反转停止
void PromptDialog::on_buttonReverse_released()
{
emit siSpindleAction(MT_MOVE_DIR_STOP);
}
void PromptDialog::on_buttonX1_pressed()
{
if(g_pMachine != NULL)
{
g_pMachine->manualAction(XY_MOVE_RIGHT, 2);//速度等级默认是2
}
}
void PromptDialog::on_buttonX1_released()
{
if(g_pMachine != NULL)
{
g_pMachine->motoMove(XY_MOVE_RIGHT, MT_MOVE_DIR_STOP, 0);
}
m_area = 2;
}
void PromptDialog::on_buttonX2_pressed()
{
if(g_pMachine != NULL)
{
g_pMachine->manualAction(XY_MOVE_LEFT, 2);
}
}
void PromptDialog::on_buttonX2_released()
{
if(g_pMachine != NULL)
{
g_pMachine->motoMove(XY_MOVE_LEFT, MT_MOVE_DIR_STOP, 0);
}
m_area = 1;
}
void PromptDialog::on_buttonY1_pressed()
{
if(g_pMachine != NULL)
{
g_pMachine->manualAction(XY_MOVE_FRONT, 2);
}
}
//Y+
void PromptDialog::on_buttonY1_released()
{
if(g_pMachine != NULL)
{
g_pMachine->motoMove(XY_MOVE_FRONT, MT_MOVE_DIR_STOP, 0);
}
m_area = 4;
}
void PromptDialog::on_buttonY2_pressed()
{
if(g_pMachine != NULL)
{
g_pMachine->manualAction(XY_MOVE_BACK, 2);
}
}
//Y-
void PromptDialog::on_buttonY2_released()
{
if(g_pMachine != NULL)
{
g_pMachine->motoMove(XY_MOVE_BACK, MT_MOVE_DIR_STOP, 0);
}
m_area = 3;
}