From a8bf857c6877679ff943ad9dbfba5aac1870ccae Mon Sep 17 00:00:00 2001 From: oy Date: Fri, 18 Mar 2011 19:03:13 +0100 Subject: improved server browser list resorting and made search work on IP addresses. Closes #482 --- src/game/client/components/menus_browser.cpp | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'src/game/client/components/menus_browser.cpp') diff --git a/src/game/client/components/menus_browser.cpp b/src/game/client/components/menus_browser.cpp index 756640c2..8c54afae 100644 --- a/src/game/client/components/menus_browser.cpp +++ b/src/game/client/components/menus_browser.cpp @@ -385,7 +385,9 @@ void CMenus::RenderServerbrowserServerList(CUIRect View) QuickSearch.VSplitLeft(5.0f, 0, &QuickSearch); QuickSearch.VSplitLeft(240.0f-w-22.0f, &QuickSearch, &Button); static float Offset = 0.0f; - DoEditBox(&g_Config.m_BrFilterString, &QuickSearch, g_Config.m_BrFilterString, sizeof(g_Config.m_BrFilterString), 12.0f, &Offset, false, CUI::CORNER_L); + if(DoEditBox(&g_Config.m_BrFilterString, &QuickSearch, g_Config.m_BrFilterString, sizeof(g_Config.m_BrFilterString), 12.0f, &Offset, false, CUI::CORNER_L)) + Client()->ServerBrowserUpdate(); + // clear button { static int s_ClearButton = 0; @@ -395,6 +397,7 @@ void CMenus::RenderServerbrowserServerList(CUIRect View) { g_Config.m_BrFilterString[0] = 0; UI()->SetActiveItem(&g_Config.m_BrFilterString); + Client()->ServerBrowserUpdate(); } } @@ -456,7 +459,8 @@ void CMenus::RenderServerbrowserFilters(CUIRect View) Button.VSplitRight(60.0f, 0, &Button); ServerFilter.HSplitTop(3.0f, 0, &ServerFilter); static float Offset = 0.0f; - DoEditBox(&g_Config.m_BrFilterGametype, &Button, g_Config.m_BrFilterGametype, sizeof(g_Config.m_BrFilterGametype), FontSize, &Offset); + if(DoEditBox(&g_Config.m_BrFilterGametype, &Button, g_Config.m_BrFilterGametype, sizeof(g_Config.m_BrFilterGametype), FontSize, &Offset)) + Client()->ServerBrowserUpdate(); { ServerFilter.HSplitTop(19.0f, &Button, &ServerFilter); @@ -472,6 +476,15 @@ void CMenus::RenderServerbrowserFilters(CUIRect View) g_Config.m_BrFilterPing = clamp(str_toint(aBuf), 0, 999); } + // server address + ServerFilter.HSplitTop(3.0f, 0, &ServerFilter); + ServerFilter.HSplitTop(19.0f, &Button, &ServerFilter); + UI()->DoLabelScaled(&Button, Localize("Server address:"), FontSize, -1); + Button.VSplitRight(60.0f, 0, &Button); + static float OffsetAddr = 0.0f; + if(DoEditBox(&g_Config.m_BrFilterServerAddress, &Button, g_Config.m_BrFilterServerAddress, sizeof(g_Config.m_BrFilterServerAddress), FontSize, &OffsetAddr)) + Client()->ServerBrowserUpdate(); + ServerFilter.HSplitBottom(5.0f, &ServerFilter, 0); ServerFilter.HSplitBottom(ms_ButtonHeight, &ServerFilter, &Button); static int s_ClearButton = 0; @@ -482,10 +495,12 @@ void CMenus::RenderServerbrowserFilters(CUIRect View) g_Config.m_BrFilterPw = 0; g_Config.m_BrFilterPing = 999; g_Config.m_BrFilterGametype[0] = 0; + g_Config.m_BrFilterServerAddress[0] = 0; g_Config.m_BrFilterCompatversion = 1; g_Config.m_BrFilterString[0] = 0; g_Config.m_BrFilterPure = 1; g_Config.m_BrFilterPureMap = 1; + Client()->ServerBrowserUpdate(); } } -- cgit 1.4.1