2026年6月4日 commit

This commit is contained in:
2026-06-04 14:08:28 +08:00
parent dd64ec1252
commit 571b8e01d3
71 changed files with 2780 additions and 2656 deletions
+33 -22
View File
@@ -31,6 +31,7 @@
#include "scene/PicScheduleShiftItem.h"
#include "scene/piccodeitem.h"
#include <QElapsedTimer>
#include <QScroller>
extern MyInputMethod *myInputMethod;
unsigned char test_flag,open_close;
@@ -42,6 +43,10 @@ MainWidget::MainWidget(QWidget* parent)
// 加载UI文件
ui.setupUi(this);
if (sysPara == nullptr) {
sysPara = SysPara::ins();
}
// 关联成员变量到UI控件
m_EditBtn = ui.m_EditBtn;
m_AddBtn = ui.m_AddBtn;
@@ -76,6 +81,24 @@ MainWidget::MainWidget(QWidget* parent)
changeHighLight(false);
enablePrintButton(false);
QWidget* viewport = ui.scrollArea->viewport();
// 捕获鼠标左键拖动手势(桌面端)
QScroller::grabGesture(viewport, QScroller::LeftMouseButtonGesture);
// 如需同时支持触摸屏,可加上触屏手势
QScroller::grabGesture(viewport, QScroller::TouchGesture);
QScroller* scroller = QScroller::scroller(viewport);
QScrollerProperties properties = scroller->scrollerProperties();
// 启用惯性滚动
properties.setScrollMetric(QScrollerProperties::DecelerationFactor, 0.7);
// 防止过小的移动被误判为拖拽
properties.setScrollMetric(QScrollerProperties::DragStartDistance, 0.002);
scroller->setScrollerProperties(properties);
scroller->grabGesture(ui.scrollArea->viewport(), QScroller::LeftMouseButtonGesture);
}
MainWidget::~MainWidget()
@@ -151,21 +174,6 @@ void MainWidget::bindPicScene(PicScene* pPicScene){
this->pPicScene = pPicScene;
}
void MainWidget::bindSysPara(SysPara *sysPara){
this->sysPara = sysPara;
// ui->textEditOption->bindSysPara(sysPara);
m_PrintDisplay->bindSysPara(sysPara);
#ifdef _2DCODE_
// barcode->bindSysPara(sysPara);
// dlgqrcode->setSysPara(sysPara);
// dlgqrcode->barCodeFlag = this->sysPara->para.qrOption.barCodeFlag;
// dlgqrcode->SetOption((qrOption_t*)&sysPara->para.qrOption);
#endif
#ifdef PICSCENE
// ui->senceEditOption->bindSysPara(sysPara);
#endif
}
void MainWidget::_on_pushButtonPowerOff_pressed(bool notice)
{
if(!sysPara)
@@ -1782,7 +1790,6 @@ void MainWidget::airPushingProcess()
{
if(sysPara){
if (sysPara->status.airPushing) {
//qDebug()<< "start airPushingProcess "<<sysPara->status.airPushingOnTime;
// 执行排气 7 秒
setRunStatus(tr("正在排气..."));
++sysPara->status.airPushingOnTime;
@@ -3151,11 +3158,13 @@ void MainWidget::onPreviewScene()
wmax = sysPara->status.currAlterPrintRow;
}
/*-------------------------------切换到显示窗口-----------------------------------*/
if(sysPara->status.addSpace)
m_PrintDisplay->setDisplaySize(sysPara->status.currPrintCol/2,sysPara->status.currPrintRow);
else m_PrintDisplay->setDisplaySize(sysPara->status.currPrintCol,sysPara->status.currPrintRow);
m_PrintDisplay->setDisplaySize(sysPara->status.currPrintCol,sysPara->para.AlterMode?sysPara->status.currAlterPrintRow : sysPara->status.currPrintRow);
qDebug() << "currPrintCol: " << sysPara->status.currPrintCol;
auto rows = sysPara->para.AlterMode?sysPara->status.currAlterPrintRow : sysPara->status.currPrintRow;
rows = std::max(rows, (m_PrintDisplay->parentWidget()->height() / m_PrintDisplay->currScaleRatio()));
auto cols = sysPara->status.currPrintCol;
cols = std::max(cols, (m_PrintDisplay->parentWidget()->width() / m_PrintDisplay->currScaleRatio()));
m_PrintDisplay->setDisplaySize(cols, rows);
// ui->stackedWidgetText->setCurrentWidget(ui->pagePrintTextDisplay);
// ui->stackedWidgetOption->setCurrentWidget(ui->pageOption);
// ui->labelTextWidthHeight->setText(tr("[ %1行 x %2列 ]").arg(wmax).arg(sysPara->status.currPrintCol));
@@ -3186,10 +3195,12 @@ void MainWidget::handleEmptySize()
// 清空打印数据缓冲区
unsigned char *dat = MaxCol4000 ? sysPara->status.printDat_Normal : sysPara->status.printDat;
memset(dat, 0, sizeof(MaxCol4000 ? sysPara->status.printDat_Normal : sysPara->status.printDat));
memset(dat, 0, MaxCol4000 ? sizeof(sysPara->status.printDat_Normal) : sizeof(sysPara->status.printDat));
// 刷新预览显示,显示空场景(白色背景)
m_PrintDisplay->setDisplaySize(sysPara->status.currPrintCol, sysPara->status.currPrintRow);
auto rows = sysPara->para.AlterMode?sysPara->status.currAlterPrintRow : sysPara->status.currPrintRow;
rows = std::max(rows, (m_PrintDisplay->parentWidget()->height() / m_PrintDisplay->currScaleRatio()));
m_PrintDisplay->setDisplaySize(m_PrintDisplay->parentWidget()->width() / m_PrintDisplay->currScaleRatio(), rows);
m_PrintDisplay->update();
previewFlag = 0;
return;