Manager: Fix 86B_CD 3.50 and 8x CD-ROM speed not showing in details pane

This commit is contained in:
Alexander Babikov
2025-09-13 19:11:01 +05:00
parent 43bbe351fc
commit b351811d65

View File

@@ -725,7 +725,7 @@ VMManagerSystem::setupVars() {
} }
static auto floppy_match = QRegularExpression("fdd_\\d\\d_type", QRegularExpression::CaseInsensitiveOption); static auto floppy_match = QRegularExpression("fdd_\\d\\d_type", QRegularExpression::CaseInsensitiveOption);
static auto cdrom_match = QRegularExpression("cdrom_\\d\\d_type", QRegularExpression::CaseInsensitiveOption); static auto cdrom_match = QRegularExpression("cdrom_\\d\\d_parameters", QRegularExpression::CaseInsensitiveOption);
for(const auto& key: floppy_cdrom_config.keys()) { for(const auto& key: floppy_cdrom_config.keys()) {
if(key.contains(floppy_match)) { if(key.contains(floppy_match)) {
// auto device_number = key.split("_").at(1); // auto device_number = key.split("_").at(1);
@@ -741,22 +741,23 @@ VMManagerSystem::setupVars() {
} }
if(key.contains(cdrom_match)) { if(key.contains(cdrom_match)) {
auto device_number = key.split("_").at(1); auto device_number = key.split("_").at(1);
auto cdrom_internal_name = QString(floppy_cdrom_config[key]); auto cdrom_parameters = QString(floppy_cdrom_config[key]);
auto cdrom_bus = cdrom_parameters.split(",").at(1).trimmed().toUpper();
auto cdrom_type_key = QString("cdrom_%1_type").arg(device_number);
auto cdrom_internal_name = QString(floppy_cdrom_config[cdrom_type_key]);
if (cdrom_internal_name.isEmpty())
cdrom_internal_name = "86cd";
auto cdrom_type = cdrom_get_from_internal_name(cdrom_internal_name.toUtf8().data()); auto cdrom_type = cdrom_get_from_internal_name(cdrom_internal_name.toUtf8().data());
auto cdrom_speed_key = QString("cdrom_%1_speed").arg(device_number); auto cdrom_speed_key = QString("cdrom_%1_speed").arg(device_number);
auto cdrom_parameters_key = QString("cdrom_%1_parameters").arg(device_number);
auto cdrom_speed = QString(floppy_cdrom_config[cdrom_speed_key]); auto cdrom_speed = QString(floppy_cdrom_config[cdrom_speed_key]);
auto cdrom_parameters = QString(floppy_cdrom_config[cdrom_parameters_key]); if (cdrom_speed.isEmpty())
auto cdrom_bus = cdrom_parameters.split(",").at(1).trimmed().toUpper(); cdrom_speed = "8";
if(cdrom_type != -1) { if ((cdrom_bus != "NONE") && (cdrom_type != -1)) {
if(!cdrom_speed.isEmpty()) { cdrom_speed = QString("%1x ").arg(cdrom_speed);
cdrom_speed = QString("%1x ").arg(cdrom_speed); cdrom_bus = QString(" (%1)").arg(cdrom_bus);
}
if(!cdrom_bus.isEmpty()) {
cdrom_bus = QString(" (%1)").arg(cdrom_bus);
}
cdromDevices.append(QString("%1%2 %3 %4%5").arg(cdrom_speed, cdrom_drive_types[cdrom_type].vendor, cdrom_drive_types[cdrom_type].model, cdrom_drive_types[cdrom_type].revision, cdrom_bus)); cdromDevices.append(QString("%1%2 %3 %4%5").arg(cdrom_speed, cdrom_drive_types[cdrom_type].vendor, cdrom_drive_types[cdrom_type].model, cdrom_drive_types[cdrom_type].revision, cdrom_bus));
} }
} }