Serial Passthrough
This commit is contained in:
@@ -27,6 +27,7 @@ extern "C" {
|
||||
#include <86box/machine.h>
|
||||
#include <86box/lpt.h>
|
||||
#include <86box/serial.h>
|
||||
#include <86box/serial_passthrough.h>
|
||||
}
|
||||
|
||||
#include "qt_deviceconfig.hpp"
|
||||
@@ -66,6 +67,15 @@ SettingsPorts::SettingsPorts(QWidget *parent)
|
||||
auto *checkBox = findChild<QCheckBox *>(QString("checkBoxSerial%1").arg(i + 1));
|
||||
checkBox->setChecked(com_ports[i].enabled > 0);
|
||||
}
|
||||
|
||||
ui->checkBoxSerialPassThru1->setChecked(serial_passthrough_enabled[0]);
|
||||
ui->pushButtonSerialPassThru1->setEnabled(serial_passthrough_enabled[0]);
|
||||
ui->checkBoxSerialPassThru2->setChecked(serial_passthrough_enabled[1]);
|
||||
ui->pushButtonSerialPassThru2->setEnabled(serial_passthrough_enabled[1]);
|
||||
ui->checkBoxSerialPassThru3->setChecked(serial_passthrough_enabled[2]);
|
||||
ui->pushButtonSerialPassThru3->setEnabled(serial_passthrough_enabled[2]);
|
||||
ui->checkBoxSerialPassThru4->setChecked(serial_passthrough_enabled[3]);
|
||||
ui->pushButtonSerialPassThru4->setEnabled(serial_passthrough_enabled[3]);
|
||||
}
|
||||
|
||||
SettingsPorts::~SettingsPorts()
|
||||
@@ -87,6 +97,11 @@ SettingsPorts::save()
|
||||
auto *checkBox = findChild<QCheckBox *>(QString("checkBoxSerial%1").arg(i + 1));
|
||||
com_ports[i].enabled = checkBox->isChecked() ? 1 : 0;
|
||||
}
|
||||
|
||||
serial_passthrough_enabled[0] = ui->checkBoxSerialPassThru1->isChecked();
|
||||
serial_passthrough_enabled[1] = ui->checkBoxSerialPassThru2->isChecked();
|
||||
serial_passthrough_enabled[2] = ui->checkBoxSerialPassThru3->isChecked();
|
||||
serial_passthrough_enabled[3] = ui->checkBoxSerialPassThru4->isChecked();
|
||||
}
|
||||
|
||||
void
|
||||
@@ -112,3 +127,51 @@ SettingsPorts::on_checkBoxParallel4_stateChanged(int state)
|
||||
{
|
||||
ui->comboBoxLpt4->setEnabled(state == Qt::Checked);
|
||||
}
|
||||
|
||||
void
|
||||
SettingsPorts::on_pushButtonSerialPassThru1_clicked()
|
||||
{
|
||||
DeviceConfig::ConfigureDevice(&serial_passthrough_device, 1, qobject_cast<Settings *>(Settings::settings));
|
||||
}
|
||||
|
||||
void
|
||||
SettingsPorts::on_pushButtonSerialPassThru2_clicked()
|
||||
{
|
||||
DeviceConfig::ConfigureDevice(&serial_passthrough_device, 2, qobject_cast<Settings *>(Settings::settings));
|
||||
}
|
||||
|
||||
void
|
||||
SettingsPorts::on_pushButtonSerialPassThru3_clicked()
|
||||
{
|
||||
DeviceConfig::ConfigureDevice(&serial_passthrough_device, 3, qobject_cast<Settings *>(Settings::settings));
|
||||
}
|
||||
|
||||
void
|
||||
SettingsPorts::on_pushButtonSerialPassThru4_clicked()
|
||||
{
|
||||
DeviceConfig::ConfigureDevice(&serial_passthrough_device, 4, qobject_cast<Settings *>(Settings::settings));
|
||||
}
|
||||
|
||||
void
|
||||
SettingsPorts::on_checkBoxSerialPassThru1_clicked(bool checked)
|
||||
{
|
||||
ui->pushButtonSerialPassThru1->setEnabled(checked);
|
||||
}
|
||||
|
||||
void
|
||||
SettingsPorts::on_checkBoxSerialPassThru2_clicked(bool checked)
|
||||
{
|
||||
ui->pushButtonSerialPassThru2->setEnabled(checked);
|
||||
}
|
||||
|
||||
void
|
||||
SettingsPorts::on_checkBoxSerialPassThru3_clicked(bool checked)
|
||||
{
|
||||
ui->pushButtonSerialPassThru3->setEnabled(checked);
|
||||
}
|
||||
|
||||
void
|
||||
SettingsPorts::on_checkBoxSerialPassThru4_clicked(bool checked)
|
||||
{
|
||||
ui->pushButtonSerialPassThru4->setEnabled(checked);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user