PunchHMI/sharedviews/promptdialog.cpp

1253 lines
41 KiB
C++
Raw Normal View History

2024-02-06 06:58:57 +00:00
#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_totalHead = 0;
m_curColorOrder = 0;//当前色序数
m_totalColorOrder = 0;//总色序数
m_funType = sel;
m_filePath.clear();
m_area = 0;
setTitleStr("");
setContentStr("");
setContentProcessStr("");
ui->frameProcess->hide();
ui->labelContentInfo->setText("");
ui->labeBreakHead->setText("");
ui->labeBottomBreakHead->setText("");
ui->labelCurNeedleValue->setText("0");
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameProcessBtn->hide();
#if(0)
//全部隐藏,否则新的弹窗显示时会先刷新成之前的再刷新成新的内容,尽管刷新速度很快但仍能看出来,所以先全部隐藏
ui->frameChangePassword->hide();
ui->frameElasticCtrl->hide();
ui->frameHMIDecrypt->hide();
ui->frameHeadEmb->hide();
ui->frameLiftMControl->hide();
ui->frameManualChangeColor->hide();
ui->frameNoseHead->hide();
ui->frameProcess->hide();
ui->frameQuantityMoveFrame->hide();
ui->frameSpindleRotate->hide();
ui->frameTraceOffset->hide();
ui->frameWarrantBtn->hide();
ui->frameWorkArea->hide();
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameProcessBtn->hide();
ui->frameDetecBtn->hide();
ui->labelContent->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentWarrant->hide();
ui->labelContentInfo->hide();
#endif
m_selectNeedleIdx = 0;
m_selectHeadleIdx = 0;
ui->buttonOk->setEnabled(true);
//蓝色
m_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;}";
//白色
m_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->frameManualChangeColor->hide();//手动换色
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonForward->hide();//隐藏正转按钮
ui->buttonReverse->hide();//隐藏反转按钮
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->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->frameManualChangeColor->hide();//手动换色
ui->buttonOk->show();
ui->buttonCancel->hide();
ui->buttonForward->hide();//隐藏正转按钮
ui->buttonReverse->hide();//隐藏反转按钮
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->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->frameManualChangeColor->hide();//手动换色
ui->frameThree->show();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameWorkArea->hide();
}
else if (sel == BTN_RESTART)//重启
{
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameWarrantBtn->hide();
ui->frameDetecBtn->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameProcessBtn->show();
ui->buttonRestart->show();
ui->buttonUpdataCancel->hide();
ui->buttonRestart->move(m_btnCancelPoint);
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameWorkArea->hide();
}
else if (sel == BTN_UCANCEL)//升级取消
{
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameWarrantBtn->hide();
ui->frameDetecBtn->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameProcessBtn->show();
ui->buttonRestart->hide();
ui->buttonUpdataCancel->show();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameWorkArea->hide();
}
else if (sel == BTN_WARRANT)//授权按钮
{
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameDetecBtn->hide();
ui->frameProcessBtn->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameWarrantBtn->show();
ui->frameWorkArea->hide();
}
//手动换色
else if(sel == BTN_M_C_C )
{
ui->frameManualChangeColor->show();//手动换色
ui->frameTwo->show();
ui->frameThree->hide();
ui->frameDetecBtn->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameProcess->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentProcess->hide();
ui->labelContentWarrant->hide();
ui->labelContentADC->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
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_FACE)
{
ui->frameManualChangeColor->show();//手动换色,底线面线检测的时候,手动换色的窗体不能隐藏
ui->frameDetecBtn->show();
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameProcess->hide();
ui->labelContentInfo->hide();
ui->labelContentADC->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentProcess->hide();
ui->labelContentWarrant->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameWorkArea->hide();
}
else if(sel == BTN_NONE)//无按钮
{
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameDetecBtn->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameProcess->hide();
ui->labelContentInfo->hide();
ui->labelContentADC->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentProcess->hide();
ui->labelContentWarrant->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameWorkArea->hide();
}
else if(sel == BTN_P_NONE)//无按钮
{
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameDetecBtn->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentWarrant->hide();
ui->labelContentADC->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameWorkArea->hide();
}
else if(sel == BTN_HMI_DECRYPT)//界面解密
{
ui->frameThree->hide();
ui->frameDetecBtn->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameProcess->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->labelContentInfo->hide();
ui->labelContentADC->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentWarrant->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->frameManualChangeColor->hide();//手动换色
ui->frameProcess->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->labelContentInfo->hide();
ui->labelContentADC->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentWarrant->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_TRIMDOWN)//下剪线
{
ui->frameThree->hide();
ui->frameDetecBtn->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameProcess->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->labelContentInfo->hide();
ui->labelContentADC->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentWarrant->hide();
ui->frameHMIDecrypt->hide();
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_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->frameThree->hide();
ui->frameDetecBtn->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameProcess->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->labelContentInfo->hide();
ui->labelContentADC->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->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()
{
m_buttonEmbNeedleList.clear();
for(int i = 0; i < 32; i++)
{
QPushButton *buttonEmbNeedle = new QPushButton(ui->frameManualChangeColor);
m_buttonEmbNeedleList.append(buttonEmbNeedle);
connect(buttonEmbNeedle,
SIGNAL(clicked()),
this,
SLOT(slotEmbNeedleBtnClick())
);
}
//根据不同分辨率设置控件的位置和尺寸
switch (g_emResolut)
{
case resolution1910:
initResolution1910();
break;
case resolution1006:
initResolution1006();
break;
default:
initResolution1910();
break;
}
initControlStyle();//初始化窗体控件样式
}
//初始化窗体控件为1920x1080分辨率
void PromptDialog::initResolution1910()
{
//上状态栏
this->resize(946,564);
this->move((1920-this->width())/2,(1080-this->height())/2);
ui->frameBack->setGeometry(0,0,946,564);
ui->labelTitle->setGeometry(40,18,754,56);
ui->labelContent->setGeometry(80,120,800,300);
ui->labelContentInfo->setGeometry(80,120,800,300);
ui->labelContentADC->setGeometry(80,120,800,300);
ui->labeBreakHead->setGeometry(80,80,900,350);
//ui->labeBottomBreakHead->setGeometry(80,260,900,170);
ui->labelContentWarrant->setGeometry(96,134,800,260);
ui->frameProcess->setGeometry(96,134,820,260);
ui->labelContentProcess->setGeometry(0,20,800,100);
ui->progressBar->setGeometry(0,160,754,36);
ui->frameTwo->setGeometry(0,426,904,84);
ui->buttonForward->setGeometry(148,0,174,70);
ui->buttonReverse->setGeometry(340,0,174,70);
ui->buttonOk->setGeometry(532,0,174,70);
ui->buttonCancel->setGeometry(724,0,174,70);
m_btnOkPoint.setX(532);//ok按钮位置
m_btnOkPoint.setY(0);
m_btnCancelPoint.setX(724);//cancel按钮位置
m_btnCancelPoint.setY(0);
ui->frameProcessBtn->setGeometry(0,430,904,84);//进度条
ui->buttonRestart->setGeometry(532,0,174,70);
ui->buttonUpdataCancel->setGeometry(724,0,174,70);
ui->frameWarrantBtn->setGeometry(0,430,904,84);//授权
ui->buttonWarrant->setGeometry(532,0,174,70);
ui->buttonWarrantCancel->setGeometry(724,0,174,70);
//手动换色
ui->frameManualChangeColor->setGeometry(40,78,904,340);
ui->labelCurNeedle->setGeometry(1,8,230,40);
ui->labelCurNeedleValue->setGeometry(239,8,240,40);
for(int i = 0; i < 4; i++)
{
for(int j = 0; j < 8; j++)
{
m_buttonEmbNeedleList[i*8+j]->setGeometry(3+j*110,64+i*70,88,52);
m_buttonEmbNeedleList[i*8+j]->setFont(fontNormal_1);
m_buttonEmbNeedleList[i*8+j]->setText(QString::number(i*8+j+1));
}
}
//设置可移动区域
ui->frameWorkArea->setGeometry(40,78,904,340);
ui->buttonX1->setGeometry(300,110,160,58);//x+
ui->buttonX2->setGeometry(10,110,160,58);//x-
ui->buttonY1->setGeometry(150,10,160,58);//y+
ui->buttonY2->setGeometry(150,205,160,58);//y-
//界面解密
ui->frameHMIDecrypt->setGeometry(40,78,904,340);
ui->labelNetworkCardID->setGeometry(1,18,200,40);
ui->labelNetworkCardIDValue->setGeometry(209,18,300,40);
ui->labelHMIPassword->setGeometry(1,104,200,40);
ui->buttonHMIPassword->setGeometry(209,100,300,58);
ui->labelDecryptInfo->setGeometry(1,190,200,40);
ui->labelDecryptInfoValue->setGeometry(209,190,300,40);
//修改一级密码
ui->frameChangePassword->setGeometry(40,78,904,340);
ui->labelNewPassword->setGeometry(10,90,420,60);
ui->buttonNewPassword->setGeometry(440,90,300,60);
ui->labelConfirmPassword->setGeometry(10,190,420,60);
ui->buttonConfirmPassword->setGeometry(440,190,300,60);
ui->frameThree->setGeometry(0,430,904,84);
ui->buttonRename->setGeometry(340,0,174,70);
ui->buttonReplace->setGeometry(532,0,174,70);
ui->buttonSkip->setGeometry(724,0,174,70);
ui->frameDetecBtn->setGeometry(0,430,904,84);
ui->buttonDetectBegin->setGeometry(340,0,174,70);
ui->buttonDetectEnd->setGeometry(532,0,174,70);
ui->buttonDetectClose->setGeometry(724,0,174,70);
}
//初始化窗体控件为1024x600分辨率
void PromptDialog::initResolution1006()
{
//上状态栏
this->resize(508,304);
this->move((1024-this->width())/2,(600-this->height())/2);
ui->frameBack->setGeometry(0,0,508,304);
ui->labelTitle->setGeometry(20,-4,400,56);
ui->labelContent->setGeometry(46,40,400,180);
ui->labelContentInfo->setGeometry(46,40,400,180);
ui->labelContentADC->setGeometry(80,120,800,300);
ui->labeBreakHead->setGeometry(40,40,450,180);
//ui->labeBottomBreakHead->setGeometry(40,65,400,145);
ui->labelContentWarrant->setGeometry(46,40,300,225);
ui->frameProcess->setGeometry(20,70,480,130);
ui->labelContentProcess->setGeometry(10,10,398,40);
ui->progressBar->setGeometry(10,50,446,26);
ui->frameTwo->setGeometry(-4,225,500,51);
ui->buttonForward->setGeometry(72,0,96,40);
ui->buttonReverse->setGeometry(178,0,96,40);
ui->buttonOk->setGeometry(284,0,96,40);
ui->buttonCancel->setGeometry(390,-1,96,40);
m_btnOkPoint.setX(284);//ok按钮位置
m_btnOkPoint.setY(0);
m_btnCancelPoint.setX(390);//cancel按钮位置
m_btnCancelPoint.setY(1);
ui->frameProcessBtn->setGeometry(0,228,500,51);//进度条
ui->buttonRestart->setGeometry(284,0,96,40);
ui->buttonUpdataCancel->setGeometry(390,1,96,40);
ui->frameWarrantBtn->setGeometry(0,235,500,51);//授权
ui->buttonWarrant->setGeometry(284,0,96,40);
ui->buttonWarrantCancel->setGeometry(390,1,96,40);
//手动换色
ui->frameManualChangeColor->setGeometry(40,48,440,165);
ui->labelCurNeedle->setGeometry(0,-10,100,40);
ui->labelCurNeedleValue->setGeometry(120,-10,95,40);
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 5; j++)
{
m_buttonEmbNeedleList[i*5+j]->setGeometry(3+j*88,34+i*46,66,34);//15个针杆会显示不全 -rq
m_buttonEmbNeedleList[i*5+j]->setFont(fontNormal_1);
m_buttonEmbNeedleList[i*5+j]->setText(QString::number(i*5+j+1));
}
}
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->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,240,40);
ui->buttonNewPassword->setGeometry(280,0,200,40);
ui->labelConfirmPassword->setGeometry(0,52,240,40);
ui->buttonConfirmPassword->setGeometry(280,52,200,40);
ui->frameThree->setGeometry(0,225,500,51);
ui->buttonRename->setGeometry(187,0,96,40);
ui->buttonReplace->setGeometry(289,0,96,40);
ui->buttonSkip->setGeometry(390,1,96,40);
ui->frameDetecBtn->setGeometry(0,225,500,51);
ui->buttonDetectBegin->setGeometry(187,0,96,40);
ui->buttonDetectEnd->setGeometry(289,0,96,40);
ui->buttonDetectClose->setGeometry(390,1,96,40);
}
//初始化窗体控件样式
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(LABELWHITESTYLE);
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(LABELGREYSTYLE);
ui->labelContent->setFont(fontNormal_1);
ui->labelContent->setAlignment(Qt::AlignLeft);
ui->labelContent->setAlignment(Qt::AlignVCenter);
ui->labelContentADC->setStyleSheet(LABELGREYSTYLE);
ui->labelContentADC->setFont(fontNormal_1);
ui->labelContentADC->setAlignment(Qt::AlignLeft);
ui->labelContentADC->setAlignment(Qt::AlignVCenter);
ui->labeBreakHead->setStyleSheet(LABELREDSTYLE); // 断线机头 红色 字体加大 -rq
ui->labeBreakHead->setFont(fontNormal_9);
// ui->labeBreakHead->setAlignment(Qt::AlignHCenter);
// ui->labeBreakHead->setAlignment(Qt::AlignVCenter);
ui->labeBottomBreakHead->setAlignment(Qt::AlignCenter);//文字水平垂直居中
//ui->labeBottomBreakHead->setStyleSheet(LABELREDSTYLEGREEN); // 底线断线机头 绿色 字体加大 -rq
ui->labeBottomBreakHead->setFont(fontNormal_9);
ui->labeBottomBreakHead->setAlignment(Qt::AlignCenter);
ui->labeBottomBreakHead->setAlignment(Qt::AlignVCenter);
ui->labelContentInfo->setStyleSheet(LABELGREYSTYLE);
ui->labelContentInfo->setFont(fontNormal_1);
ui->labelContentInfo->setAlignment(Qt::AlignLeft);
ui->labelContentInfo->setAlignment(Qt::AlignVCenter);
ui->labelContentProcess->setStyleSheet(LABELGREYSTYLE);
ui->labelContentProcess->setFont(fontNormal_1);
ui->labelContentProcess->setAlignment(Qt::AlignLeft);
ui->labelContentProcess->setAlignment(Qt::AlignVCenter);
ui->labelContentWarrant->setStyleSheet(LABELGREYSTYLE);
ui->labelContentWarrant->setFont(fontNormal_1);
ui->labelContentWarrant->setAlignment(Qt::AlignLeft);
ui->labelContentWarrant->setAlignment(Qt::AlignVCenter);
ui->frameTwo->setStyleSheet(TRANSPARENTSTYLE);
ui->buttonOk->setWhiteBlueBottomStyle();
ui->buttonOk->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonOk->objectName()+"_1"),12);
ui->buttonCancel->setWhiteBlueBottomStyle();
ui->buttonCancel->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonCancel->objectName()+"_1"),12);
ui->buttonForward->setWhiteBlueBottomStyle();
ui->buttonForward->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonForward->objectName()),12);
ui->buttonReverse->setWhiteBlueBottomStyle();
ui->buttonReverse->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonReverse->objectName()),12);
ui->frameThree->setStyleSheet(TRANSPARENTSTYLE);
ui->buttonRename->setWhiteBlueBottomStyle();
ui->buttonReplace->setWhiteBlueBottomStyle();
ui->buttonSkip->setWhiteBlueBottomStyle();
ui->buttonRename->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonRename->objectName()),12);
ui->buttonReplace->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonReplace->objectName()),12);
ui->buttonSkip->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonSkip->objectName()),12);
ui->frameDetecBtn->setStyleSheet(TRANSPARENTSTYLE);
ui->buttonDetectBegin->setWhiteBlueBottomStyle();
ui->buttonDetectBegin->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonDetectBegin->objectName()),12);
ui->buttonDetectEnd->setWhiteBlueBottomStyle();
ui->buttonDetectEnd->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonDetectEnd->objectName()),12);
ui->buttonDetectClose->setWhiteBlueBottomStyle();
ui->buttonDetectClose->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonCancel->objectName()+"_1"),12);
ui->frameProcessBtn->setStyleSheet(TRANSPARENTSTYLE);
ui->buttonRestart->setWhiteBlueBottomStyle();
ui->buttonRestart->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonRestart->objectName()),12);
ui->buttonUpdataCancel->setWhiteBlueBottomStyle();
ui->buttonUpdataCancel->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonCancel->objectName()+"_1"),12);
ui->frameManualChangeColor->setStyleSheet(TRANSPARENTSTYLE);
ui->labelCurNeedle->setStyleSheet(LABELGREYSTYLE);
ui->labelCurNeedle->setFont(fontNormal_1);
ui->labelCurNeedleValue->setStyleSheet(LABELGREYSTYLE);
ui->labelCurNeedleValue->setFont(fontNormal_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->frameHMIDecrypt->setStyleSheet(TRANSPARENTSTYLE);
ui->labelNetworkCardID->setStyleSheet(LABELGREYSTYLE);
ui->labelNetworkCardID->setFont(fontNormal_1);
ui->labelNetworkCardIDValue->setStyleSheet(LABELGREYSTYLE);
ui->labelNetworkCardIDValue->setFont(fontNormal_1);
ui->labelHMIPassword->setStyleSheet(LABELGREYSTYLE);
ui->labelHMIPassword->setFont(fontNormal_1);
ui->buttonHMIPassword->setFont(fontNormal_1);
ui->labelDecryptInfo->setStyleSheet(LABELGREYSTYLE);
ui->labelDecryptInfo->setFont(fontNormal_1);
ui->labelDecryptInfoValue->setStyleSheet(LABELGREYSTYLE);
ui->labelDecryptInfoValue->setFont(fontNormal_1);
//修改一级密码
ui->frameChangePassword->setStyleSheet(TRANSPARENTSTYLE);
ui->labelNewPassword->setStyleSheet(LABELGREYSTYLE);
ui->labelNewPassword->setFont(fontNormal_1);
ui->labelConfirmPassword->setStyleSheet(LABELGREYSTYLE);
ui->labelConfirmPassword->setFont(fontNormal_1);
ui->buttonNewPassword->setFont(fontNormal_1);
ui->buttonConfirmPassword->setFont(fontNormal_1);
ui->frameWarrantBtn->setStyleSheet(TRANSPARENTSTYLE);
ui->buttonWarrant->setWhiteBlueBottomStyle();
ui->buttonWarrant->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonOk->objectName()+"_1"),12);
ui->buttonWarrantCancel->setWhiteBlueBottomStyle();
ui->buttonWarrantCancel->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonCancel->objectName()+"_1"),12);
}
//设置标题
void PromptDialog::setTitleStr(QString str)
{
ui->labelTitle->setText(str);
}
//设置断线机头字体颜色 -rq
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();
ui->labelContentADC->hide();
// ui->labeBottomBreakHead->setText(str2);
// ui->labeBottomBreakHead->show();
}
//设置显示内容
void PromptDialog::setContentStr(QString str)
{
ui->frameProcess->hide();
ui->labelContentInfo->setText("");
ui->labelContentInfo->hide();
ui->labeBreakHead->setText("");//断线机头显示
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->setText("");//底线断线机头显示
ui->labeBottomBreakHead->hide();
ui->labelContentWarrant->setText("");
ui->labelContentWarrant->hide();
ui->labelContent->setText(str);
ui->labelContent->show();
ui->labelContentADC->hide();
}
void PromptDialog::setADCContentStr()
{
ui->frameProcess->show();
ui->labelContentInfo->setText("");
ui->labelContentInfo->hide();
ui->labeBreakHead->setText("");//断线机头显示
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->setText("");//底线断线机头显示
ui->labeBottomBreakHead->hide();
ui->labelContent->setText("");
ui->labelContent->hide();
ui->labelContentWarrant->setText("");
ui->labelContentWarrant->hide();
ui->labelContentProcess->hide();
ui->labelContentProcess->setText("");
ui->labelContentADC->show();
}
void PromptDialog::setContentProcessStr(QString str)
{
ui->frameProcess->show();
ui->labelContentInfo->setText("");
ui->labelContentInfo->hide();
ui->labeBreakHead->setText("");//断线机头显示
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->setText("");//底线断线机头显示
ui->labeBottomBreakHead->hide();
ui->labelContent->setText("");
ui->labelContent->hide();
ui->labelContentWarrant->setText("");
ui->labelContentWarrant->hide();
ui->labelContentProcess->show();
ui->labelContentProcess->setText(str);
ui->labelContentADC->hide();
}
void PromptDialog::setContentInfoShow()
{
ui->labelContent->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->frameProcess->hide();
ui->labelContentWarrant->hide();
ui->labelContentInfo->show();
ui->labelContentInfo->raise();
ui->labelContentADC->hide();
}
void PromptDialog::setContentWarrantShow()
{
ui->labelContent->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->frameProcess->hide();
ui->labelContentInfo->hide();
ui->labelContentWarrant->show();
ui->labelContentADC->hide();
}
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->labelContentADC->hide();
ui->buttonOk->setEnabled(false);
}
void PromptDialog::setContentChangePasswordShow()//修改一级用户密码内容显示
{
ui->labelContentADC->hide();
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);
}
//当前针杆
void PromptDialog::setCurNeedleStr(QString idx)
{
ui->labelCurNeedleValue->setText(idx);
}
void PromptDialog::setPosValueStr(QString posValue)
{
QString str = "1 needle:76; 2 needle:127; 3 needle:179; 4 needle:230; 5 needle:281; 6 needle:332; (section:±4) \n \n \n";
QString strShow = str + posValue;
ui->labelContentADC->setText(strShow);
}
//当前针杆label是否可见
void PromptDialog::setCurNeedleStrVisible(bool bl)
{
ui->labelCurNeedle->setVisible(bl);
ui->labelCurNeedleValue->setVisible(bl);
}
//初始化针杆
void PromptDialog::initNeedleBar(int val)
{
if(val == 0){}
//读入配置
QDir apppath(qApp->applicationDirPath());
//配置文件路径
QString configFile = apppath.path() + apppath.separator() + "config.ini";
QFile iniFile(configFile);
QRgb * pColorBuf = (QRgb *)(g_pSettings->getColorRgbArray().data());
QString buttonStyle3 = "QPushButton{outline: none;border:0px solid rgb(0,0,0);border-style:inset;border-radius:5px;";
QString buttonStyle4 = "QPushButton:checked{outline: none;border:3px groove rgb(80,80,80);}";
int num,idx;
num = idx = 0;
if(!iniFile.exists())
{
num = 1;
idx = 0;
QRgb rgb = pColorBuf[(idx % BF_SW_ND)];
rgb |= 0xff000000;
QColor bkcolor(rgb);
QColor tcolor = QColor(255-bkcolor.red(), 255-bkcolor.green(), 255-bkcolor.blue()).lighter(168);
QString cstyle = "outline: none;background-color:" + bkcolor.name() + ";"
+ " color:" + tcolor.name() + ";";
for(int i = 0; i < m_buttonEmbNeedleList.size(); i++)
{
if(i < num)
{
m_buttonEmbNeedleList.at(i)->setStyleSheet(buttonStyle3 + cstyle + "}" + buttonStyle4);
m_buttonEmbNeedleList.at(i)->show();
}
else
{
m_buttonEmbNeedleList.at(i)->hide();
}
}
}
else
{
QRgb rgb = qRgb(0,255,0);
num = g_pSettings->readFromIniFile("PunchNeedle/number").toInt();
for(int i = 0; i < m_buttonEmbNeedleList.size(); i++)//针杆按钮
{
QString idxStr;
idxStr = "PunchNeedle/"+QString::number(i+1)+"_coloridx";
if(g_pSettings->ifKeyExists(idxStr) == true)//判断配置文件中是否有这个key(TowelNeedle/1_coloridx)
{
idx = g_pSettings->readFromIniFile(idxStr).toInt();//从配置文件里读的第几个针杆的颜色
rgb = pColorBuf[(idx % BF_SW_ND)];
}
else
{
rgb = pColorBuf[(i % MC_SW_ND)];
}
rgb |= 0xff000000;
QColor bkcolor(rgb);
QColor tcolor = QColor(255-bkcolor.red(), 255-bkcolor.green(), 255-bkcolor.blue()).lighter(168);
QString cstyle = "outline: none;background-color:" + bkcolor.name() + ";"
+ " color:" + tcolor.name() + ";";
if(i < num)//从配置文件里读有几个针杆,然后换色弹窗就显示几个
{
m_buttonEmbNeedleList.at(i)->setStyleSheet(buttonStyle3 + cstyle + "}" + buttonStyle4);
m_buttonEmbNeedleList.at(i)->show();
}
else
{
m_buttonEmbNeedleList.at(i)->hide();
}
}
}
for(int i = 0; i < m_buttonEmbNeedleList.size(); i++)
{
m_buttonEmbNeedleList.at(i)->setChecked(false);
m_buttonEmbNeedleList.at(i)->setCheckable(false);
}
ui->buttonOk->setEnabled(false);
}
void PromptDialog::setHeadNum(int headNum)
{
m_totalHead = headNum;
}
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 mBoardVerStr[16+1];//主板n1板卡版本
char exBoardVerStr[16+1];//主板n1-1板卡版本
char buildInfoStr[32+1];//编译日期信息
info = g_pMachine->getMcInfo();
memcpy(softwareVerStr, info.softwareVerStr, 32);
memcpy(mBoardVerStr, info.mBoardVerStr, 16);
memcpy(exBoardVerStr, info.exBoardVerStr, 16);
memcpy(buildInfoStr, info.buildInfoStr, 32);
softwareVerStr[32] = 0;
mBoardVerStr[16]= 0;
exBoardVerStr[16]= 0;
buildInfoStr[32]=0;
QString strBoardVer;
strBoardVer.sprintf("%s", softwareVerStr);
QString strMBoardVer;
strMBoardVer.sprintf("%s", mBoardVerStr);
QString strExBoardVer;
strExBoardVer.sprintf("%s", exBoardVerStr);
QString strBuildInfo;
strBuildInfo.sprintf("%s", buildInfoStr);
if(strBoardVer.length() > 0 )
{
strBoardVer.remove(" ");//清除空格
}
strInfo += tr("Board:") + " " + strBoardVer + "\n"+
strBuildInfo+ "\n" +
strMBoardVer + "\n" +
strExBoardVer + "\n" ;
QString verInfo = "\n" + strInfo;
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::slotEmbNeedleBtnClick()
{
m_pEmbNeedleBtn = (QPushButton*) this->sender();
if(m_pEmbNeedleBtn == NULL)
{
return;
}
for(int i = 0; i < m_buttonEmbNeedleList.size(); i++)
{
if(m_pEmbNeedleBtn == m_buttonEmbNeedleList.at(i))
{
m_selectNeedleIdx = i+1;
}
m_buttonEmbNeedleList.at(i)->setChecked(false);
m_buttonEmbNeedleList.at(i)->setCheckable(false);
}
m_pEmbNeedleBtn->setCheckable(true);
m_pEmbNeedleBtn->setChecked(true);
ui->buttonOk->setEnabled(true);
}
void PromptDialog::on_buttonOk_clicked()
{
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->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_FACE)//等于面线检测
{
//面线检测开始绣花机才有所以是g_pMachine(第一块)
if(g_pMachine != NULL)
{
g_pMachine->testThreadBK(NOODLES,m_selectNeedleIdx);
}
return;
}
}
//停止检测
void PromptDialog::on_buttonDetectEnd_clicked()
{
if(g_pMachine != NULL)
{
g_pMachine->exitDetectTest();
}
}
//关闭检测窗体
void PromptDialog::on_buttonDetectClose_clicked()
{
//退出弹窗的时候也发一个 停止检测 的命令 -rq
if(m_funType == BTN_FACE)//等于面线、底线检测
{
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_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);
}
}
}