Index: binaries/data/mods/mod/gui/common/guitags.js =================================================================== --- binaries/data/mods/mod/gui/common/guitags.js +++ binaries/data/mods/mod/gui/common/guitags.js @@ -1,3 +1,16 @@ +/* + * Set GUI tags on text string. + * @param {string} string - String to set tags around. + * @param {object} tags - Object with tags like { "color": "white" } or { "font": "sans-13" }. + * @return {string} - String surrounded by tags. + */ +function setStringTags(string, tags) +{ + for (let tag in tags) + string = '[' + tag + '="' + tags[tag] + '"]' + string + '[/' + tag + ']'; + return string; +} + /** * Add color to text string. */ @@ -6,4 +19,36 @@ return '[color="' + color + '"]' + text + '[/color]'; } -//TODO: font setter +/* + * Set color to string. + * @param {string} string - String to be colored. + * @param {string} color - Color for the string. + * @return {string} - String with color tag. + */ +function setStringColor(string, color) +{ + return setStringTags(string, { "color": color }); +} + +/* + * Set font to string. + * @param {string} string - String to set font. + * @param {string} font - Font name for the string. + * @return {string} - String with font tag. + */ +function setStringFont(string, font) +{ + return setStringTags(string, { "font": font }); +} + +/* + * Set font and color to string. + * @param {string} string - String to set font. + * @param {string} font - Font name for the string. + * @param {string} color - Color for the string. + * @return {string} - String with font and color setted. + */ +function setStringFontColor(string, font, color) +{ + return setStringTags(string, { "font": font, "color": color }); +} Index: binaries/data/mods/mod/gui/modmod/modmod.js =================================================================== --- binaries/data/mods/mod/gui/modmod/modmod.js +++ binaries/data/mods/mod/gui/modmod/modmod.js @@ -273,7 +273,7 @@ if (isDependencyMet(dependency)) continue; - guiObject.caption = coloredText( + guiObject.caption = setStringColor( sprintf(translate('Dependency not met: %(dep)s'), { "dep": dependency }), g_ColorDependenciesNotMet); Index: binaries/data/mods/public/gui/common/tooltips.js =================================================================== --- binaries/data/mods/public/gui/common/tooltips.js +++ binaries/data/mods/public/gui/common/tooltips.js @@ -1,8 +1,8 @@ var g_TooltipTextFormats = { - "unit": ['[font="sans-10"][color="orange"]', '[/color][/font]'], - "header": ['[font="sans-bold-13"]', '[/font]'], - "body": ['[font="sans-13"]', '[/font]'], - "comma": ['[font="sans-12"]', '[/font]'] + "unit": "sans-10", + "header": "sans-bold-13", + "body": "sans-13", + "comma": "sans-12" }; var g_AttackTypes = { @@ -84,22 +84,22 @@ function bodyFont(text) { - return g_TooltipTextFormats.body[0] + text + g_TooltipTextFormats.body[1]; + return setStringTags(text, { "font": g_TooltipTextFormats.body }); } function headerFont(text) { - return g_TooltipTextFormats.header[0] + text + g_TooltipTextFormats.header[1]; + return setStringFont(text, g_TooltipTextFormats.header); } function unitFont(text) { - return g_TooltipTextFormats.unit[0] + text + g_TooltipTextFormats.unit[1]; + return setStringTags(text, { "font": g_TooltipTextFormats.unit }); } function commaFont(text) { - return g_TooltipTextFormats.comma[0] + text + g_TooltipTextFormats.comma[1]; + return setStringTags(text, { "font": g_TooltipTextFormats.comma }); } function getSecondsString(seconds) @@ -593,12 +593,10 @@ let formatted = []; for (let resource in resources) formatted.push(sprintf(translate("%(component)s %(cost)s"), { - "component": '[font="sans-12"]' + resourceIcon(resource) + '[/font]', + "component": setStringTags(resourceIcon(resource), { "font": "sans-12" }), "cost": resources[resource] })); - return coloredText( - '[font="sans-bold-13"]' + translate("Insufficient resources:") + '[/font]', - "red") + " " + + return setStringFontColor(translate("Insufficient resources:"), "sans-bold-13", "red") + " " + formatted.join(" "); }