Show map preview tooltip only if needed

This commit is contained in:
Ivaylo Draganov
2021-07-19 14:20:06 +03:00
committed by Paul Chote
parent 31056d4253
commit 1f3f489328
2 changed files with 22 additions and 4 deletions

View File

@@ -209,9 +209,18 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{
titleLabel.IsVisible = () => getMap().Map != MapCache.UnknownMap;
var font = Game.Renderer.Fonts[titleLabel.Font];
var title = new CachedTransform<MapPreview, string>(m => WidgetUtils.TruncateText(m.Title, titleLabel.Bounds.Width, font));
var title = new CachedTransform<MapPreview, string>(m =>
{
var truncated = WidgetUtils.TruncateText(m.Title, titleLabel.Bounds.Width, font);
if (m.Title != truncated)
titleLabel.GetTooltipText = () => m.Title;
else
titleLabel.GetTooltipText = null;
return truncated;
});
titleLabel.GetText = () => title.Update(getMap().Map);
titleLabel.GetTooltipText = () => getMap().Map.Title;
}
var typeLabel = parent.GetOrNull<LabelWidget>("MAP_TYPE");

View File

@@ -61,9 +61,18 @@ namespace OpenRA.Mods.Common.Widgets.Logic
if (titleLabel != null)
{
var font = Game.Renderer.Fonts[titleLabel.Font];
var title = new CachedTransform<MapPreview, string>(m => WidgetUtils.TruncateText(m.Title, titleLabel.Bounds.Width, font));
var title = new CachedTransform<MapPreview, string>(m =>
{
var truncated = WidgetUtils.TruncateText(m.Title, titleLabel.Bounds.Width, font);
if (m.Title != truncated)
titleLabel.GetTooltipText = () => m.Title;
else
titleLabel.GetTooltipText = null;
return truncated;
});
titleLabel.GetText = () => title.Update(preview);
titleLabel.GetTooltipText = () => preview.Title;
}
var typeLabel = panel.GetOrNull<LabelWidget>("MAP_TYPE");