PunchHMI/sharedviews/promptdialog.cpp
2024-02-06 14:58:57 +08:00

1253 lines
41 KiB
C++
Raw Permalink 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 "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);
}
}
}