抽离printsettings前的暂存

This commit is contained in:
2026-06-26 15:29:45 +08:00
parent 864b60020e
commit 7c25953cef
7 changed files with 478 additions and 155 deletions
+50 -12
View File
@@ -16,7 +16,7 @@
#include <QPalette>
#include "scene/PicScheduleShiftItem.h"
#include "scene/PicCounterItem.h"
#include "Printsetting.h"
#pragma execution_character_set("utf-8")
@@ -430,6 +430,10 @@ void TestPrintWidget::saveFile(){
// writer.writeCDATA((picText->toHtml()));
writer.writeEndElement(); // 结束子元素 </picscene>
}
writer.writeEmptyElement("PrintSettings");
PrintSettingModel::saveToXml(m_printSetting->model(), writer);
writer.writeEndElement(); // 结束根元素 </picscenes>
writer.writeEndDocument(); // 结束文档
fsync(file.handle());
@@ -455,7 +459,8 @@ void TestPrintWidget::onSaveASFile(QString filename,bool Flag){// use for dialog
/*
* 和DialogFileOperation对接
* */
void TestPrintWidget::onFileOpen(QString filePath,bool insertFlag){
void TestPrintWidget::onFileOpen(QString filePath,bool reviewFlag){
if(editMode==SCENE) {
if(filePath.endsWith(".xml"))
{
@@ -527,10 +532,12 @@ void TestPrintWidget::onFileOpen(QString filePath,bool insertFlag){
//qDebug() << QString::fromLocal8Bit("属性:Version(%1)").arg(strVersion);
}
parseVbfile(reader);
parseVbfile(reader, reviewFlag);
}
break;
}
}
case QXmlStreamReader::EndDocument: { //*/*/ 结束文档
//qDebug() << QString::fromLocal8Bit("********** 结束文档 ********** ");
break;
@@ -563,7 +570,7 @@ void TestPrintWidget::onFileOpen(QString filePath,bool insertFlag){
extern QStringList stringListRecive;
void TestPrintWidget::parseVbfile(QXmlStreamReader &reader) {
void TestPrintWidget::parseVbfile(QXmlStreamReader &reader, bool loadPrintSetting) {
// int textItemPosX;
// int textItemPosY;
// textItemPosX = picText->pos().x() - pPicScene->itemsBoundingRect().x();
@@ -605,7 +612,17 @@ void TestPrintWidget::parseVbfile(QXmlStreamReader &reader) {
}
else if(strElementName == "itemAttrs") {
itemAttrs = reader.attributes();
} else if(strElementName == "PrintSettings" && loadPrintSetting) {
// 加载打印设置
QXmlStreamAttributes attrs = reader.attributes();
PrintSettingModel model;
PrintSettingModel::loadFromXml(model, attrs);
m_printSetting->setModel(model);
m_printSetting->applyPrintSettingsToSysPara(false);
reader.skipCurrentElement();
}
} else if (reader.isEntityReference()) { // 实体引用
QString strName = reader.name().toString();
QString strText = reader.text().toString();
@@ -950,6 +967,27 @@ void TestPrintWidget::on_delButton_pressed()
}
}
void TestPrintWidget::setPrintSettingWidget(PrintSetting *wid)
{
if(!wid) {
qWarning() << "Empty PrintSetting object pointer";
return;
}
if(m_printSetting) {
m_printSetting->disconnect(this);
m_printSetting = nullptr;
}
m_printSetting = wid;
connect(m_printSetting, &PrintSetting::sendButtonClickedSignal, this, [this](int i) {
if(i == 2) {
saveFile();
LogInfo::setRunStatusText("Save print setting.");
}
});
}
bool TestPrintWidget::eventFilter(QObject *watched, QEvent *event) {
// 只处理 graphicsView 的事件
if (watched == ui.graphicsView) {
@@ -1071,16 +1109,16 @@ void TestPrintWidget::onSceneFocusedItemPosChanged(QPoint p)
ui.m_lblY->setText(QString::asprintf("Y:%d", p.y()));
}
void TestPrintWidget::on_newfileButton_pressed(){
void TestPrintWidget::on_newfileButton_pressed()
{
// if (maybeSave()) {
pPicScene->clear();
pViewer->viewport()->update();
xmlfileName = "";
pPicScene->clear();
pViewer->viewport()->update();
xmlfileName = "";
// TODO:: 新建文件的入口
// TODO:: 新建文件的入口
sendButtonClickedSignal(21); //新建文件完成
sendButtonClickedSignal(21); //新建文件完成
}
void TestPrintWidget::slt_BarCodeItemDone()