Manager: Show ISA RTC, memory and ROM cards in details pane
This commit is contained in:
@@ -67,6 +67,9 @@ VMManagerDetails::VMManagerDetails(QWidget *parent) :
|
||||
portsSection = new VMManagerDetailSection(tr("Ports", "Header for Input section in VM Manager Details"));
|
||||
ui->leftColumn->layout()->addWidget(portsSection);
|
||||
|
||||
otherSection = new VMManagerDetailSection(tr("Other devices", "Header for Other devices section in VM Manager Details"));
|
||||
ui->leftColumn->layout()->addWidget(otherSection);
|
||||
|
||||
// This is like adding a spacer
|
||||
leftColumnLayout->addStretch();
|
||||
|
||||
@@ -270,6 +273,11 @@ VMManagerDetails::updateConfig(VMManagerSystem *passed_sysconfig) {
|
||||
portsSection->addSection(tr("Serial ports"), passed_sysconfig->getDisplayValue(Display::Name::Serial));
|
||||
portsSection->addSection(tr("Parallel ports"), passed_sysconfig->getDisplayValue(Display::Name::Parallel));
|
||||
|
||||
// Other devices
|
||||
otherSection->clear();
|
||||
otherSection->addSection(tr("ISA RTC"), passed_sysconfig->getDisplayValue(Display::Name::IsaRtc));
|
||||
otherSection->addSection(tr("ISA RAM"), passed_sysconfig->getDisplayValue(Display::Name::IsaMem));
|
||||
otherSection->addSection(tr("ISA ROM"), passed_sysconfig->getDisplayValue(Display::Name::IsaRom));
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -55,6 +55,7 @@ private:
|
||||
VMManagerDetailSection *networkSection;
|
||||
VMManagerDetailSection *inputSection;
|
||||
VMManagerDetailSection *portsSection;
|
||||
VMManagerDetailSection *otherSection;
|
||||
|
||||
QFileInfoList screenshots;
|
||||
int screenshotIndex = 0;
|
||||
|
||||
@@ -59,6 +59,9 @@ extern "C" {
|
||||
#include <86box/fdc_ext.h>
|
||||
#include <86box/hdc.h>
|
||||
#include <86box/gameport.h>
|
||||
#include <86box/isartc.h>
|
||||
#include <86box/isamem.h>
|
||||
#include <86box/isarom.h>
|
||||
#include <86box/lpt.h>
|
||||
#include <86box/midi.h>
|
||||
#include <86box/network.h>
|
||||
@@ -532,6 +535,7 @@ VMManagerSystem::setupVars() {
|
||||
auto rdisk_mo_config = getCategory("Other removable devices");
|
||||
auto storage_config = getCategory("Storage controllers");
|
||||
auto ports_config = getCategory("Ports (COM & LPT)");
|
||||
auto other_config = getCategory("Other peripherals");
|
||||
// auto general_config = getCategory("General");
|
||||
// auto config_uuid = QString("Not set");
|
||||
// if(!general_config["uuid"].isEmpty()) {
|
||||
@@ -1017,6 +1021,47 @@ VMManagerSystem::setupVars() {
|
||||
display_table[Display::Name::Serial] = (serialFinal.empty() ? tr("None") : serialFinal.join(", "));
|
||||
display_table[Display::Name::Parallel] = (lptFinal.empty() ? tr("None") : lptFinal.join((hasLptDevices ? VMManagerDetailSection::sectionSeparator : ", ")));
|
||||
|
||||
// ISA RTC
|
||||
if (other_config.contains("isartc_type")) {
|
||||
auto isartc_internal_name = other_config["isartc_type"];
|
||||
auto isartc_dev = isartc_get_from_internal_name(isartc_internal_name.toUtf8().data());
|
||||
auto isartc_dev_name = DeviceConfig::DeviceName(isartc_get_device(isartc_dev), isartc_get_internal_name(isartc_dev), 0);
|
||||
display_table[Display::Name::IsaRtc] = isartc_dev_name;
|
||||
}
|
||||
|
||||
// ISA RAM
|
||||
QStringList IsaMemCards;
|
||||
static auto isamem_match = QRegularExpression("isamem\\d_type", QRegularExpression::CaseInsensitiveOption);
|
||||
for(const auto& key: other_config.keys()) {
|
||||
if(key.contains(isamem_match)) {
|
||||
auto device_number = QString(key.split("_").at(0).right(1).toInt() + 1);
|
||||
auto isamem_internal_name = QString(other_config[key]);
|
||||
auto isamem_id = isamem_get_from_internal_name(isamem_internal_name.toUtf8().data());
|
||||
auto isamem_device = isamem_get_device(isamem_id);
|
||||
auto isamem_name = DeviceConfig::DeviceName(isamem_device, isamem_get_internal_name(isamem_id), 0);
|
||||
if(!isamem_name.isEmpty()) {
|
||||
IsaMemCards.append(isamem_name);
|
||||
}
|
||||
}
|
||||
}
|
||||
display_table[Display::Name::IsaMem] = IsaMemCards.join(VMManagerDetailSection::sectionSeparator);
|
||||
|
||||
// ISA ROM
|
||||
QStringList IsaRomCards;
|
||||
static auto isarom_match = QRegularExpression("isarom\\d_type", QRegularExpression::CaseInsensitiveOption);
|
||||
for(const auto& key: other_config.keys()) {
|
||||
if(key.contains(isarom_match)) {
|
||||
auto device_number = QString(key.split("_").at(0).right(1).toInt() + 1);
|
||||
auto isarom_internal_name = QString(other_config[key]);
|
||||
auto isarom_id = isarom_get_from_internal_name(isarom_internal_name.toUtf8().data());
|
||||
auto isarom_device = isarom_get_device(isarom_id);
|
||||
auto isarom_name = DeviceConfig::DeviceName(isarom_device, isarom_get_internal_name(isarom_id), 0);
|
||||
if(!isarom_name.isEmpty()) {
|
||||
IsaRomCards.append(isarom_name);
|
||||
}
|
||||
}
|
||||
}
|
||||
display_table[Display::Name::IsaRom] = IsaRomCards.join(VMManagerDetailSection::sectionSeparator);
|
||||
}
|
||||
|
||||
bool
|
||||
|
||||
@@ -59,6 +59,9 @@ enum class Name {
|
||||
NIC,
|
||||
Keyboard,
|
||||
Mouse,
|
||||
IsaRtc,
|
||||
IsaMem,
|
||||
IsaRom,
|
||||
Unknown
|
||||
};
|
||||
Q_ENUM_NS(Name)
|
||||
|
||||
Reference in New Issue
Block a user