diff --git a/src/frontend/qt_sdl/AudioSettingsDialog.cpp b/src/frontend/qt_sdl/AudioSettingsDialog.cpp
index dc07d3d2..4beefaf3 100644
--- a/src/frontend/qt_sdl/AudioSettingsDialog.cpp
+++ b/src/frontend/qt_sdl/AudioSettingsDialog.cpp
@@ -74,6 +74,10 @@ AudioSettingsDialog::AudioSettingsDialog(QWidget* parent) : QDialog(parent), ui(
ui->lblInstanceNum->setText(QString("Configuring settings for instance %1").arg(inst+1));
ui->cbInterpolation->setEnabled(false);
ui->cbBitrate->setEnabled(false);
+ for (QAbstractButton* btn : grpMicMode->buttons())
+ btn->setEnabled(false);
+ ui->txtMicWavPath->setEnabled(false);
+ ui->btnMicWavBrowse->setEnabled(false);
}
else
ui->lblInstanceNum->hide();
diff --git a/src/frontend/qt_sdl/Config.cpp b/src/frontend/qt_sdl/Config.cpp
index 90a1e48b..27f182db 100644
--- a/src/frontend/qt_sdl/Config.cpp
+++ b/src/frontend/qt_sdl/Config.cpp
@@ -282,8 +282,8 @@ ConfigEntry ConfigFile[] =
{"AudioInterp", 0, &AudioInterp, 0, false},
{"AudioBitrate", 0, &AudioBitrate, 0, false},
{"AudioVolume", 0, &AudioVolume, 256, true},
- {"MicInputType", 0, &MicInputType, 1, true},
- {"MicWavPath", 2, &MicWavPath, (std::string)"", true},
+ {"MicInputType", 0, &MicInputType, 1, false},
+ {"MicWavPath", 2, &MicWavPath, (std::string)"", false},
{"LastROMFolder", 2, &LastROMFolder, (std::string)"", true},
@@ -302,7 +302,7 @@ ConfigEntry ConfigFile[] =
{"SavestatePath", 2, &SavestatePath, (std::string)"", true},
{"CheatFilePath", 2, &CheatFilePath, (std::string)"", true},
- {"EnableCheats", 1, &EnableCheats, false, false},
+ {"EnableCheats", 1, &EnableCheats, false, true},
{"MouseHide", 1, &MouseHide, false, false},
{"MouseHideSeconds", 0, &MouseHideSeconds, 5, false},
diff --git a/src/frontend/qt_sdl/LAN_PCap.cpp b/src/frontend/qt_sdl/LAN_PCap.cpp
index 57223eb8..86c218f1 100644
--- a/src/frontend/qt_sdl/LAN_PCap.cpp
+++ b/src/frontend/qt_sdl/LAN_PCap.cpp
@@ -114,6 +114,12 @@ bool TryLoadPCap(void* lib)
bool Init(bool open_adapter)
{
+ PCapAdapter = NULL;
+ PacketLen = 0;
+ RXNum = 0;
+
+ NumAdapters = 0;
+
// TODO: how to deal with cases where an adapter is unplugged or changes config??
if (!PCapLib)
{
@@ -142,12 +148,6 @@ bool Init(bool open_adapter)
}
}
- PCapAdapter = NULL;
- PacketLen = 0;
- RXNum = 0;
-
- NumAdapters = 0;
-
char errbuf[PCAP_ERRBUF_SIZE];
int ret;
diff --git a/src/frontend/qt_sdl/WifiSettingsDialog.cpp b/src/frontend/qt_sdl/WifiSettingsDialog.cpp
index 19cece6f..9bf265e9 100644
--- a/src/frontend/qt_sdl/WifiSettingsDialog.cpp
+++ b/src/frontend/qt_sdl/WifiSettingsDialog.cpp
@@ -50,12 +50,12 @@ WifiSettingsDialog::WifiSettingsDialog(QWidget* parent) : QDialog(parent), ui(ne
ui->setupUi(this);
setAttribute(Qt::WA_DeleteOnClose);
- LAN_Socket::Init();
haspcap = LAN_PCap::Init(false);
ui->rbDirectMode->setText("Direct mode (requires " PCAP_NAME " and ethernet connection)");
- ui->cbBindAnyAddr->setChecked(Config::SocketBindAnyAddr);
+ ui->lblAdapterMAC->setText("(none)");
+ ui->lblAdapterIP->setText("(none)");
int sel = 0;
for (int i = 0; i < LAN_PCap::NumAdapters; i++)
@@ -88,7 +88,6 @@ void WifiSettingsDialog::done(int r)
if (r == QDialog::Accepted)
{
- Config::SocketBindAnyAddr = ui->cbBindAnyAddr->isChecked();
Config::DirectLAN = ui->rbDirectMode->isChecked();
int sel = ui->cbxDirectAdapter->currentIndex();
diff --git a/src/frontend/qt_sdl/WifiSettingsDialog.ui b/src/frontend/qt_sdl/WifiSettingsDialog.ui
index 08970595..c1b2b8aa 100644
--- a/src/frontend/qt_sdl/WifiSettingsDialog.ui
+++ b/src/frontend/qt_sdl/WifiSettingsDialog.ui
@@ -7,7 +7,7 @@
0
0
572
- 273
+ 184
@@ -24,110 +24,82 @@
QLayout::SetFixedSize
-
-
-
- Local
+
+
+ <html><head/><body><p>Indirect mode uses libslirp. It requires no extra setup and is easy to use.</p></body></html>
+
+
+ Indirect mode (uses libslirp, recommended)
-
-
-
-
-
- <html><head/><body><p>Enabling this allows (theoretically) playing local multiplayer games over a local network. It may or may not help make for a better connection in general.</p></body></html>
-
-
- Bind socket to any address
-
-
-
-
-
-
-
- Online
+
+
+ <html><head/><body><p>Direct mode directly routes network traffic to the host network. It is the most reliable, but requires an ethernet connection.</p><p><br/></p><p>Non-direct mode uses a layer of emulation to get around this, but is more prone to problems.</p></body></html>
-
-
-
-
-
- Direct mode settings
+
+ Direct mode [TEXT PLACEHOLDER]
+
+
+
+ -
+
+
+ Direct mode settings
+
+
+
-
+
+
+ Network adapter:
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 300
+ 0
+
+
+
+ <html><head/><body><p>Selects the network adapter through which to route network traffic under direct mode.</p></body></html>
-
-
-
-
-
- Network adapter:
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 300
- 0
-
-
-
- <html><head/><body><p>Selects the network adapter through which to route network traffic under direct mode.</p></body></html>
-
-
-
- -
-
-
- MAC address:
-
-
-
- -
-
-
- [PLACEHOLDER]
-
-
-
- -
-
-
- IP address:
-
-
-
- -
-
-
- [PLACEHOLDER]
-
-
-
-
-
-
-
- <html><head/><body><p>Indirect mode uses libslirp. It requires no extra setup and is easy to use.</p></body></html>
-
+
- Indirect mode (uses libslirp, recommended)
+ MAC address:
+
+
+
+ -
+
+
+ [PLACEHOLDER]
-
-
-
- <html><head/><body><p>Direct mode directly routes network traffic to the host network. It is the most reliable, but requires an ethernet connection.</p><p><br/></p><p>Non-direct mode uses a layer of emulation to get around this, but is more prone to problems.</p></body></html>
-
+
- Direct mode [TEXT PLACEHOLDER]
+ IP address:
+
+
+
+ -
+
+
+ [PLACEHOLDER]
diff --git a/src/frontend/qt_sdl/main.cpp b/src/frontend/qt_sdl/main.cpp
index 986f2180..24da78e3 100644
--- a/src/frontend/qt_sdl/main.cpp
+++ b/src/frontend/qt_sdl/main.cpp
@@ -1501,35 +1501,26 @@ MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent)
{
QMenu* menu = menubar->addMenu("Config");
- //if (inst == 0)
- {
- actEmuSettings = menu->addAction("Emu settings");
- connect(actEmuSettings, &QAction::triggered, this, &MainWindow::onOpenEmuSettings);
+ actEmuSettings = menu->addAction("Emu settings");
+ connect(actEmuSettings, &QAction::triggered, this, &MainWindow::onOpenEmuSettings);
#ifdef __APPLE__
- QAction* actPreferences = menu->addAction("Preferences...");
- connect(actPreferences, &QAction::triggered, this, &MainWindow::onOpenEmuSettings);
- actPreferences->setMenuRole(QAction::PreferencesRole);
+ QAction* actPreferences = menu->addAction("Preferences...");
+ connect(actPreferences, &QAction::triggered, this, &MainWindow::onOpenEmuSettings);
+ actPreferences->setMenuRole(QAction::PreferencesRole);
#endif
- }
actInputConfig = menu->addAction("Input and hotkeys");
connect(actInputConfig, &QAction::triggered, this, &MainWindow::onOpenInputConfig);
- //if (inst == 0)
- {
- actVideoSettings = menu->addAction("Video settings");
- connect(actVideoSettings, &QAction::triggered, this, &MainWindow::onOpenVideoSettings);
- }
+ actVideoSettings = menu->addAction("Video settings");
+ connect(actVideoSettings, &QAction::triggered, this, &MainWindow::onOpenVideoSettings);
actAudioSettings = menu->addAction("Audio settings");
connect(actAudioSettings, &QAction::triggered, this, &MainWindow::onOpenAudioSettings);
- //if (inst == 0)
- {
- actWifiSettings = menu->addAction("Wifi settings");
- connect(actWifiSettings, &QAction::triggered, this, &MainWindow::onOpenWifiSettings);
- }
+ actWifiSettings = menu->addAction("Wifi settings");
+ connect(actWifiSettings, &QAction::triggered, this, &MainWindow::onOpenWifiSettings);
actFirmwareSettings = menu->addAction("Firmware settings");
connect(actFirmwareSettings, &QAction::triggered, this, &MainWindow::onOpenFirmwareSettings);
@@ -1771,6 +1762,17 @@ MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent)
actLimitFramerate->setChecked(Config::LimitFPS);
actAudioSync->setChecked(Config::AudioSync);
+
+ if (inst > 0)
+ {
+ actEmuSettings->setEnabled(false);
+ actVideoSettings->setEnabled(false);
+ actWifiSettings->setEnabled(false);
+
+#ifdef __APPLE__
+ actPreferences->setEnabled(false);
+#endif // __APPLE__
+ }
}
MainWindow::~MainWindow()
@@ -2794,12 +2796,6 @@ void MainWindow::onOpenWifiSettings()
void MainWindow::onWifiSettingsFinished(int res)
{
- if (Wifi::MPInited)
- {
- Platform::MP_DeInit();
- Platform::MP_Init();
- }
-
Platform::LAN_DeInit();
Platform::LAN_Init();