完善RFID卡
@@ -2436,6 +2436,9 @@ unsigned short short2BCD(unsigned short value)
|
||||
unsigned char dataofa[1];
|
||||
unsigned int volGap;
|
||||
int DevOp::writeFpgaPrintPara(bool ignoreWarn){
|
||||
|
||||
qDebug() << "writeFpgaPrintPara: ignoreWarn " << ignoreWarn;
|
||||
|
||||
unsigned int type = sysPara->status.fpgaVersionNum >> 12;
|
||||
// unsigned int type = 6;
|
||||
// if((sysPara->para.currPrintMode == FAST_PRINT) && !sysPara->para.charWidthSetEnable
|
||||
@@ -3632,6 +3635,18 @@ void DevOp::writeFlightCompCtrl()
|
||||
fpgaWr(FLIGHT_COMP_CTRL_BASE, (unsigned char*)(&flightComCtrl), sizeof(FlightComCtrl_t));
|
||||
}
|
||||
|
||||
void DevOp::writeSyncAndDelayPrintCount(bool enb, uint32_t maxCount)
|
||||
{
|
||||
static uint8_t buffer[5] = {0};
|
||||
buffer[0] = enb ? 1 : 0;
|
||||
buffer[1] = maxCount & 0xFF;
|
||||
buffer[2] = (maxCount >> 8) & 0xFF;
|
||||
buffer[3] = (maxCount >> 16) & 0xFF;
|
||||
buffer[4] = (maxCount >> 24) & 0xFF;
|
||||
|
||||
fpgaWr(MAX_REPEAT_COUNT_DELAY_SYNC, &buffer, sizeof(buffer));
|
||||
}
|
||||
|
||||
void DevOp::resendSTM32Date(int cmd, int addr, unsigned char *dat, int len, int type)
|
||||
{
|
||||
emit sendSerialDataToSTM32(cmd,addr,dat,len,type);
|
||||
|
||||
@@ -167,6 +167,9 @@ class SysPara;
|
||||
// 墨点飞行补偿控制写地址,具体引用于 DevOp::writeFlightCompCtrl
|
||||
#define FLIGHT_COMP_CTRL_BASE 0xA4A0
|
||||
|
||||
// 时延模式、同步器模式 下,重复打印的次数 ,使能标记地址
|
||||
#define MAX_REPEAT_COUNT_DELAY_SYNC 0xA482
|
||||
|
||||
/*
|
||||
* 请不要直接初始化此函数,如果需要,请通过SysPara的devOP来访问此类
|
||||
* */
|
||||
@@ -305,8 +308,21 @@ public :
|
||||
*/
|
||||
void writeFlightCompCtrl(bool enb, bool enbAccelDecelPredict, quint32 flightCompWindow);
|
||||
|
||||
/**
|
||||
* @brief 写入飞行时间补偿控制,使用此函数的前提是之前已经调用过 writeFlightCompCtrl(bool enb, bool enbAccelDecelPredict, quint32 flightCompWindow)
|
||||
* 参数使用之前缓存的参数
|
||||
*
|
||||
*/
|
||||
void writeFlightCompCtrl();
|
||||
|
||||
/**
|
||||
* @brief 写入时延模式、同步器模式 下,重复打印的次数 ,使能标记
|
||||
*
|
||||
* @param enb 启用或关闭重复打印的次数 ,使能标记
|
||||
* @param maxCount 重复打印的次数
|
||||
*/
|
||||
void writeSyncAndDelayPrintCount(bool enb, uint32_t maxCount);
|
||||
|
||||
public slots:
|
||||
|
||||
void resendFPGADate(int,int,unsigned char *,int,int);
|
||||
|
||||
@@ -284,3 +284,11 @@ void DialogFileOperation::modbus_openfile(QString filename)
|
||||
{
|
||||
emit openFile(filename,true);
|
||||
}
|
||||
|
||||
void DialogFileOperation::openLastWork()
|
||||
{
|
||||
QString dirPath = ui->radioButtonLocal->isChecked()?DOC_ROOT_DIR:UDISK_DOC_ROOT_DIR;
|
||||
QString filePath = dirPath + "LastWork.xml";
|
||||
|
||||
emit openFile(filePath,true);
|
||||
}
|
||||
|
||||
@@ -17,7 +17,10 @@ public:
|
||||
~DialogFileOperation();
|
||||
void refreshListView(int mode);
|
||||
void modbus_openfile(QString filename);
|
||||
int EditMode;
|
||||
int EditMode;
|
||||
|
||||
// 打开最后一次作业文件
|
||||
void openLastWork();
|
||||
private slots:
|
||||
|
||||
// 260410 打开文件界面去掉多余按钮,只保留打开文件按钮,其他删除文件,导出文件,导入文件在另外界面做
|
||||
|
||||
@@ -170,3 +170,11 @@ void DialogSaveFile::setTitleTxt(QString str)
|
||||
setWindowTitle(str);
|
||||
}
|
||||
|
||||
void DialogSaveFile::saveLastWork()
|
||||
{
|
||||
QString dirPath = ui->radioButtonLocal->isChecked()?DOC_ROOT_DIR:UDISK_DOC_ROOT_DIR;
|
||||
QString filePath = dirPath + "LastWork.xml";
|
||||
|
||||
emit saveFile(filePath,false);
|
||||
}
|
||||
|
||||
|
||||
@@ -21,6 +21,8 @@ public:
|
||||
void setEnterFileName(QString strFile);
|
||||
void setTitleTxt(QString str);
|
||||
|
||||
// 默认保存最后一次作业文件
|
||||
void saveLastWork();
|
||||
private slots:
|
||||
|
||||
|
||||
|
||||
@@ -112,6 +112,7 @@ void InkJetPrinter::init()
|
||||
|
||||
// TestPrintWidget::sendButtonClickedSignal(16) 转由 openDatetimeEditor 处理
|
||||
connect(m_TestPrintWidget, &TestPrintWidget::sig_showEditDateTime, this, &InkJetPrinter::openDatetimeEditor);
|
||||
connect(m_TestPrintWidget, &TestPrintWidget::sig_updatePrintContent, this, &InkJetPrinter::slt_updatePrintContent);
|
||||
|
||||
// 班时元素与编辑 连接
|
||||
connect(m_TestPrintWidget, &TestPrintWidget::sig_showScheduleShiftsEditor, this, &InkJetPrinter::showScheduleShiftsEditor);
|
||||
@@ -140,7 +141,7 @@ void InkJetPrinter::init()
|
||||
connect(m_MainInstruction,&MainInstruction::newFileBtnClick,m_TestPrintWidget,&TestPrintWidget::on_newfileButton_pressed);
|
||||
|
||||
// connect(myInputMethod,&MyInputMethod::sendEnterClickedSignal,&TestPrintWidget::onEditItemDone);
|
||||
connect(myInputMethod,SIGNAL(sendEnterClickedSignal()),m_TestPrintWidget,SLOT(onEditItemDone()));
|
||||
// connect(myInputMethod,SIGNAL(sendEnterClickedSignal()),m_TestPrintWidget,SLOT(onEditItemDone()));
|
||||
connect(m_DateVarSet,SIGNAL(backSpaceBtn()),myInputMethod,SLOT(backSapceButtonDel()));
|
||||
connect(m_TestPrintWidget,SIGNAL(sendUpdateFontSignl(int)),m_FontSetWidget,SLOT(updateFontSelect(int)));
|
||||
|
||||
@@ -283,12 +284,13 @@ void InkJetPrinter::init()
|
||||
connect(m_SystemUpdate,&SystemUpdate::sendButtonClickedSignal,this,&InkJetPrinter::getSystemManageWidgetButtonClickSlot);
|
||||
connect(m_SystemUpdate,&SystemUpdate::sig_reboot,this,&InkJetPrinter::rebootApp);
|
||||
|
||||
|
||||
// 原注释的默认页面设置(按需启用)
|
||||
|
||||
sysPara->status.machineMac = m_MainInstruction->dlgInputAddr->jd.addr;
|
||||
sysPara->para.rfidCountDown = 5;
|
||||
|
||||
if (m_TestPrintWidget)
|
||||
m_TestPrintWidget->loadLastWork();
|
||||
|
||||
timer = new QTimer();
|
||||
connect(timer, SIGNAL(timeout()), this, SLOT(timerHandler()));
|
||||
timer->start(10);
|
||||
@@ -330,7 +332,22 @@ void InkJetPrinter::slt_warningMaintenance()
|
||||
|
||||
}
|
||||
|
||||
void InkJetPrinter::enableInkJetTabClick(bool flag){
|
||||
void InkJetPrinter::showEvent(QShowEvent *e)
|
||||
{
|
||||
static bool firstShow = true;
|
||||
|
||||
QWidget::showEvent(e);
|
||||
|
||||
if(firstShow) {
|
||||
if (m_TestPrintWidget)
|
||||
m_TestPrintWidget->loadLastWork();
|
||||
|
||||
firstShow = false;
|
||||
}
|
||||
}
|
||||
|
||||
void InkJetPrinter::enableInkJetTabClick(bool flag)
|
||||
{
|
||||
this->setEnabled(flag);
|
||||
}
|
||||
|
||||
@@ -667,7 +684,8 @@ void InkJetPrinter::timerHandler(void){
|
||||
}
|
||||
if(!gearPumpRunFlag)
|
||||
{
|
||||
m_MainWidget->enableReclaimCtrlButton(false);
|
||||
m_MainWidget->setReclaimOpenBtnStatus(false);
|
||||
m_MainWidget->setReclaimCloseBtnStatus(false);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -1010,7 +1028,10 @@ void InkJetPrinter::timerHandler(void){
|
||||
/*-----------------------------------------------------*/
|
||||
if(!sysPara->status.selfCheckCnt) {
|
||||
LogInfo::setRunStatusText(tr("开始自检,请等待60秒..."));
|
||||
m_MainWidget->enableReclaimCtrlButton(false);
|
||||
|
||||
m_MainWidget->setReclaimOpenBtnStatus(false);
|
||||
m_MainWidget->setReclaimCloseBtnStatus(false);
|
||||
|
||||
m_MainWidget->enablePrintButton(false);
|
||||
sysPara->devOp->mainInkCtrl();
|
||||
sysPara->para.TrunOnPowerCnt++;// 20151218 开机次数加1
|
||||
@@ -1026,8 +1047,11 @@ void InkJetPrinter::timerHandler(void){
|
||||
m_MainWidget->setRunStatus(tr("开始自检,请等待%1秒...").
|
||||
arg((MAX_SELF_CHECK_CNT - sysPara->status.selfCheckCnt)/100));
|
||||
}
|
||||
|
||||
#ifdef QT_DEBUG
|
||||
if(sysPara->status.selfCheckCnt >= 1500) // 测试自检改为15s
|
||||
#else
|
||||
if(sysPara->status.selfCheckCnt >= MAX_SELF_CHECK_CNT)
|
||||
#endif
|
||||
{
|
||||
sysPara->status.selfCheckDone = 1;
|
||||
// 自检完成后管道恢复正常阻力,重置软启动让压力重新平稳收敛
|
||||
@@ -1042,7 +1066,10 @@ void InkJetPrinter::timerHandler(void){
|
||||
LogInfo::setRunStatusText(tr("自检完成!!!"));
|
||||
m_MainWidget->setRunStatus(tr("自检完成!!!"));
|
||||
qDebug()<<"自检完成!!!";
|
||||
m_MainWidget->enableReclaimCtrlButton(true);
|
||||
|
||||
m_MainWidget->setReclaimOpenBtnStatus(true);
|
||||
m_MainWidget->setReclaimCloseBtnStatus(false);
|
||||
|
||||
sysPara->devOp->mainInkCtrl();
|
||||
sysPara->status.canRunAirPushing = true;
|
||||
|
||||
@@ -1052,12 +1079,23 @@ void InkJetPrinter::timerHandler(void){
|
||||
sysPara->devOp->writeFpgaCalandar(0);
|
||||
sysPara->devOp->writeFpgaPrintPara(true);
|
||||
|
||||
#ifdef __RFID_CARD
|
||||
// 刷卡判定
|
||||
if(sysPara->RFIDPara.inkCardTimeOut
|
||||
|| sysPara->RFIDPara.solventCardTimeOut
|
||||
|| sysPara->RFIDPara.needMaintenance) {
|
||||
m_MainWidget->setReclaimOpenBtnStatus(false);
|
||||
LogInfo::setRunStatusText(tr("Need maintenance."));
|
||||
}
|
||||
#endif
|
||||
|
||||
if(sysPara->para.Reciclar)
|
||||
test_flag = 1;
|
||||
}
|
||||
else {
|
||||
if((sysPara->status.selfCheckCnt % 200) == 0)
|
||||
m_MainWidget->enableReclaimCtrlButton(false);
|
||||
m_MainWidget->setReclaimOpenBtnStatus(false);
|
||||
m_MainWidget->setReclaimCloseBtnStatus(false);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1456,7 +1494,6 @@ void InkJetPrinter::getTestPrintWidgetButtonClickedSlot(int index)
|
||||
{
|
||||
m_StackedWidget->setCurrentWidget(m_MainWidget);
|
||||
MySleep(200);
|
||||
// m_MainWidget->PreviewPressed();
|
||||
m_MainWidget->onPreviewScene();
|
||||
break;
|
||||
}
|
||||
@@ -1484,6 +1521,12 @@ void InkJetPrinter::openDatetimeEditor(DateItemModel dateModel, TextItemModel te
|
||||
m_StackedWidget->setCurrentWidget(m_DateVarSet);
|
||||
}
|
||||
|
||||
void InkJetPrinter::slt_updatePrintContent()
|
||||
{
|
||||
m_MainWidget->onPreviewScene();
|
||||
m_MainWidget->SendPrintDataToFpga(0);
|
||||
}
|
||||
|
||||
void InkJetPrinter::getFontSetWidgetButtonClickedSlot(int index)
|
||||
{
|
||||
switch (index)
|
||||
@@ -2445,6 +2488,8 @@ void InkJetPrinter::detectAndcontrolReclaimTank(){
|
||||
|
||||
qDebug()<<"reclaimTankOpenDone currReclaimTankPos:"<<sysPara->status.currReclaimTankPos;
|
||||
qDebug()<<"reclaimTankOpenDone curr_reclaimTankTime:"<<sysPara->status.curr_reclaimTankTime;
|
||||
|
||||
LogInfo::setRunStatusText("reclaimTankOpenDone currReclaimTankPos:"+QString::number(sysPara->status.currReclaimTankPos));
|
||||
}
|
||||
else if(sysPara->status.reclaimTankstatus == 0x11 )//7 故障,6 关完成,5开完成,4 保持, 3 停止, 2 关, 1 开,0-无操作
|
||||
{
|
||||
@@ -2453,8 +2498,11 @@ void InkJetPrinter::detectAndcontrolReclaimTank(){
|
||||
}
|
||||
else if(sysPara->status.reclaimTankstatus == 1 || sysPara->status.reclaimTankstatus == 2)//7 故障,6 关完成,5开完成,4 保持, 3 停止, 2 关, 1 开,0-无操作
|
||||
{
|
||||
sysPara->status.reclaimBlockedCnt = 0;
|
||||
auto recliamTime = (sysPara->para.reclaimTankTime != 0 ? sysPara->para.reclaimTankTime : 15.0f) * 10.0f;
|
||||
int rate = qBound(0, 100, int((sysPara->status.currReclaimTankPos / recliamTime) * 100));
|
||||
m_MainWidget->setReclaimStatus(sysPara->status.reclaimTankstatus == 1, rate);
|
||||
|
||||
sysPara->status.reclaimBlockedCnt = 0;
|
||||
}
|
||||
else if(sysPara->status.reclaimTankstatus == 6 )//7 故障,6 关完成,5开完成,4 保持, 3 停止, 2 关, 1 开,0-无操作
|
||||
{
|
||||
@@ -2468,9 +2516,7 @@ void InkJetPrinter::detectAndcontrolReclaimTank(){
|
||||
sysPara->status.reclainCloseAppending=false;
|
||||
sysPara->status.canRunAirPushing = true; //下次开回收槽就执行排气程序
|
||||
|
||||
// 过度占用日志,由Byons注释于2026年4月22日
|
||||
// qDebug()<<"reclaimTankCloseDone currReclaimTankPos:"<<sysPara->status.currReclaimTankPos;
|
||||
// qDebug()<<"reclaimTankCloseDone curr_reclaimTankTime:"<<sysPara->status.curr_reclaimTankTime;
|
||||
LogInfo::setRunStatusText("reclaimTankCloseDone currReclaimTankPos:"+QString::number(sysPara->status.currReclaimTankPos));
|
||||
}
|
||||
else if(sysPara->status.reclaimTankstatus == 0x12 )//7 故障,6 关完成,5开完成,4 保持, 3 停止, 2 关, 1 开,0-无操作
|
||||
{
|
||||
@@ -2656,7 +2702,7 @@ void InkJetPrinter::warningHandler(int type){
|
||||
static int i = 1;
|
||||
int elasped = curPowerOnDateTime.secsTo(QDateTime::currentDateTime());// 本次开机运行秒数
|
||||
if(elasped >= 60*60*i){ //开机后1小时提醒一次,测试时可以缩短
|
||||
// if (elasped > 30*i) {//test
|
||||
// if (elasped > 10*i) {//test
|
||||
i++;
|
||||
flagOfmtWarning = true;
|
||||
flagOfWarning = true;
|
||||
@@ -2723,9 +2769,9 @@ void InkJetPrinter::warningHandler(int type){
|
||||
// 超过48小时后,不会执行这一段
|
||||
if(flagOfWarning){
|
||||
//48小时后禁用,小时=第一次提示时间到当前时间的间隔秒数/60/60
|
||||
if (type = INK && sysPara->para.flagOfInkWarning)
|
||||
if (type == INK && sysPara->para.flagOfInkWarning)
|
||||
warningShow(type,inkTime);
|
||||
else if (type = SOLVENT && sysPara->para.flagOfSolventWarning)
|
||||
else if (type == SOLVENT && sysPara->para.flagOfSolventWarning)
|
||||
warningShow(type,solventTime);
|
||||
|
||||
flagOfWarning = false;
|
||||
@@ -2740,8 +2786,7 @@ void InkJetPrinter::warningShow(int type,int num){
|
||||
str = tr("请刷墨水卡,请使用原厂墨水耗材,否则机器将在%1小时后禁止使用!").arg(num);
|
||||
else if(num == 49)
|
||||
str = tr("墨水液位报警超过48小时,机器无法正常打印,请先添加原厂墨水再刷墨水卡,以恢复喷码机的正常工作!");
|
||||
msgtest->setText(str);
|
||||
msgtest->show();
|
||||
slt_showMsg(str);
|
||||
// m_MainWidget->setRunStatus(str);
|
||||
LogInfo::setRunStatusText(str);
|
||||
qDebug()<<str;
|
||||
@@ -2751,8 +2796,7 @@ void InkJetPrinter::warningShow(int type,int num){
|
||||
str = tr("请刷溶剂卡,请使用原厂溶剂耗材,否则机器将在%1小时后禁止使用!").arg(num);
|
||||
else if(num == 49)
|
||||
str = tr("溶剂液位报警超过48小时,机器无法正常打印,请先添加溶剂再刷溶剂卡以恢复喷码机的正常工作!");
|
||||
msgtest->setText(str);
|
||||
msgtest->show();
|
||||
slt_showMsg(str);
|
||||
// m_MainWidget->setRunStatus(str);
|
||||
LogInfo::setRunStatusText(str);
|
||||
qDebug()<<str;
|
||||
@@ -2762,8 +2806,7 @@ void InkJetPrinter::warningShow(int type,int num){
|
||||
str = tr("保养期还有%1天到期,请及时保养,否则喷码机容易损坏").arg(num);
|
||||
else
|
||||
str = tr("保养期已超过%1天,请进行保养以恢复喷码机的正常使用").arg(num*(-1));
|
||||
msgtest->setText(str);
|
||||
msgtest->show();
|
||||
slt_showMsg(str);
|
||||
LogInfo::setRunStatusText(str);
|
||||
qDebug()<<str;
|
||||
}
|
||||
@@ -2775,7 +2818,7 @@ void InkJetPrinter::warningShow(int type,int num){
|
||||
void InkJetPrinter::createNewJobFile()
|
||||
{
|
||||
auto currentFile = m_TestPrintWidget->currentFile();
|
||||
if(!currentFile.isEmpty()) {
|
||||
if(!currentFile.isEmpty() && !currentFile.contains("LastWork.xml")) {
|
||||
QFileInfo fileInfo(currentFile);
|
||||
auto ret = QMessageBox::information(nullptr, "", tr("当前正在使用\r\n %1 \r\n确定要新建文件吗?").arg(fileInfo.baseName()),
|
||||
QMessageBox::Ok, QMessageBox::Cancel);
|
||||
@@ -2797,7 +2840,9 @@ int InkJetPrinter::updateWarningTime(int type){
|
||||
file.setFileName("/home/plg/inkRFIDTime.txt");
|
||||
else if(type == 2)
|
||||
file.setFileName("/home/plg/solventRFIDTime.txt");
|
||||
else return;
|
||||
else
|
||||
return -1;
|
||||
|
||||
if(!file.exists()){
|
||||
LogInfo::setRunStatusText(tr("刷卡倒计时起始时间文件不存在"));
|
||||
return -1;
|
||||
@@ -2923,6 +2968,8 @@ void InkJetPrinter::handleWarnInk()
|
||||
|
||||
if(sysPara->status.inkWarningCnt >= DETECT_WARNING_TIME){
|
||||
sysPara->para.flagOfInkWarning = true;
|
||||
sysPara->RFIDPara.needInkCard = true;
|
||||
manager_rfid->setInkCardFirstPrompt(true);
|
||||
QString strCurDateTime = QDateTime::currentDateTime().toString("yyMMddhhmmss");
|
||||
LogInfo::setRunStatusText("Ink warning.");
|
||||
qDebug()<<"墨水液位报警";
|
||||
@@ -2930,6 +2977,9 @@ void InkJetPrinter::handleWarnInk()
|
||||
sysPara->para.inkWarnDate = strCurDateTime.mid(0,6).toInt();
|
||||
sysPara->para.inkWarnTime = strCurDateTime.mid(6,6).toInt();
|
||||
}
|
||||
|
||||
warningShow(1, 48);
|
||||
|
||||
sysPara->saveParaToFile();
|
||||
}
|
||||
}
|
||||
@@ -2975,7 +3025,9 @@ void InkJetPrinter::handleWarnInk()
|
||||
// 状态正常但是需要刷卡,说明此时先加的墨水,后面再刷卡
|
||||
if(!(sysPara->status.statWarn & WARN_STATUS_INK_WARN)
|
||||
&& sysPara->RFIDPara.needInkCard){
|
||||
|
||||
sysPara->RFIDPara.addedInk = true;
|
||||
|
||||
sysPara->saveRFIDPara();
|
||||
}
|
||||
}
|
||||
@@ -2994,6 +3046,8 @@ void InkJetPrinter::handleWarnSolvent()
|
||||
|
||||
if(sysPara->status.solventWarningCnt >= DETECT_WARNING_TIME){
|
||||
sysPara->para.flagOfSolventWarning = true;
|
||||
sysPara->RFIDPara.needSolventCard = true;
|
||||
manager_rfid->setSolventCardFirstPrompt(true);
|
||||
QDateTime curDateTime = QDateTime::currentDateTime();
|
||||
QString strCurDateTime = curDateTime.toString("yyMMddhhmmss");
|
||||
LogInfo::setRunStatusText("Solvent warning.");
|
||||
@@ -3002,6 +3056,9 @@ void InkJetPrinter::handleWarnSolvent()
|
||||
sysPara->para.solventWarnDate = strCurDateTime.mid(0,6).toInt();
|
||||
sysPara->para.solventWarnTime = strCurDateTime.mid(6,6).toInt();
|
||||
}
|
||||
|
||||
warningShow(2, 48);
|
||||
|
||||
sysPara->saveParaToFile();
|
||||
}
|
||||
}
|
||||
@@ -3045,6 +3102,7 @@ void InkJetPrinter::handleWarnSolvent()
|
||||
// 如果溶剂报警,说明此时先加的溶剂,后面再刷卡
|
||||
if(!(sysPara->status.statWarn & WARN_STATUS_SOLV_WARN)
|
||||
&& sysPara->RFIDPara.needSolventCard){
|
||||
|
||||
sysPara->RFIDPara.addedSolvent = true;
|
||||
sysPara->saveRFIDPara();
|
||||
}
|
||||
@@ -3055,7 +3113,8 @@ void InkJetPrinter::handleWarnSolvent()
|
||||
|
||||
void InkJetPrinter::slt_showMsg(QString msg)
|
||||
{
|
||||
msgtest->setText(msg);
|
||||
msgtest->show();
|
||||
QMessageBox * msgBox = new QMessageBox(QMessageBox::NoIcon, tr("提示"), msg, QMessageBox::StandardButton::Ok);
|
||||
connect(msgBox, &QMessageBox::finished, msgBox, &QMessageBox::deleteLater);
|
||||
msgBox->show();
|
||||
LogInfo::setRunStatusText(msg);
|
||||
}
|
||||
|
||||
@@ -135,6 +135,8 @@ private slots:
|
||||
void getMainWidgetButtonClickedSlot(int index);
|
||||
void getTestPrintWidgetButtonClickedSlot(int index);
|
||||
void openDatetimeEditor(DateItemModel dateModel, TextItemModel textItemModel);
|
||||
// 更新打印内容
|
||||
void slt_updatePrintContent();
|
||||
// void getErCodeSettingsWidgetButtonClickedSlot(int index);
|
||||
// void getMainInterfaceWidgetButtonClickedSlot(int index);
|
||||
void viscosity_timerHandler();
|
||||
@@ -193,6 +195,10 @@ private slots:
|
||||
signals:
|
||||
void maintenanceShow();
|
||||
|
||||
|
||||
protected:
|
||||
void showEvent(QShowEvent* e) override;
|
||||
|
||||
public slots:
|
||||
void close_jd_timer();
|
||||
void enableInkJetTabClick(bool flag);
|
||||
|
||||
@@ -1336,6 +1336,11 @@ void InputMethod::on_pushBottonHide_released()
|
||||
qte->clearFocus();
|
||||
}
|
||||
|
||||
QLineEdit* lineEdit = dynamic_cast<QLineEdit*>(widget);
|
||||
if(lineEdit){
|
||||
lineEdit->clearFocus();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void InputMethod::onHiden(){
|
||||
|
||||
@@ -17,6 +17,7 @@ ItemEditor::ItemEditor(QWidget *parent) :
|
||||
ui->generalSettingsTab->setLayout(gridLayout);
|
||||
|
||||
ui->okBtn->setMinimumSize(100, 40);
|
||||
ui->okBtn->setFixedSize(100, 40);
|
||||
}
|
||||
|
||||
ItemEditor::~ItemEditor()
|
||||
|
||||
@@ -55,42 +55,39 @@
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
<widget class="QPushButton" name="okBtn">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>580</x>
|
||||
<y>0</y>
|
||||
<width>100</width>
|
||||
<height>40</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>62</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>567</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="okBtn">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QPushButton {
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Ubuntu</family>
|
||||
<pointsize>25</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QPushButton {
|
||||
background-color: #E6F7FF;
|
||||
border: 1px solid #87CEEB;
|
||||
border-radius: 4px;
|
||||
min-width: 60px;
|
||||
min-height: 40px;
|
||||
font-size: 36px;
|
||||
font-family: "Ubuntu";
|
||||
color: #228B22;
|
||||
}
|
||||
@@ -100,22 +97,34 @@
|
||||
QPushButton:pressed {
|
||||
background-color: #BAE7FF;
|
||||
}</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>✓</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="closeBtn">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"> QPushButton {
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>✓</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="closeBtn">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>690</x>
|
||||
<y>0</y>
|
||||
<width>100</width>
|
||||
<height>40</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"> QPushButton {
|
||||
background-color: #E6F7FF;
|
||||
border: 1px solid #87CEEB;
|
||||
border-radius: 4px;
|
||||
@@ -130,13 +139,11 @@
|
||||
QPushButton:pressed {
|
||||
background-color: #BAE7FF;
|
||||
}</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>✕</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>✕</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0" colspan="2">
|
||||
|
||||
@@ -643,6 +643,9 @@ void LogInfo::slt_cleanOver(bool flag)
|
||||
|
||||
void LogInfo::checkReclaimStatus()
|
||||
{
|
||||
if(!sysPara)
|
||||
return;
|
||||
|
||||
static bool CleanUPEn=1,preCleanUP=0;
|
||||
if(!sysPara->para.isCheckMagnet)
|
||||
{
|
||||
|
||||
@@ -286,9 +286,15 @@ QScrollBar::add-line:horizontal { bottom: 0px; }</string>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QFrame" name="sub2">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>250</width>
|
||||
<width>200</width>
|
||||
<height>130</height>
|
||||
</size>
|
||||
</property>
|
||||
@@ -383,7 +389,7 @@ QScrollBar::add-line:horizontal { bottom: 0px; }</string>
|
||||
<string>color:#3CB371;font-size:24px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>0007.9</string>
|
||||
<string>999.99</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -406,7 +412,7 @@ QScrollBar::add-line:horizontal { bottom: 0px; }</string>
|
||||
<string>color:#E72F28;font-size:24px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>0020.3</string>
|
||||
<string>999.99</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
@@ -124,13 +124,6 @@ void PrintSetting::updateModelFromUI(){
|
||||
m_model.eleEyeTriggerPrintDelay = ui->spinBoxEleEyeTriggerPrintDelay->value();
|
||||
m_model.timeTriggerPrintMode = 0;
|
||||
m_model.triggerInterval = ui->spinBoxEleEyeTriggerIntervalMs->value();
|
||||
int value = 0;
|
||||
if (ui->cb_unlimited->isChecked())
|
||||
value = UINT16_MAX;
|
||||
else
|
||||
value = ui->spinBoxEleEyeTriggerRepeatCnt->value();
|
||||
|
||||
m_model.eleEyeRepeatCnt = value;
|
||||
m_model.encoderPulsePerMm = ui->lineEditTriggerPulsePerMm->text().toFloat();
|
||||
|
||||
if(ui->eleEyeEdgetTriggerExternal->isChecked() && ui->radioButtonSynTriggerExternal->isChecked()) {
|
||||
@@ -164,6 +157,14 @@ void PrintSetting::updateModelFromUI(){
|
||||
m_model.outputPulseDelayMs = ui->spinBoxOutputPulseDelayMs->value();
|
||||
m_model.OuputPulseCol = ui->spinBoxOuputPulseCol->value();
|
||||
|
||||
unsigned int value = 0;
|
||||
if (ui->cb_unlimited->isChecked())
|
||||
value = (m_model.triggerMode == PRINT_TRIGGER_SYNCHRONIZER || m_model.triggerMode == PRINT_TRIGGER_TIME) ? UINT32_MAX : UINT16_MAX;
|
||||
else
|
||||
value = ui->spinBoxEleEyeTriggerRepeatCnt->value();
|
||||
|
||||
m_model.eleEyeRepeatCnt = value;
|
||||
|
||||
// if (m_model.triggerMode == PRINT_TRIGGER_ELEC_EYE_VOLTATE_LEVEL
|
||||
// || m_model.triggerMode == PRINT_TRIGGER_ELEC_EYE_EDGE
|
||||
// || m_model.triggerMode == PRINT_TRIGGER_SYNCHRONIZER) {
|
||||
@@ -628,6 +629,12 @@ void PrintSetting::applyPrintSettingsToSysPara(bool showTip)
|
||||
PrintSettingModel::applyToSysPara(m_model, sysPara);
|
||||
|
||||
if (sysPara->devOp) {
|
||||
sysPara->devOp->writeFpgaPrintPara(false);
|
||||
|
||||
sysPara->devOp->writeSyncAndDelayPrintCount(
|
||||
m_model.triggerMode == PRINT_TRIGGER_SYNCHRONIZER || m_model.triggerMode == PRINT_TRIGGER_TIME,
|
||||
m_model.eleEyeRepeatCnt);
|
||||
|
||||
sysPara->devOp->setHighVoltageAmplitudetoSTM32();
|
||||
sysPara->devOp->writeFpgaCalandar(0);
|
||||
sysPara->devOp->writeFlightCompCtrl(ui->enbFlightCompCtrl->isChecked(),
|
||||
@@ -864,7 +871,9 @@ PrintSettingModel PrintSettingModel::fromSysPara(SysPara *sysPara)
|
||||
}
|
||||
|
||||
model.timeTriggerPrintMode = sysPara->para.timeTriggerPrintMode;
|
||||
|
||||
model.eleEyeRepeatCnt = sysPara->para.photoElectricityRepeateNum;
|
||||
|
||||
model.eleEyeTriggerPrintDelay = sysPara->para.eleEyeTriggerPrintDelay;
|
||||
model.encoderPulsePerMm = sysPara->para.synPulseNumPerMm;
|
||||
model.altMirrorType = sysPara->para.AltMirrorGap >> 12;
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>4</number>
|
||||
<number>1</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
|
||||
@@ -1054,6 +1054,7 @@ typedef struct{
|
||||
unsigned int statWarn:8; //0x11
|
||||
unsigned int viscosity:16;
|
||||
unsigned int mainPumpWarm:8;
|
||||
//7 故障,6 关完成,5开完成,4 保持,3 停止,2 关,1 开,0-无操作
|
||||
unsigned char reclaimTankstatus; // 0x31 130113
|
||||
unsigned short curr_reclaimTankTime; // 0x32 33 电机当前开关时长(s) 130113
|
||||
//unsigned char read_ncba[6]; // 不用 3C
|
||||
|
||||
@@ -1061,6 +1061,9 @@ void SystemManage::inkcloseCountHandler()
|
||||
|
||||
// qDebug()<<"sysMana reclaimOpenCntAfterSWintOf" << sysPara->status.reclaimOpenCntAfterSWintOff;
|
||||
// ui->labelReclaimPump->setText((sysPara->devOp->isReclaimPumpOpen()?tr("开"):tr("关")) + QString("\n%1").arg(sysPara->status.reclaimOpenCntAfterSWintOff));
|
||||
if(!sysPara)
|
||||
return;
|
||||
|
||||
if(false == sysPara->devOp->isInkValveOpen())
|
||||
{
|
||||
// qDebug()<<"Ink pump is off";
|
||||
|
||||
@@ -714,7 +714,6 @@
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Arial</family>
|
||||
<pointsize>-1</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#define UP_PRINTER_MAJOR_VER 6
|
||||
#define UP_PRINTER_MINOR_VER 7
|
||||
#define UP_PRINTER_RIVISION_VER 2
|
||||
#define SUB_VERSION "_KOR"
|
||||
#define SUB_VERSION "_KOR-T"
|
||||
#ifdef __RFID_OLD
|
||||
#define SUB_RFID "_RO"
|
||||
#else
|
||||
|
||||
@@ -210,7 +210,8 @@ void MainWidget::_on_pushButtonPowerOff_pressed(bool notice)
|
||||
on_m_LeftBtn_clicked();
|
||||
//on_pushButtonReclaimTankClose_pressed();
|
||||
sysPara->status.powerOffAppending = true;
|
||||
enableReclaimCtrlButton(false); //所有的按钮全部屏蔽
|
||||
setReclaimCloseBtnStatus(false);
|
||||
setReclaimOpenBtnStatus(false);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -1530,11 +1531,6 @@ int MainWidget::imageToPrintData(QImage &image, int startX, int startY)
|
||||
return totalOfProcessedDots;
|
||||
}
|
||||
|
||||
void MainWidget::enableReclaimCtrlButton(bool enable){
|
||||
m_RightBtn->setEnabled(enable);
|
||||
m_LeftBtn->setEnabled(enable);
|
||||
}
|
||||
|
||||
void MainWidget::enablePrintButton(bool enable){
|
||||
#ifdef QT_DEBUG
|
||||
enable = true;
|
||||
@@ -1669,7 +1665,10 @@ void MainWidget::on_m_StartBtn_clicked()
|
||||
sysPara->status.lastSynColDelay = -1; //目的是为了清空原来的数据
|
||||
|
||||
/*---------------------------------开关回收槽------------------------------*/
|
||||
enableReclaimCtrlButton(false);
|
||||
|
||||
setReclaimCloseBtnStatus(false);
|
||||
setReclaimOpenBtnStatus(false);
|
||||
|
||||
updatePrintDisplayLabel();
|
||||
// 20170717 移动此,以观察条形码打印异常问题。
|
||||
if(!startPrintingFlag)
|
||||
@@ -1706,7 +1705,9 @@ void MainWidget::on_m_StopBtn_clicked()
|
||||
sysPara->devOp->printCtrl( PRINT_CTRL_STOP);//:PRINT_CTRL_STOPSYNCNT
|
||||
// LogInfo::setRunStatusText(tr("停止打印"));
|
||||
|
||||
enableReclaimCtrlButton(true);
|
||||
setReclaimCloseBtnStatus(sysPara->status.currReclaimTankPos != 0);
|
||||
setReclaimOpenBtnStatus(sysPara->status.currReclaimTankPos == 0);
|
||||
|
||||
printintFlag = false;
|
||||
startPrintingFlag = false;
|
||||
updatePrintDisplayLabel();
|
||||
@@ -1795,6 +1796,16 @@ int MainWidget::getCurrPrintStatus()
|
||||
return printStatus;
|
||||
}
|
||||
|
||||
void MainWidget::setReclaimOpenBtnStatus(bool enable)
|
||||
{
|
||||
ui.m_RightBtn->setEnabled(enable);
|
||||
}
|
||||
|
||||
void MainWidget::setReclaimCloseBtnStatus(bool enable)
|
||||
{
|
||||
ui.m_LeftBtn->setEnabled(enable);
|
||||
}
|
||||
|
||||
void MainWidget::setReclaimStatus(bool isOpen, int rate)
|
||||
{
|
||||
// if (!sysPara->devOp->isReclaimTankOpenEnable()) {
|
||||
@@ -1811,6 +1822,7 @@ void MainWidget::setReclaimStatus(bool isOpen, int rate)
|
||||
QString str = rate == 0? tr("喷嘴已关闭"):tr("喷嘴关闭中");
|
||||
ui.lb_LeftBtn->setText(str);
|
||||
ui.lb_RightBtn->setText(tr("喷嘴开启"));
|
||||
// ui.lb_RightBtn->setStyleSheet("color: black;");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2192,9 +2204,9 @@ void MainWidget::updateSysStatusToUI(){ //100ms
|
||||
}
|
||||
// ui->labelSynRate->setText(tr("%1.%2[%3.%4]米/分").arg(mm/1000).arg(mm%1000,3,10,QLatin1Char('0'))
|
||||
// .arg(maxMM/1000).arg(maxMM%1000,3,10,QLatin1Char('0')));
|
||||
// 20260414
|
||||
ui.lb_curSpeed->setText(tr("%1.%2").arg(mm/1000).arg(mm%1000,3,10,QLatin1Char('0')));
|
||||
ui.lb_maxSpeed->setText(tr("%1.%2").arg(maxMM/1000).arg(maxMM%1000,3,10,QLatin1Char('0')));
|
||||
// 20260414 0708:为防止变形,保存两位小数
|
||||
ui.lb_curSpeed->setText(tr("%1.%2").arg(mm/1000).arg(mm%1000,2,10,QLatin1Char('0')));
|
||||
ui.lb_maxSpeed->setText(tr("%1.%2").arg(maxMM/1000).arg(maxMM%1000,2,10,QLatin1Char('0')));
|
||||
}
|
||||
else {
|
||||
ui.lb_curSpeed->setText("0");
|
||||
@@ -2351,13 +2363,6 @@ void MainWidget::updateSysStatusToUI(){ //100ms
|
||||
}else{
|
||||
// ui->pushButton_Reboot->setEnabled(false);
|
||||
}
|
||||
|
||||
if(sysPara->RFIDPara.inkCardTimeOut || sysPara->RFIDPara.solventCardTimeOut || sysPara->RFIDPara.needMaintenance) {
|
||||
m_RightBtn->setEnabled(false);
|
||||
}
|
||||
else if(sysPara->status.selfCheckDone == 1) {
|
||||
m_RightBtn->setEnabled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3444,6 +3449,8 @@ void MainWidget::RefreshStatusLight(){//100ms
|
||||
|
||||
if(sysPara->status.isPrinting && sysPara->status.selfCheckDone){
|
||||
setRunStatus(tr("正在喷印......."));
|
||||
setReclaimCloseBtnStatus(false);
|
||||
setReclaimOpenBtnStatus(false);
|
||||
}
|
||||
|
||||
// 20160620 新增主界面显示:压力,粘度,隔膜位置,晶振电压数,相位
|
||||
|
||||
@@ -76,9 +76,15 @@ public:
|
||||
|
||||
void generateCharRamData();
|
||||
void setRunStatus(QString str);
|
||||
void enableReclaimCtrlButton(bool);
|
||||
void enablePrintButton(bool);
|
||||
int getCurrPrintStatus();
|
||||
|
||||
// 回收槽开启按钮状态设置
|
||||
void setReclaimOpenBtnStatus(bool enable);
|
||||
|
||||
// 回收槽关闭按钮状态设置
|
||||
void setReclaimCloseBtnStatus(bool enable);
|
||||
|
||||
/**
|
||||
* @brief 设置回收槽开关状态
|
||||
* @param isOpen true:开;false:关
|
||||
|
||||
|
Before Width: | Height: | Size: 174 B |
|
Before Width: | Height: | Size: 174 B |
|
Before Width: | Height: | Size: 270 B |
|
Before Width: | Height: | Size: 270 B |
|
Before Width: | Height: | Size: 390 B |
|
Before Width: | Height: | Size: 390 B |
|
Before Width: | Height: | Size: 486 B |
|
Before Width: | Height: | Size: 486 B |
|
Before Width: | Height: | Size: 606 B |
|
Before Width: | Height: | Size: 606 B |
|
Before Width: | Height: | Size: 702 B |
|
Before Width: | Height: | Size: 702 B |
|
Before Width: | Height: | Size: 822 B |
|
Before Width: | Height: | Size: 822 B |
|
Before Width: | Height: | Size: 918 B |
|
Before Width: | Height: | Size: 918 B |
|
Before Width: | Height: | Size: 174 B |
|
Before Width: | Height: | Size: 174 B |
|
Before Width: | Height: | Size: 270 B |
|
Before Width: | Height: | Size: 270 B |
|
Before Width: | Height: | Size: 390 B |
|
Before Width: | Height: | Size: 390 B |
|
Before Width: | Height: | Size: 486 B |
|
Before Width: | Height: | Size: 486 B |
|
Before Width: | Height: | Size: 606 B |
|
Before Width: | Height: | Size: 606 B |
|
Before Width: | Height: | Size: 702 B |
|
Before Width: | Height: | Size: 702 B |
|
Before Width: | Height: | Size: 822 B |
|
Before Width: | Height: | Size: 822 B |
|
Before Width: | Height: | Size: 918 B |
|
Before Width: | Height: | Size: 918 B |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 486 B |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 174 B |
|
Before Width: | Height: | Size: 174 B |
|
Before Width: | Height: | Size: 918 B |
|
Before Width: | Height: | Size: 918 B |
|
Before Width: | Height: | Size: 918 B |
|
Before Width: | Height: | Size: 918 B |
|
Before Width: | Height: | Size: 918 B |
|
Before Width: | Height: | Size: 918 B |
|
Before Width: | Height: | Size: 918 B |
|
Before Width: | Height: | Size: 174 B |
|
Before Width: | Height: | Size: 486 B |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 174 B |
|
Before Width: | Height: | Size: 918 B |
|
Before Width: | Height: | Size: 918 B |
|
Before Width: | Height: | Size: 918 B |
|
Before Width: | Height: | Size: 174 B |
|
Before Width: | Height: | Size: 918 B |
|
Before Width: | Height: | Size: 918 B |
|
Before Width: | Height: | Size: 918 B |
|
Before Width: | Height: | Size: 918 B |
|
Before Width: | Height: | Size: 918 B |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 8.9 KiB |
|
Before Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 10 KiB |