Index: binaries/data/mods/public/gui/gamesetup/gamesetup.js
===================================================================
--- binaries/data/mods/public/gui/gamesetup/gamesetup.js
+++ binaries/data/mods/public/gui/gamesetup/gamesetup.js
@@ -2196,18 +2196,22 @@
let hidden = indexHidden || !!obj.hidden && obj.hidden(playerIdx);
let selected = hidden ? -1 : dropdown.list_data.indexOf(String(obj.get(playerIdx)));
- let enabled = !indexHidden && (!obj.enabled || obj.enabled(playerIdx));
+ let enabled = g_IsController && !indexHidden && (!obj.enabled || obj.enabled(playerIdx));
+ let tooltip = enabled && !indexHidden && obj.tooltip ? obj.tooltip(-1, playerIdx) : "";
- dropdown.enabled = g_IsController && enabled;
- dropdown.hidden = !g_IsController || !enabled || hidden;
+ dropdown.enabled = enabled;
+ dropdown.hidden = !enabled || hidden;
dropdown.selected = selected;
- dropdown.tooltip = !indexHidden && obj.tooltip ? obj.tooltip(-1, playerIdx) : "";
+ dropdown.tooltip = tooltip;
if (frame)
frame.hidden = hidden;
if (title && obj.title && !indexHidden)
+ {
title.caption = sprintf(translateWithContext("Title for specific setting", "%(setting)s:"), { "setting": obj.title(playerIdx) });
+ title.tooltip = tooltip;
+ }
if (label && !indexHidden)
{
@@ -2226,7 +2230,8 @@
let checked = obj.get();
let hidden = !!obj.hidden && obj.hidden();
- let enabled = !obj.enabled || obj.enabled();
+ let enabled = g_IsController && (!obj.enabled || obj.enabled());
+ let tooltip = enabled && obj.tooltip ? obj.tooltip() : "";
let [guiName, guiType, guiIdx] = getGUIObjectNameFromSetting(name);
let checkbox = Engine.GetGUIObjectByName(guiName + guiType + guiIdx);
@@ -2238,18 +2243,21 @@
Engine.GetGUIObjectByName(guiName + "Dropdown" + guiIdx).hidden = true;
checkbox.checked = checked;
- checkbox.enabled = g_IsController && enabled;
- checkbox.hidden = hidden || !g_IsController;
- checkbox.tooltip = obj.tooltip ? obj.tooltip() : "";
+ checkbox.hidden = !enabled || hidden;
+ checkbox.tooltip = tooltip;
label.caption = checked ? translate("Yes") : translate("No");
- label.hidden = hidden || g_IsController;
+ label.hidden = !checkbox.hidden;
+ label.tooltip = tooltip;
if (frame)
frame.hidden = hidden;
if (title && obj.title)
+ {
title.caption = sprintf(translate("%(setting)s:"), { "setting": obj.title() });
+ title.tooltip = tooltip;
+ }
}
function updateGUIMiscControl(name, playerIdx)
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
@@ -110,6 +110,7 @@
type="text"
size="0 0 170 30"
style="ModernRightLabelText"
+ tooltip_style="onscreenToolTip"
z="1"
/>