aboutsummaryrefslogtreecommitdiff
path: root/src/libui_sdl
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 /src/libui_sdl
parent023a1ba200009eb9f462625597b508cd4fffa0da (diff)
save LAN settings
Diffstat (limited to 'src/libui_sdl')
-rw-r--r--src/libui_sdl/DlgWifiSettings.cpp20
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));
}