修复状态机的部分异常、计数器编辑与预览更新、修复时间、轮班图元的高度多一行的问题

This commit is contained in:
2026-09-09 14:31:55 +08:00
parent 84e20a440c
commit 831fc0d639
18 changed files with 271 additions and 768 deletions
+28 -16
View File
@@ -447,6 +447,20 @@ void TestPrintWidget::openWorkFile(QString filePath){
m_printSetting->setModel(m_printSettingModel);
}
for(auto item : pPicScene->items()) {
auto txtItem = dynamic_cast<PicTextItem*>(item);
if(!txtItem || txtItem->sourceType() != SourceType::COUNTER)
continue;
auto cntItem = dynamic_cast<PicCounterItem*>(item);
if(!cntItem)
continue;
auto currValue = cntItem->counterType() == COUNTER_TYPE_1 ?
m_printSettingModel.cnt1Settings.currValue : m_printSettingModel.cnt2Settings.currValue;
cntItem->setCounter(cntItem->counterType(), cntItem->digitalNum(), currValue);
}
qDebug() << "xmlfileName:" << xmlfileName;
}
@@ -553,7 +567,9 @@ void TestPrintWidget::pasteCopiedLayer()
if (dstCounter) {
dstCounter->setCustomFont(m_copiedCounterFontFamily);
dstCounter->setLetterSpace(m_copiedCounterLetterSpace);
dstCounter->setCounter(static_cast<COUNTER_TYPE>(m_copiedCounterType), m_copiedCounterDigitalNum);
int displayNum = static_cast<COUNTER_TYPE>(m_copiedCounterType) == COUNTER_TYPE_1 ? m_printSettingModel.cnt1Settings.currValue : m_printSettingModel.cnt2Settings.currValue;
dstCounter->setCounter(static_cast<COUNTER_TYPE>(m_copiedCounterType), m_copiedCounterDigitalNum, displayNum);
}
}
@@ -780,13 +796,8 @@ void TestPrintWidget::onItemEditorAccepted()
{
if(!itemEditor || !itemEditor->currentItem()) return;
if(itemEditor->currentItem()->source() == SourceType::UNKNOWN) {
// Nothing....
}
else {
PicTextItem* textItem = itemEditor->currentItem();
textItem->applyModify();
}
PicTextItem* textItem = itemEditor->currentItem();
textItem->applyModify();
}
void TestPrintWidget::onSceneFocusedItemPosChanged(QPoint p)
@@ -1069,8 +1080,9 @@ void TestPrintWidget::addCounterItem(CounterViewModel vm, QSharedPointer<QFont>
if(item->sourceType() == SourceType::COUNTER) {
auto counterItem = dynamic_cast<PicCounterItem*>(item);
counterItem->setCounter(static_cast<COUNTER_TYPE>(vm.counterType), vm.digitalNum);
counterItem->setLetterSpace(int(font.letterSpacing()));
int displayNum = static_cast<COUNTER_TYPE>(vm.counterType) == COUNTER_TYPE_1 ? vm.cnt1Settings.currValue : vm.cnt2Settings.currValue;
counterItem->setCounter(static_cast<COUNTER_TYPE>(vm.counterType), vm.digitalNum, displayNum);
if(vm.enbCustomCharWidth) {
counterItem->setCharWidth(vm.charWidth);
}
@@ -1088,18 +1100,18 @@ void TestPrintWidget::addCounterItem(CounterViewModel vm, QSharedPointer<QFont>
pPicScene->clearSelection();
PicCounterItem* item = new PicCounterItem();
pPicScene->addItem(item);
item->setCounter(static_cast<COUNTER_TYPE>(vm.counterType), vm.digitalNum);
item->setLetterSpace(static_cast<int>(font.letterSpacing()));
int displayNum = static_cast<COUNTER_TYPE>(vm.counterType) == COUNTER_TYPE_1 ? vm.cnt1Settings.currValue : vm.cnt2Settings.currValue;
item->setCounter(static_cast<COUNTER_TYPE>(vm.counterType), vm.digitalNum, displayNum);
auto boundingRect = pPicScene->itemsBoundingRect();
int y = sysPara->para.canvasHeight - item->boundingRect().height();
item->setPos(x_item, y);
x_item = x_item + boundingRect.right() + 5;
item->setSelected(true);
item->setLetterSpace(static_cast<int>(font.letterSpacing()));
// item->setCustomFont(font.family());
if(vm.enbCustomCharWidth) {
item->setCharWidth(vm.charWidth);
}
m_printSettingModel.cnt1Settings = vm.cnt1Settings;
m_printSettingModel.cnt2Settings = vm.cnt2Settings;
}