[Feature] A setting to allow town name tile tooltips to always or never be displayed.
This commit is contained in:
@@ -2121,6 +2121,12 @@ STR_CONFIG_SETTING_INTERFACE_TOOLTIPS :{ORANGE}Tooltip
|
||||
STR_CONFIG_SETTING_INSTANT_TILE_TOOLTIP :Show viewport tooltips for tiles without a right-click: {STRING2}
|
||||
STR_CONFIG_SETTING_INSTANT_TILE_TOOLTIP_HELPTEXT :Show viewport tooltips for tile types such as industries without requiring a right-click, when the show tooltips setting is set to right-click.
|
||||
|
||||
STR_CONFIG_SETTING_TOWN_NAME_TOOLTIP_MODE :Show viewport tooltips with town names: {STRING2}
|
||||
STR_CONFIG_SETTING_TOWN_NAME_TOOLTIP_MODE_HELPTEXT :Show viewport tooltips for road and house tiles that belong to towns.
|
||||
STR_CONFIG_SETTING_TOWN_NAME_TOOLTIP_MODE_OFF :Off
|
||||
STR_CONFIG_SETTING_TOWN_NAME_TOOLTIP_MODE_ON_IF_HIDDEN :On, if town names are hidden
|
||||
STR_CONFIG_SETTING_TOWN_NAME_TOOLTIP_MODE_ALWAYS_ON :Always on
|
||||
|
||||
STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE :Station rating tooltips: {STRING2}
|
||||
STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_HELPTEXT :Set whether station rating tooltips are shown and the level of information detail.
|
||||
STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_OFF :Off
|
||||
|
@@ -1933,6 +1933,7 @@ static SettingsContainer &GetSettingsTree()
|
||||
{
|
||||
tooltips->Add(new SettingEntry("gui.hover_delay_ms"));
|
||||
tooltips->Add(new ConditionallyHiddenSettingEntry("gui.instant_tile_tooltip", []() -> bool { return _settings_client.gui.hover_delay_ms != 0; }));
|
||||
tooltips->Add(new SettingEntry("gui.town_name_tooltip_mode"));
|
||||
tooltips->Add(new SettingEntry("gui.station_rating_tooltip_mode"));
|
||||
}
|
||||
|
||||
|
@@ -133,6 +133,7 @@ struct GUISettings : public TimeSettings {
|
||||
byte errmsg_duration; ///< duration of error message
|
||||
uint16 hover_delay_ms; ///< time required to activate a hover event, in milliseconds
|
||||
bool instant_tile_tooltip; ///< don't require a right click to activate a hover event to show a tooltip for an in-game tile (e.g. industry).
|
||||
uint8 town_name_tooltip_mode; ///< when to display town names when hovering over roads and houses. (0 = never, 1 = only if town names are hidden, 2 = always)
|
||||
uint8 station_rating_tooltip_mode; ///< Station rating tooltip mode
|
||||
bool link_terraform_toolbar; ///< display terraform toolbar when displaying rail, road, water and airport toolbars
|
||||
uint8 smallmap_land_colour; ///< colour used for land and heightmap at the smallmap
|
||||
|
@@ -4552,6 +4552,17 @@ def = false
|
||||
str = STR_CONFIG_SETTING_INSTANT_TILE_TOOLTIP
|
||||
strhelp = STR_CONFIG_SETTING_INSTANT_TILE_TOOLTIP_HELPTEXT
|
||||
|
||||
[SDTC_VAR]
|
||||
var = gui.town_name_tooltip_mode
|
||||
type = SLE_UINT8
|
||||
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
|
||||
def = 1
|
||||
min = 0
|
||||
max = 2
|
||||
str = STR_CONFIG_SETTING_TOWN_NAME_TOOLTIP_MODE
|
||||
strhelp = STR_CONFIG_SETTING_TOWN_NAME_TOOLTIP_MODE_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_TOWN_NAME_TOOLTIP_MODE_OFF
|
||||
|
||||
[SDTC_VAR]
|
||||
var = gui.station_rating_tooltip_mode
|
||||
type = SLE_UINT8
|
||||
|
@@ -219,6 +219,20 @@ void ShowExtraViewportWindowForTileUnderCursor()
|
||||
ShowExtraViewportWindow(pt.x != -1 ? TileVirtXY(pt.x, pt.y) : INVALID_TILE);
|
||||
}
|
||||
|
||||
enum TownNameTooltipMode : uint8 {
|
||||
TNTM_OFF,
|
||||
TNTM_ON_IF_HIDDEN,
|
||||
TNTM_ALWAYS_ON
|
||||
};
|
||||
|
||||
void ShowTownNameTooltip(Window *w, const TileIndex tile)
|
||||
{
|
||||
if (_settings_client.gui.town_name_tooltip_mode == TNTM_OFF) return;
|
||||
if (HasBit(_display_opt, DO_SHOW_TOWN_NAMES) && _settings_client.gui.town_name_tooltip_mode == TNTM_ON_IF_HIDDEN) return; // No need for a town name tooltip when it is already displayed
|
||||
SetDParam(0, GetTownIndex(tile));
|
||||
GuiShowTooltips(w, STR_TOWN_NAME_TOOLTIP, 0, nullptr, TCC_HOVER_VIEWPORT);
|
||||
}
|
||||
|
||||
void ShowTooltipForTile(Window *w, const TileIndex tile)
|
||||
{
|
||||
switch (GetTileType(tile)) {
|
||||
@@ -226,9 +240,7 @@ void ShowTooltipForTile(Window *w, const TileIndex tile)
|
||||
if (IsRoadDepot(tile)) return;
|
||||
/* FALL THROUGH */
|
||||
case MP_HOUSE: {
|
||||
if (HasBit(_display_opt, DO_SHOW_TOWN_NAMES)) return; // No need for a town name tooltip when it is already displayed
|
||||
SetDParam(0, GetTownIndex(tile));
|
||||
GuiShowTooltips(w, STR_TOWN_NAME_TOOLTIP, 0, nullptr, TCC_HOVER_VIEWPORT);
|
||||
ShowTownNameTooltip(w, tile);
|
||||
break;
|
||||
}
|
||||
case MP_INDUSTRY: {
|
||||
|
Reference in New Issue
Block a user