diff --git a/mainwindow.cpp b/mainwindow.cpp index 3f65f46..957023f 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -116,7 +116,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") + "_a4a8"; + QString Version = "V1.0_" + buildDate.toString("yyyyMMdd") + "_0479"; ui->label_version->setText(Version); } @@ -941,11 +941,33 @@ void MainWindow::CopySubCard(int slot){ QMessageBox::warning(this, QStringLiteral("警告"), QStringLiteral("请选择相同的板卡类型!")); return ; } + ConfigMgr::Instance()->RemoveCard(base_ptr_new); + } + if(base_ptr_old->card_type_ == kCardVibSingle){ + std::shared_ptr vib_data_new = std::make_shared(); + std::shared_ptr vib_data_old = std::dynamic_pointer_cast(base_ptr_old); + *vib_data_new = *vib_data_old; + vib_data_new->slot_ = value; + vib_data_new->relative_number = value; + ConfigMgr::Instance()->AddCard(vib_data_new); + ConfigMgr::Instance()->card_type_[value - 1] = kCardVibSingle; + }else if(base_ptr_old->card_type_ == kCardSpeedSingle){ + std::shared_ptr speed_data_new = std::make_shared(); + std::shared_ptr speed_data_old = std::dynamic_pointer_cast(base_ptr_old); + *speed_data_new = *speed_data_old; + speed_data_new->slot_ = value; + speed_data_new->relative_number = value; + ConfigMgr::Instance()->AddCard(speed_data_new); + ConfigMgr::Instance()->card_type_[value - 1] = kCardSpeedSingle; + }else if(base_ptr_old->card_type_ == kCardKeyphaseSingle){ + std::shared_ptr keyphase_data_new = std::make_shared(); + std::shared_ptr keyphase_data_old = std::dynamic_pointer_cast(base_ptr_old); + *keyphase_data_new = *keyphase_data_old; + keyphase_data_new->slot_ = value; + keyphase_data_new->relative_number = value; + ConfigMgr::Instance()->AddCard(keyphase_data_new); + ConfigMgr::Instance()->card_type_[value - 1] = kCardKeyphaseSingle; } - std::shared_ptr vib_data = std::dynamic_pointer_cast(base_ptr_old); - vib_data->slot_ = value; - vib_data->relative_number = value; - ConfigMgr::Instance()->AddCard(vib_data); QList buttonList = btnGroup_slot->buttons(); for (int i = 1; i < buttonList.count(); i++) { if(i == value){