diff options
author | Arisotura <thetotalworm@gmail.com> | 2019-02-21 03:06:37 +0100 |
---|---|---|
committer | Arisotura <thetotalworm@gmail.com> | 2019-02-21 03:06:37 +0100 |
commit | f9822cdd44636d01112f1f7bc3774487ba051995 (patch) | |
tree | 243383121ce7438980a2f4e338bb482db232f7ec /src/libui_sdl | |
parent | 023a1ba200009eb9f462625597b508cd4fffa0da (diff) |
save LAN settings
Diffstat (limited to 'src/libui_sdl')
-rw-r--r-- | src/libui_sdl/DlgWifiSettings.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
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)); } |