From 12ac4c77145f17388612fd2bbbcff5debfe4b0c1 Mon Sep 17 00:00:00 2001 From: Freagarach Date: Fri, 1 Apr 2022 05:22:49 +0000 Subject: [PATCH] Fix pop indication of paused items. Reported by @Langbart at 75aa2091b7. Differential revision: https://code.wildfiregames.com/D4308 Comments by: @Langbart, @marder, @Silier Fixes #6452 This was SVN commit r26739. --- binaries/data/mods/public/gui/session/ResearchProgress.js | 2 +- binaries/data/mods/public/gui/session/selection_panels.js | 2 +- .../gui/session/selection_panels_right/queue_panel.xml | 2 +- .../data/mods/public/simulation/components/Trainer.js | 8 +++++++- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/binaries/data/mods/public/gui/session/ResearchProgress.js b/binaries/data/mods/public/gui/session/ResearchProgress.js index 56419ff0d6..9848c71dca 100644 --- a/binaries/data/mods/public/gui/session/ResearchProgress.js +++ b/binaries/data/mods/public/gui/session/ResearchProgress.js @@ -117,4 +117,4 @@ ResearchProgressButton.prototype.PortraitDirectory = "session/portraits/"; ResearchProgressButton.prototype.CountdownFormat = markForTranslationWithContext("countdown format", "m:ss"); // Translation: String displayed when the research is paused. E.g. by being garrisoned or when not the first item in the queue. -ResearchProgressButton.prototype.PausedResearchString = markForTranslation("(This item is paused.)"); +ResearchProgressButton.prototype.PausedResearchString = markForTranslation("This item is paused."); diff --git a/binaries/data/mods/public/gui/session/selection_panels.js b/binaries/data/mods/public/gui/session/selection_panels.js index 736dd09745..ded0358e78 100644 --- a/binaries/data/mods/public/gui/session/selection_panels.js +++ b/binaries/data/mods/public/gui/session/selection_panels.js @@ -594,7 +594,7 @@ g_SelectionPanels.Queue = { Engine.GetGUIObjectByName("unitQueuePausedIcon[" + data.i + "]").hidden = !queuedItem.paused; if (queuedItem.paused) // Translation: String displayed when the research is paused. E.g. by being garrisoned or when not the first item in the queue. - data.button.tooltip += "\n" + translate("(This item is paused.)"); + data.button.tooltip += "\n" + translate("This item is paused."); } if (template.icon) diff --git a/binaries/data/mods/public/gui/session/selection_panels_right/queue_panel.xml b/binaries/data/mods/public/gui/session/selection_panels_right/queue_panel.xml index ca76549244..17a16a7727 100644 --- a/binaries/data/mods/public/gui/session/selection_panels_right/queue_panel.xml +++ b/binaries/data/mods/public/gui/session/selection_panels_right/queue_panel.xml @@ -14,7 +14,7 @@ - + diff --git a/binaries/data/mods/public/simulation/components/Trainer.js b/binaries/data/mods/public/simulation/components/Trainer.js index bc6ba56e33..9e2d46968a 100644 --- a/binaries/data/mods/public/simulation/components/Trainer.js +++ b/binaries/data/mods/public/simulation/components/Trainer.js @@ -350,7 +350,13 @@ Trainer.prototype.Item.prototype.Progress = function(allocatedTime) Trainer.prototype.Item.prototype.Pause = function() { - this.paused = true; + if (this.started) + this.paused = true; + else if (this.missingPopSpace) + { + delete this.missingPopSpace; + QueryOwnerInterface(this.trainer)?.UnBlockTraining(); + } }; Trainer.prototype.Item.prototype.Unpause = function()