Merge remote-tracking branch 'origin/master' into cdrom_changes
This commit is contained in:
@@ -259,6 +259,7 @@ MachineStatus::MachineStatus(QObject *parent)
|
||||
{
|
||||
d = std::make_unique<MachineStatus::States>(this);
|
||||
muteUnmuteAction = nullptr;
|
||||
soundMenu = nullptr;
|
||||
connect(refreshTimer, &QTimer::timeout, this, &MachineStatus::refreshIcons);
|
||||
refreshTimer->start(75);
|
||||
}
|
||||
|
||||
@@ -181,6 +181,9 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
status->setSoundGainAction(ui->actionSound_gain);
|
||||
ui->stackedWidget->setMouseTracking(true);
|
||||
statusBar()->setVisible(!hide_status_bar);
|
||||
#ifdef Q_OS_WINDOWS
|
||||
util::setWin11RoundedCorners(this->winId(), (hide_status_bar ? false : true));
|
||||
#endif
|
||||
statusBar()->setStyleSheet("QStatusBar::item {border: None; } QStatusBar QLabel { margin-right: 2px; margin-bottom: 1px; }");
|
||||
this->centralWidget()->setStyleSheet("background-color: black;");
|
||||
ui->toolBar->setVisible(!hide_tool_bar);
|
||||
@@ -799,6 +802,9 @@ MainWindow::initRendererMonitorSlot(int monitor_index)
|
||||
if (vid_resize == 2)
|
||||
secondaryRenderer->setFixedSize(fixed_size_x, fixed_size_y);
|
||||
secondaryRenderer->setWindowIcon(this->windowIcon());
|
||||
#ifdef Q_OS_WINDOWS
|
||||
util::setWin11RoundedCorners(secondaryRenderer->winId(), false);
|
||||
#endif
|
||||
if (show_second_monitors) {
|
||||
secondaryRenderer->show();
|
||||
if (window_remember) {
|
||||
@@ -1833,6 +1839,9 @@ MainWindow::on_actionHide_status_bar_triggered()
|
||||
hide_status_bar ^= 1;
|
||||
ui->actionHide_status_bar->setChecked(hide_status_bar);
|
||||
statusBar()->setVisible(!hide_status_bar);
|
||||
#ifdef Q_OS_WINDOWS
|
||||
util::setWin11RoundedCorners(main_window->winId(), (hide_status_bar ? false : true));
|
||||
#endif
|
||||
if (vid_resize >= 2) {
|
||||
setFixedSize(fixed_size_x, fixed_size_y + menuBar()->height() + (hide_status_bar ? 0 : statusBar()->height()) + (hide_tool_bar ? 0 : ui->toolBar->height()));
|
||||
} else {
|
||||
|
||||
@@ -153,6 +153,8 @@ Settings::Settings(QWidget *parent)
|
||||
&SettingsSound::onCurrentMachineChanged);
|
||||
connect(machine, &SettingsMachine::currentMachineChanged, network,
|
||||
&SettingsNetwork::onCurrentMachineChanged);
|
||||
connect(machine, &SettingsMachine::currentMachineChanged, ports,
|
||||
&SettingsPorts::onCurrentMachineChanged);
|
||||
connect(machine, &SettingsMachine::currentMachineChanged, storageControllers,
|
||||
&SettingsStorageControllers::onCurrentMachineChanged);
|
||||
connect(machine, &SettingsMachine::currentMachineChanged, otherPeripherals,
|
||||
|
||||
@@ -38,51 +38,7 @@ SettingsPorts::SettingsPorts(QWidget *parent)
|
||||
, ui(new Ui::SettingsPorts)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
for (int i = 0; i < PARALLEL_MAX; i++) {
|
||||
auto *cbox = findChild<QComboBox *>(QString("comboBoxLpt%1").arg(i + 1));
|
||||
auto *model = cbox->model();
|
||||
int c = 0;
|
||||
int selectedRow = 0;
|
||||
while (true) {
|
||||
const char *lptName = lpt_device_get_name(c);
|
||||
if (lptName == nullptr) {
|
||||
break;
|
||||
}
|
||||
|
||||
Models::AddEntry(model, tr(lptName), c);
|
||||
if (c == lpt_ports[i].device) {
|
||||
selectedRow = c;
|
||||
}
|
||||
c++;
|
||||
}
|
||||
cbox->setCurrentIndex(selectedRow);
|
||||
|
||||
auto *checkBox = findChild<QCheckBox *>(QString("checkBoxParallel%1").arg(i + 1));
|
||||
if (checkBox != NULL)
|
||||
checkBox->setChecked(lpt_ports[i].enabled > 0);
|
||||
if (cbox != NULL)
|
||||
cbox->setEnabled(lpt_ports[i].enabled > 0);
|
||||
}
|
||||
|
||||
for (int i = 0; i < SERIAL_MAX; i++) {
|
||||
auto *checkBox = findChild<QCheckBox *>(QString("checkBoxSerial%1").arg(i + 1));
|
||||
auto *checkBoxPass = findChild<QCheckBox *>(QString("checkBoxSerialPassThru%1").arg(i + 1));
|
||||
if (checkBox != NULL)
|
||||
checkBox->setChecked(com_ports[i].enabled > 0);
|
||||
if (checkBoxPass != NULL)
|
||||
checkBoxPass->setChecked(serial_passthrough_enabled[i]);
|
||||
}
|
||||
|
||||
ui->pushButtonSerialPassThru1->setEnabled(serial_passthrough_enabled[0]);
|
||||
ui->pushButtonSerialPassThru2->setEnabled(serial_passthrough_enabled[1]);
|
||||
ui->pushButtonSerialPassThru3->setEnabled(serial_passthrough_enabled[2]);
|
||||
ui->pushButtonSerialPassThru4->setEnabled(serial_passthrough_enabled[3]);
|
||||
#if 0
|
||||
ui->pushButtonSerialPassThru5->setEnabled(serial_passthrough_enabled[4]);
|
||||
ui->pushButtonSerialPassThru6->setEnabled(serial_passthrough_enabled[5]);
|
||||
ui->pushButtonSerialPassThru7->setEnabled(serial_passthrough_enabled[6]);
|
||||
#endif
|
||||
onCurrentMachineChanged(machine);
|
||||
}
|
||||
|
||||
SettingsPorts::~SettingsPorts()
|
||||
@@ -112,6 +68,51 @@ SettingsPorts::save()
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
SettingsPorts::onCurrentMachineChanged(int machineId)
|
||||
{
|
||||
this->machineId = machineId;
|
||||
|
||||
for (int i = 0; i < PARALLEL_MAX; i++) {
|
||||
auto *cbox = findChild<QComboBox *>(QString("comboBoxLpt%1").arg(i + 1));
|
||||
auto *model = cbox->model();
|
||||
int c = 0;
|
||||
int selectedRow = 0;
|
||||
while (true) {
|
||||
const char *lptName = lpt_device_get_name(c);
|
||||
if (lptName == nullptr) {
|
||||
break;
|
||||
}
|
||||
|
||||
Models::AddEntry(model, tr(lptName), c);
|
||||
if (c == lpt_ports[i].device) {
|
||||
selectedRow = c;
|
||||
}
|
||||
c++;
|
||||
}
|
||||
cbox->setCurrentIndex(selectedRow);
|
||||
|
||||
auto *checkBox = findChild<QCheckBox *>(QString("checkBoxParallel%1").arg(i + 1));
|
||||
if (checkBox != NULL)
|
||||
checkBox->setChecked(lpt_ports[i].enabled > 0);
|
||||
if (cbox != NULL)
|
||||
cbox->setEnabled(lpt_ports[i].enabled > 0);
|
||||
}
|
||||
|
||||
for (int i = 0; i < SERIAL_MAX; i++) {
|
||||
auto *checkBox = findChild<QCheckBox *>(QString("checkBoxSerial%1").arg(i + 1));
|
||||
auto *checkBoxPass = findChild<QCheckBox *>(QString("checkBoxSerialPassThru%1").arg(i + 1));
|
||||
auto *buttonPass = findChild<QPushButton *>(QString("pushButtonSerialPassThru%1").arg(i + 1));
|
||||
if (checkBox != NULL)
|
||||
checkBox->setChecked(com_ports[i].enabled > 0);
|
||||
if (checkBoxPass != NULL) {
|
||||
checkBoxPass->setEnabled(com_ports[i].enabled > 0);
|
||||
checkBoxPass->setChecked(serial_passthrough_enabled[i]);
|
||||
buttonPass->setEnabled((com_ports[i].enabled > 0) && serial_passthrough_enabled[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
SettingsPorts::on_checkBoxParallel1_stateChanged(int state)
|
||||
{
|
||||
@@ -136,6 +137,101 @@ SettingsPorts::on_checkBoxParallel4_stateChanged(int state)
|
||||
ui->comboBoxLpt4->setEnabled(state == Qt::Checked);
|
||||
}
|
||||
|
||||
void
|
||||
SettingsPorts::on_checkBoxSerial1_stateChanged(int state)
|
||||
{
|
||||
ui->checkBoxSerialPassThru1->setEnabled(state == Qt::Checked);
|
||||
ui->pushButtonSerialPassThru1->setEnabled((state == Qt::Checked) && ui->checkBoxSerialPassThru1->isChecked());
|
||||
}
|
||||
|
||||
void
|
||||
SettingsPorts::on_checkBoxSerial2_stateChanged(int state)
|
||||
{
|
||||
ui->checkBoxSerialPassThru2->setEnabled(state == Qt::Checked);
|
||||
ui->pushButtonSerialPassThru2->setEnabled((state == Qt::Checked) && ui->checkBoxSerialPassThru2->isChecked());
|
||||
}
|
||||
|
||||
void
|
||||
SettingsPorts::on_checkBoxSerial3_stateChanged(int state)
|
||||
{
|
||||
ui->checkBoxSerialPassThru3->setEnabled(state == Qt::Checked);
|
||||
ui->pushButtonSerialPassThru3->setEnabled((state == Qt::Checked) && ui->checkBoxSerialPassThru3->isChecked());
|
||||
}
|
||||
|
||||
void
|
||||
SettingsPorts::on_checkBoxSerial4_stateChanged(int state)
|
||||
{
|
||||
ui->checkBoxSerialPassThru4->setEnabled(state == Qt::Checked);
|
||||
ui->pushButtonSerialPassThru4->setEnabled((state == Qt::Checked) && ui->checkBoxSerialPassThru4->isChecked());
|
||||
}
|
||||
|
||||
#if 0
|
||||
void
|
||||
SettingsPorts::on_checkBoxSerial5_stateChanged(int state)
|
||||
{
|
||||
ui->checkBoxSerialPassThru5->setEnabled(state == Qt::Checked);
|
||||
ui->pushButtonSerialPassThru5->setEnabled((state == Qt::Checked) && ui->checkBoxSerialPassThru5->isChecked());
|
||||
}
|
||||
|
||||
void
|
||||
SettingsPorts::on_checkBoxSerial6_stateChanged(int state)
|
||||
{
|
||||
ui->checkBoxSerialPassThru6->setEnabled(state == Qt::Checked);
|
||||
ui->pushButtonSerialPassThru6->setEnabled((state == Qt::Checked) && ui->checkBoxSerialPassThru6->isChecked());
|
||||
}
|
||||
|
||||
void
|
||||
SettingsPorts::on_checkBoxSerial7_stateChanged(int state)
|
||||
{
|
||||
ui->checkBoxSerialPassThru7->setEnabled(state == Qt::Checked);
|
||||
ui->pushButtonSerialPassThru7->setEnabled((state == Qt::Checked) && ui->checkBoxSerialPassThru7->isChecked());
|
||||
}
|
||||
#endif
|
||||
|
||||
void
|
||||
SettingsPorts::on_checkBoxSerialPassThru1_stateChanged(int state)
|
||||
{
|
||||
ui->pushButtonSerialPassThru1->setEnabled(state == Qt::Checked);
|
||||
}
|
||||
|
||||
void
|
||||
SettingsPorts::on_checkBoxSerialPassThru2_stateChanged(int state)
|
||||
{
|
||||
ui->pushButtonSerialPassThru2->setEnabled(state == Qt::Checked);
|
||||
}
|
||||
|
||||
void
|
||||
SettingsPorts::on_checkBoxSerialPassThru3_stateChanged(int state)
|
||||
{
|
||||
ui->pushButtonSerialPassThru3->setEnabled(state == Qt::Checked);
|
||||
}
|
||||
|
||||
void
|
||||
SettingsPorts::on_checkBoxSerialPassThru4_stateChanged(int state)
|
||||
{
|
||||
ui->pushButtonSerialPassThru4->setEnabled(state == Qt::Checked);
|
||||
}
|
||||
|
||||
#if 0
|
||||
void
|
||||
SettingsPorts::on_checkBoxSerialPassThru5_stateChanged(int state)
|
||||
{
|
||||
ui->pushButtonSerialPassThru5->setEnabled(state == Qt::Checked);
|
||||
}
|
||||
|
||||
void
|
||||
SettingsPorts::on_checkBoxSerialPassThru6_stateChanged(int state)
|
||||
{
|
||||
ui->pushButtonSerialPassThru6->setEnabled(state == Qt::Checked);
|
||||
}
|
||||
|
||||
void
|
||||
SettingsPorts::on_checkBoxSerialPassThru7_stateChanged(int state)
|
||||
{
|
||||
ui->pushButtonSerialPassThru7->setEnabled(state == Qt::Checked);
|
||||
}
|
||||
#endif
|
||||
|
||||
void
|
||||
SettingsPorts::on_pushButtonSerialPassThru1_clicked()
|
||||
{
|
||||
@@ -179,47 +275,3 @@ SettingsPorts::on_pushButtonSerialPassThru7_clicked()
|
||||
DeviceConfig::ConfigureDevice(&serial_passthrough_device, 7, qobject_cast<Settings *>(Settings::settings));
|
||||
}
|
||||
#endif
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
#if 0
|
||||
void
|
||||
SettingsPorts::on_checkBoxSerialPassThru5_clicked(bool checked)
|
||||
{
|
||||
ui->pushButtonSerialPassThru5->setEnabled(checked);
|
||||
}
|
||||
|
||||
void
|
||||
SettingsPorts::on_checkBoxSerialPassThru6_clicked(bool checked)
|
||||
{
|
||||
ui->pushButtonSerialPassThru6->setEnabled(checked);
|
||||
}
|
||||
|
||||
void
|
||||
SettingsPorts::on_checkBoxSerialPassThru7_clicked(bool checked)
|
||||
{
|
||||
ui->pushButtonSerialPassThru7->setEnabled(checked);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -16,36 +16,47 @@ public:
|
||||
|
||||
void save();
|
||||
|
||||
#if 0
|
||||
private slots:
|
||||
void on_checkBoxSerialPassThru7_clicked(bool checked);
|
||||
void on_checkBoxSerialPassThru6_clicked(bool checked);
|
||||
void on_checkBoxSerialPassThru5_clicked(bool checked);
|
||||
#endif
|
||||
void on_checkBoxSerialPassThru4_clicked(bool checked);
|
||||
void on_checkBoxSerialPassThru3_clicked(bool checked);
|
||||
void on_checkBoxSerialPassThru2_clicked(bool checked);
|
||||
void on_checkBoxSerialPassThru1_clicked(bool checked);
|
||||
public slots:
|
||||
void onCurrentMachineChanged(int machineId);
|
||||
|
||||
private slots:
|
||||
void on_checkBoxParallel1_stateChanged(int state);
|
||||
void on_checkBoxParallel2_stateChanged(int state);
|
||||
void on_checkBoxParallel3_stateChanged(int state);
|
||||
void on_checkBoxParallel4_stateChanged(int state);
|
||||
|
||||
void on_checkBoxSerial1_stateChanged(int state);
|
||||
void on_checkBoxSerial2_stateChanged(int state);
|
||||
void on_checkBoxSerial3_stateChanged(int state);
|
||||
void on_checkBoxSerial4_stateChanged(int state);
|
||||
#if 0
|
||||
void on_pushButtonSerialPassThru7_clicked();
|
||||
void on_pushButtonSerialPassThru6_clicked();
|
||||
void on_pushButtonSerialPassThru5_clicked();
|
||||
void on_checkBoxSerial5_stateChanged(int state);
|
||||
void on_checkBoxSerial6_stateChanged(int state);
|
||||
void on_checkBoxSerial7_stateChanged(int state);
|
||||
#endif
|
||||
void on_pushButtonSerialPassThru4_clicked();
|
||||
void on_pushButtonSerialPassThru3_clicked();
|
||||
void on_pushButtonSerialPassThru2_clicked();
|
||||
void on_checkBoxSerialPassThru1_stateChanged(int state);
|
||||
void on_checkBoxSerialPassThru2_stateChanged(int state);
|
||||
void on_checkBoxSerialPassThru3_stateChanged(int state);
|
||||
void on_checkBoxSerialPassThru4_stateChanged(int state);
|
||||
#if 0
|
||||
void on_checkBoxSerialPassThru5_stateChanged(int state);
|
||||
void on_checkBoxSerialPassThru6_stateChanged(int state);
|
||||
void on_checkBoxSerialPassThru7_stateChanged(int state);
|
||||
#endif
|
||||
|
||||
void on_pushButtonSerialPassThru1_clicked();
|
||||
|
||||
private slots:
|
||||
void on_checkBoxParallel4_stateChanged(int arg1);
|
||||
void on_checkBoxParallel3_stateChanged(int arg1);
|
||||
void on_checkBoxParallel2_stateChanged(int arg1);
|
||||
void on_checkBoxParallel1_stateChanged(int arg1);
|
||||
void on_pushButtonSerialPassThru2_clicked();
|
||||
void on_pushButtonSerialPassThru3_clicked();
|
||||
void on_pushButtonSerialPassThru4_clicked();
|
||||
#if 0
|
||||
void on_pushButtonSerialPassThru5_clicked();
|
||||
void on_pushButtonSerialPassThru6_clicked();
|
||||
void on_pushButtonSerialPassThru7_clicked();
|
||||
#endif
|
||||
|
||||
private:
|
||||
Ui::SettingsPorts *ui;
|
||||
int machineId = 0;
|
||||
};
|
||||
|
||||
#endif // QT_SETTINGSPORTS_HPP
|
||||
|
||||
@@ -26,6 +26,19 @@
|
||||
#include <QUuid>
|
||||
#include "qt_util.hpp"
|
||||
|
||||
#ifdef Q_OS_WINDOWS
|
||||
# include <dwmapi.h>
|
||||
# ifndef DWMWA_WINDOW_CORNER_PREFERENCE
|
||||
# define DWMWA_WINDOW_CORNER_PREFERENCE 33
|
||||
# endif
|
||||
# ifndef DWMWCP_DEFAULT
|
||||
# define DWMWCP_DEFAULT 0
|
||||
# endif
|
||||
# ifndef DWMWCP_DONOTROUND
|
||||
# define DWMWCP_DONOTROUND 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
extern "C" {
|
||||
#include <86box/86box.h>
|
||||
#include <86box/config.h>
|
||||
@@ -48,6 +61,15 @@ screenOfWidget(QWidget *widget)
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef Q_OS_WINDOWS
|
||||
void
|
||||
setWin11RoundedCorners(WId hwnd, bool enable)
|
||||
{
|
||||
auto cornerPreference = (enable ? DWMWCP_DEFAULT : DWMWCP_DONOTROUND);
|
||||
DwmSetWindowAttribute((HWND) hwnd, DWMWA_WINDOW_CORNER_PREFERENCE, (LPCVOID) &cornerPreference, sizeof(cornerPreference));
|
||||
}
|
||||
#endif
|
||||
|
||||
QString
|
||||
DlgFilter(std::initializer_list<QString> extensions, bool last)
|
||||
{
|
||||
|
||||
@@ -13,6 +13,9 @@ static constexpr auto UUID_MIN_LENGTH = 36;
|
||||
QString DlgFilter(std::initializer_list<QString> extensions, bool last = false);
|
||||
/* Returns screen the widget is on */
|
||||
QScreen *screenOfWidget(QWidget *widget);
|
||||
#ifdef Q_OS_WINDOWS
|
||||
void setWin11RoundedCorners(WId hwnd, bool enable);
|
||||
#endif
|
||||
QString currentUuid();
|
||||
void storeCurrentUuid();
|
||||
bool compareUuid();
|
||||
|
||||
Reference in New Issue
Block a user