Index: binaries/data/mods/public/gui/gamesetup/gamesetup.xml =================================================================== --- binaries/data/mods/public/gui/gamesetup/gamesetup.xml +++ binaries/data/mods/public/gui/gamesetup/gamesetup.xml @@ -188,14 +188,14 @@ - + - + submitChatInput(); autoCompleteNick(this, g_Autocomplete); - + Send submitChatInput(); Index: binaries/data/mods/public/gui/lobby/lobby.js =================================================================== --- binaries/data/mods/public/gui/lobby/lobby.js +++ binaries/data/mods/public/gui/lobby/lobby.js @@ -110,6 +110,16 @@ */ var g_Kicked = false; +/* + * List of auto hidden buttons shown below chat input, when mouse hovering there. + */ +var g_MoreAutoHiddenButtons = [ + { "text": "Replays", "func": () => Engine.SwitchGuiPage("page_replaymenu.xml") }, + { "text": "Last Summary", "func": () => lastSummary() }, + { "text": "Civilizations", "func": () => Engine.PushGuiPage("page_structree.xml", {}) }, + { "text": "Options", "func": () => Engine.PushGuiPage("page_options.xml", { "selectedCategory": "Lobby" }) } +]; + /** * Processing of notifications sent by XmppClient.cpp. * @@ -401,6 +411,35 @@ // Get all messages since the login for (let msg of Engine.LobbyGuiPollHistoricMessages()) g_NetMessageTypes[msg.type][msg.level](msg); + + initAutoHiddenButtons(); +} + +function initAutoHiddenButtons() +{ + showHiddenButtons(false); + + Engine.GetGUIObjectByName("moreOptionsBarActionHide").onmouseenter = () => showHiddenButtons(false); + Engine.GetGUIObjectByName("moreOptionsBarActionShow").onmouseenter = () => showHiddenButtons(true); + + let butWidth = (1 / g_MoreAutoHiddenButtons.length) * 100; + + for (let i in g_MoreAutoHiddenButtons) + { + let but = Engine.GetGUIObjectByName("moreButtons[" + i + "]"); + but.hidden = false; + // Let gap "+2" between buttons + but.size = i * butWidth + "%" + (i > 0 ? "+2" : "") + " 100%-25 " + ((+i + 1) * butWidth) + "%" + " 100%"; + but.caption = g_MoreAutoHiddenButtons[i].text; + but.onpress = g_MoreAutoHiddenButtons[i].func; + } +} + +function showHiddenButtons(show) +{ + Engine.GetGUIObjectByName("moreOptionsBarActionHide").hidden = !show; + Engine.GetGUIObjectByName("chatPanel").size = show ? "0 49% 100% 100%-29" : "0 49% 100% 100%" + Engine.GetGUIObjectByName("moreButtons").hidden = !show; } function updateLobbyColumns() Index: binaries/data/mods/public/gui/lobby/lobby_panels.xml =================================================================== --- binaries/data/mods/public/gui/lobby/lobby_panels.xml +++ binaries/data/mods/public/gui/lobby/lobby_panels.xml @@ -7,7 +7,7 @@ - + - +