diff --git a/OpenRA.Mods.Common/Widgets/Logic/MultiplayerLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/MultiplayerLogic.cs index 40853f4924..fbcaf77391 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/MultiplayerLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/MultiplayerLogic.cs @@ -173,12 +173,29 @@ namespace OpenRA.Mods.Common.Widgets.Logic }; } - var refreshButton = widget.GetOrNull("REFRESH_BUTTON"); - if (refreshButton != null) + var reloadButton = widget.GetOrNull("RELOAD_BUTTON"); + if (reloadButton != null) { - refreshButton.GetText = () => searchStatus == SearchStatus.Fetching ? "Refreshing..." : "Refresh"; - refreshButton.IsDisabled = () => searchStatus == SearchStatus.Fetching; - refreshButton.OnClick = RefreshServerList; + reloadButton.IsDisabled = () => searchStatus == SearchStatus.Fetching; + reloadButton.OnClick = RefreshServerList; + + var reloadIcon = reloadButton.GetOrNull("IMAGE_RELOAD"); + if (reloadIcon != null) + { + var disabledFrame = 0; + var disabledImage = "disabled-" + disabledFrame.ToString(); + reloadIcon.GetImageName = () => searchStatus == SearchStatus.Fetching ? disabledImage : reloadIcon.ImageName; + + var reloadTicker = reloadIcon.Get("ANIMATION"); + if (reloadTicker != null) + { + reloadTicker.OnTick = () => + { + disabledFrame = searchStatus == SearchStatus.Fetching ? (disabledFrame + 1) % 12 : 0; + disabledImage = "disabled-" + disabledFrame.ToString(); + }; + } + } } mapPreview = widget.GetOrNull("SELECTED_MAP_PREVIEW"); diff --git a/mods/cnc/chrome.yaml b/mods/cnc/chrome.yaml index ac3e4faed9..e5969e266c 100644 --- a/mods/cnc/chrome.yaml +++ b/mods/cnc/chrome.yaml @@ -452,6 +452,21 @@ lobby-bits: chrome.png protected: 403,97,10,13 protected-disabled: 403,113,10,13 +reload-icon: chrome.png + enabled: 256,192,16,16 + disabled-0: 272,192,16,16 + disabled-1: 288,192,16,16 + disabled-2: 304,192,16,16 + disabled-3: 320,192,16,16 + disabled-4: 336,192,16,16 + disabled-5: 352,192,16,16 + disabled-6: 368,192,16,16 + disabled-7: 384,192,16,16 + disabled-8: 400,192,16,16 + disabled-9: 416,192,16,16 + disabled-10: 432,192,16,16 + disabled-11: 448,192,16,16 + checkbox-bits: chrome.png checked: 272,32,16,16 checked-disabled: 272,48,16,16 diff --git a/mods/cnc/chrome/multiplayer-browser.yaml b/mods/cnc/chrome/multiplayer-browser.yaml index 7df537e3f6..3e02810f73 100644 --- a/mods/cnc/chrome/multiplayer-browser.yaml +++ b/mods/cnc/chrome/multiplayer-browser.yaml @@ -197,12 +197,22 @@ Container@MULTIPLAYER_PANEL: Width: 152 Height: 25 Text: Filter Games - Button@REFRESH_BUTTON: + Button@RELOAD_BUTTON: X: 172 Y: PARENT_BOTTOM - 40 - Width: 100 + Width: 26 Height: 25 - Text: Refresh + Children: + Image@IMAGE_RELOAD: + X: 5 + Y: 5 + Width: 16 + Height: 16 + ImageCollection: reload-icon + ImageName: enabled + IgnoreMouseOver: True + Children: + LogicTicker@ANIMATION: Button@DIRECTCONNECT_BUTTON: X: 387 Y: PARENT_BOTTOM - 40 diff --git a/mods/cnc/uibits/chrome.png b/mods/cnc/uibits/chrome.png index 8ba022c816..cb42f96482 100644 Binary files a/mods/cnc/uibits/chrome.png and b/mods/cnc/uibits/chrome.png differ diff --git a/mods/common/chrome/multiplayer-browser.yaml b/mods/common/chrome/multiplayer-browser.yaml index eedee72fbf..10e93d7fe3 100644 --- a/mods/common/chrome/multiplayer-browser.yaml +++ b/mods/common/chrome/multiplayer-browser.yaml @@ -191,13 +191,22 @@ Background@MULTIPLAYER_PANEL: Height: 25 Text: Filter Games Font: Bold - Button@REFRESH_BUTTON: + Button@RELOAD_BUTTON: X: 182 Y: PARENT_BOTTOM - HEIGHT - 20 - Width: 100 + Width: 26 Height: 25 - Text: Refresh - Font: Bold + Children: + Image@IMAGE_RELOAD: + X: 5 + Y: 5 + Width: 16 + Height: 16 + ImageCollection: reload-icon + ImageName: enabled + IgnoreMouseOver: True + Children: + LogicTicker@ANIMATION: Button@DIRECTCONNECT_BUTTON: X: 398 Y: PARENT_BOTTOM - HEIGHT - 20 diff --git a/mods/d2k/chrome.yaml b/mods/d2k/chrome.yaml index fed8ddc50e..ba41440813 100644 --- a/mods/d2k/chrome.yaml +++ b/mods/d2k/chrome.yaml @@ -213,6 +213,21 @@ lobby-bits: buttons.png protected: 200,0,12,13 protected-disabled: 211,0,12,13 +reload-icon: chrome.png + enabled: 416,312,16,16 + disabled-0: 416,280,16,16 + disabled-1: 432,280,16,16 + disabled-2: 448,280,16,16 + disabled-3: 464,280,16,16 + disabled-4: 480,280,16,16 + disabled-5: 496,280,16,16 + disabled-6: 416,296,16,16 + disabled-7: 432,296,16,16 + disabled-8: 448,296,16,16 + disabled-9: 464,296,16,16 + disabled-10: 480,296,16,16 + disabled-11: 496,296,16,16 + strategic: buttons.png unowned: 127,5,23,22 critical_unowned: 127,27,23,22 diff --git a/mods/d2k/uibits/chrome.png b/mods/d2k/uibits/chrome.png index db2d7a265f..46db23beca 100644 Binary files a/mods/d2k/uibits/chrome.png and b/mods/d2k/uibits/chrome.png differ diff --git a/mods/ra/chrome.yaml b/mods/ra/chrome.yaml index 7949c6843c..988579f583 100644 --- a/mods/ra/chrome.yaml +++ b/mods/ra/chrome.yaml @@ -531,6 +531,21 @@ lobby-bits: buttons.png protected: 202,0,10,13 protected-disabled: 213,0,10,13 +reload-icon: chrome.png + enabled: 512,80,16,16 + disabled-0: 512,64,16,16 + disabled-1: 528,64,16,16 + disabled-2: 544,64,16,16 + disabled-3: 560,64,16,16 + disabled-4: 576,64,16,16 + disabled-5: 592,64,16,16 + disabled-6: 608,64,16,16 + disabled-7: 624,64,16,16 + disabled-8: 640,64,16,16 + disabled-9: 656,64,16,16 + disabled-10: 672,64,16,16 + disabled-11: 688,64,16,16 + strategic: buttons.png unowned: 127,5,23,22 critical_unowned: 127,27,23,22 diff --git a/mods/ra/uibits/chrome.png b/mods/ra/uibits/chrome.png index df4bc7d750..ede6f2c15e 100644 Binary files a/mods/ra/uibits/chrome.png and b/mods/ra/uibits/chrome.png differ diff --git a/mods/ts/chrome.yaml b/mods/ts/chrome.yaml index 53395f4fb5..0d3780e27a 100644 --- a/mods/ts/chrome.yaml +++ b/mods/ts/chrome.yaml @@ -378,6 +378,21 @@ lobby-bits: buttons.png protected: 202,0,10,13 protected-disabled: 213,0,10,13 +reload-icon: dialog.png + enabled: 160,480,16,16 + disabled-0: 176,480,16,16 + disabled-1: 192,480,16,16 + disabled-2: 208,480,16,16 + disabled-3: 224,480,16,16 + disabled-4: 240,480,16,16 + disabled-5: 256,480,16,16 + disabled-6: 272,480,16,16 + disabled-7: 288,480,16,16 + disabled-8: 304,480,16,16 + disabled-9: 320,480,16,16 + disabled-10: 336,480,16,16 + disabled-11: 352,480,16,16 + strategic: buttons.png unowned: 127,5,23,22 critical_unowned: 127,27,23,22 diff --git a/mods/ts/uibits/dialog.png b/mods/ts/uibits/dialog.png index c79732a61e..4630423399 100644 Binary files a/mods/ts/uibits/dialog.png and b/mods/ts/uibits/dialog.png differ