aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArisotura <thetotalworm@gmail.com>2019-02-21 03:06:37 +0100
committerArisotura <thetotalworm@gmail.com>2019-02-21 03:06:37 +0100
commitf9822cdd44636d01112f1f7bc3774487ba051995 (patch)
tree243383121ce7438980a2f4e338bb482db232f7ec
parent023a1ba200009eb9f462625597b508cd4fffa0da (diff)
save LAN settings
-rw-r--r--src/Config.cpp4
-rw-r--r--src/Config.h2
-rw-r--r--src/libui_sdl/DlgWifiSettings.cpp20
3 files changed, 25 insertions, 1 deletions
diff --git a/src/Config.cpp b/src/Config.cpp
index 9fd3eb8..bf010dc 100644
--- a/src/Config.cpp
+++ b/src/Config.cpp
@@ -54,6 +54,8 @@ int DirectBoot;
int Threaded3D;
int SocketBindAnyAddr;
+char LANDevice[128];
+int DirectLAN;
int SavestateRelocSRAM;
@@ -125,6 +127,8 @@ ConfigEntry ConfigFile[] =
{"Threaded3D", 0, &Threaded3D, 1, NULL, 0},
{"SockBindAnyAddr", 0, &SocketBindAnyAddr, 0, NULL, 0},
+ {"LANDevice", 1, LANDevice, 0, "", 127},
+ {"DirectLAN", 0, &DirectLAN, 0, NULL, 0},
{"SavStaRelocSRAM", 0, &SavestateRelocSRAM, 0, NULL, 0},
diff --git a/src/Config.h b/src/Config.h
index 68ef9d1..701ea41 100644
--- a/src/Config.h
+++ b/src/Config.h
@@ -59,6 +59,8 @@ extern int DirectBoot;
extern int Threaded3D;
extern int SocketBindAnyAddr;
+extern char LANDevice[128];
+extern int DirectLAN;
extern int SavestateRelocSRAM;
diff --git a/src/libui_sdl/DlgWifiSettings.cpp b/src/libui_sdl/DlgWifiSettings.cpp
index c94f1db..4874c98 100644
--- a/src/libui_sdl/DlgWifiSettings.cpp
+++ b/src/libui_sdl/DlgWifiSettings.cpp
@@ -53,6 +53,7 @@ void UpdateAdapterInfo()
{
int sel = uiComboboxSelected(cmAdapterList);
if (sel < 0 || sel >= LAN::NumAdapters) return;
+ if (LAN::NumAdapters < 1) return;
LAN::AdapterData* adapter = &LAN::Adapters[sel];
char tmp[64];
@@ -98,6 +99,19 @@ void OnCancel(uiButton* btn, void* blarg)
void OnOk(uiButton* btn, void* blarg)
{
Config::SocketBindAnyAddr = uiCheckboxChecked(cbBindAnyAddr);
+ Config::DirectLAN = uiCheckboxChecked(cbDirectLAN);
+
+ int sel = uiComboboxSelected(cmAdapterList);
+ if (sel < 0 || sel >= LAN::NumAdapters) sel = 0;
+ if (LAN::NumAdapters < 1)
+ {
+ Config::LANDevice[0] = '\0';
+ }
+ else
+ {
+ strncpy(Config::LANDevice, LAN::Adapters[sel].DeviceName, 127);
+ Config::LANDevice[127] = '\0';
+ }
Config::Save();
@@ -193,11 +207,15 @@ void Open()
LAN::AdapterData* adapter = &LAN::Adapters[i];
uiComboboxAppend(cmAdapterList, adapter->FriendlyName);
+
+ if (!strncmp(adapter->DeviceName, Config::LANDevice, 128))
+ sel = i;
}
- // TODO: select the right one!
uiComboboxSetSelected(cmAdapterList, sel);
UpdateAdapterInfo();
+ uiCheckboxSetChecked(cbDirectLAN, Config::DirectLAN);
+
uiControlShow(uiControl(win));
}