优化板卡复制,并添加高速电流的复制

This commit is contained in:
zhangsheng 2026-03-20 14:28:44 +08:00
parent f160454b82
commit abb9b7ccff

View File

@ -124,7 +124,7 @@ MainWindow::MainWindow(QWidget *parent)
//qInstallMessageHandler(messageHandler);
#endif
QDate buildDate = QLocale( QLocale::English ).toDate( QString(__DATE__).replace(" ", " 0"), "MMM dd yyyy");
QString Version = "V1.0_" + buildDate.toString("yyyyMMdd") + "_1704";
QString Version = "V1.0_" + buildDate.toString("yyyyMMdd") + "_baf5";
ui->label_version->setText(Version);
}
@ -998,6 +998,14 @@ void MainWindow::CopySubCard(int slot){
keyphase_data_new->relative_number = value;
ConfigMgr::Instance()->AddCard(keyphase_data_new);
ConfigMgr::Instance()->card_type_[value - 1] = kCardKeyphaseSingle;
}else if(base_ptr_old->card_type_ == kCardHighSpeedCurrent){
std::shared_ptr<HighSpeedCurrentData> current_data_new = std::make_shared<HighSpeedCurrentData>();
std::shared_ptr<HighSpeedCurrentData> current_data_old = std::dynamic_pointer_cast<HighSpeedCurrentData>(base_ptr_old);
*current_data_new = *current_data_old;
current_data_new->slot_ = value;
current_data_new->relative_number = value;
ConfigMgr::Instance()->AddCard(current_data_new);
ConfigMgr::Instance()->card_type_[value - 1] = kCardHighSpeedCurrent;
}
QList<QAbstractButton *> buttonList = btnGroup_slot->buttons();
for (int i = 1; i < buttonList.count(); i++) {
@ -1015,6 +1023,10 @@ void MainWindow::CopySubCard(int slot){
buttonList[i]->setText("转速");
break;
}
case kCardHighSpeedCurrent:{
buttonList[i]->setText("高速\n电流");
break;
}
case kCardRelaySingle:
case kCardRelaySingleNOK:
case kCardRelayTMRBackup:
@ -1052,9 +1064,23 @@ void MainWindow::MoveSubCard(int slot){
QMessageBox::warning(this, QStringLiteral("警告"), QStringLiteral("目标板卡非空!"));
return ;
}
std::shared_ptr<VibrationData> vib_data = std::dynamic_pointer_cast<VibrationData>(base_ptr_old);
vib_data->slot_ = value;
ConfigMgr::Instance()->AddCard(vib_data);
if(base_ptr_old->card_type_ == kCardVibSingle){
std::shared_ptr<VibrationData> vib_data = std::dynamic_pointer_cast<VibrationData>(base_ptr_old);
vib_data->slot_ = value;
ConfigMgr::Instance()->AddCard(vib_data);
}else if(base_ptr_old->card_type_ == kCardSpeedSingle){
std::shared_ptr<TachometerData> speed_data = std::dynamic_pointer_cast<TachometerData>(base_ptr_old);
speed_data->slot_ = value;
ConfigMgr::Instance()->AddCard(speed_data);
}else if(base_ptr_old->card_type_ == kCardKeyphaseSingle){
std::shared_ptr<KeyphaseData> keyphase_data = std::dynamic_pointer_cast<KeyphaseData>(base_ptr_old);
keyphase_data->slot_ = value;
ConfigMgr::Instance()->AddCard(keyphase_data);
}else if(base_ptr_old->card_type_ == kCardHighSpeedCurrent){
std::shared_ptr<HighSpeedCurrentData> current_data = std::dynamic_pointer_cast<HighSpeedCurrentData>(base_ptr_old);
current_data->slot_ = value;
ConfigMgr::Instance()->AddCard(current_data);
}
ConfigMgr::Instance()->RemoveCard(base_ptr_old);
QList<QAbstractButton *> buttonList = btnGroup_slot->buttons();
for (int i = 1; i < buttonList.count(); i++) {
@ -1072,6 +1098,10 @@ void MainWindow::MoveSubCard(int slot){
buttonList[i]->setText("转速");
break;
}
case kCardHighSpeedCurrent:{
buttonList[i]->setText("高速\n电流");
break;
}
case kCardRelaySingle:
case kCardRelaySingleNOK:
case kCardRelayTMRBackup: