Add setting to shorten vehicle view status text

This commit is contained in:
Jonathan G Rennison
2024-05-06 20:00:34 +01:00
parent 0a0b42a931
commit f1c0f864f5
5 changed files with 34 additions and 0 deletions

View File

@@ -333,6 +333,9 @@ STR_CONFIG_SETTING_SHOW_ORDER_NUMBER_IN_VEHICLE_VIEW_HELPTEXT :When enabled, t
STR_CONFIG_SETTING_SHOW_SPEED_FIRST_IN_VEHICLE_VIEW :Show speed before destination in vehicle view window: {STRING2}
STR_CONFIG_SETTING_SHOW_SPEED_FIRST_IN_VEHICLE_VIEW_HELPTEXT :When enabled, show the vehicle speed before the destination in the vehicle view window start/stop bar
STR_CONFIG_SETTING_SHORTEN_STATUS_VEHICLE_VIEW :Shorten status vehicle view window: {STRING2}
STR_CONFIG_SETTING_SHORTEN_STATUS_VEHICLE_VIEW_HELPTEXT :When enabled, shorten the text used to show the destination in the vehicle view window start/stop bar
STR_CONFIG_SETTING_HIDE_DEFAULT_STOP_LOCATION :Hide default order stop locations: {STRING2}
STR_CONFIG_SETTING_HIDE_DEFAULT_STOP_LOCATION_HELPTEXT :When enabled, hide the order stop location when it matches the default.
@@ -1595,6 +1598,14 @@ STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL_END :{LTBLUE}Cannot
STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL_END :{ORANGE}Cannot reach {DEPOT}, {VELOCITY}
STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL_END :{LTBLUE}Cannot reach {DEPOT}, {VELOCITY}
STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL_SHORT :{LTBLUE}{1:VELOCITY} - {0:STATION}
STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL_SHORT :{LTBLUE}{1:VELOCITY} - {0:WAYPOINT}
STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL_SHORT :{ORANGE}{1:VELOCITY} - {0:DEPOT}
STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL_SHORT_END :{LTBLUE}{STATION}, {VELOCITY}
STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL_SHORT_END :{LTBLUE}{WAYPOINT}, {VELOCITY}
STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL_SHORT_END :{ORANGE}{DEPOT}, {VELOCITY}
STR_BREAKDOWN_TYPE_CRITICAL :Mechanical failure
STR_BREAKDOWN_TYPE_EM_STOP :Emergency stop
STR_BREAKDOWN_TYPE_LOW_SPEED :Limited to {VELOCITY}

View File

@@ -2281,6 +2281,7 @@ static SettingsContainer &GetSettingsTree()
vehicle_windows->Add(new ConditionallyHiddenSettingEntry("gui.show_vehicle_group_hierarchy_name", []() -> bool { return !_settings_client.gui.show_group_hierarchy_name; }));
vehicle_windows->Add(new SettingEntry("gui.enable_single_veh_shared_order_gui"));
vehicle_windows->Add(new SettingEntry("gui.show_order_number_vehicle_view"));
vehicle_windows->Add(new SettingEntry("gui.shorten_vehicle_view_status"));
vehicle_windows->Add(new SettingEntry("gui.show_speed_first_vehicle_view"));
vehicle_windows->Add(new SettingEntry("gui.hide_default_stop_location"));
vehicle_windows->Add(new SettingEntry("gui.show_running_costs_calendar_year"));

View File

@@ -315,6 +315,7 @@ struct GUISettings : public TimeSettings {
bool show_vehicle_group_hierarchy_name; ///< Show the full group hierarchy in vehicle names
bool show_order_number_vehicle_view; ///< Show order number in vehicle view window
bool show_speed_first_vehicle_view; ///< Show speed before destination in vehicle view window
bool shorten_vehicle_view_status; ///< Show status text in vehicle view window
bool hide_default_stop_location; ///< Hide default stop location for orders
bool show_rail_polyline_tool; ///< Show rail polyline tool
bool show_running_costs_calendar_year; ///< Show vehicle running costs in calendar years

View File

@@ -1607,6 +1607,14 @@ str = STR_CONFIG_SETTING_SHOW_ORDER_NUMBER_IN_VEHICLE_VIEW
strhelp = STR_CONFIG_SETTING_SHOW_ORDER_NUMBER_IN_VEHICLE_VIEW_HELPTEXT
post_cb = [](auto) { SetWindowClassesDirty(WC_VEHICLE_VIEW); }
[SDTC_BOOL]
var = gui.shorten_vehicle_view_status
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_PATCH
def = false
str = STR_CONFIG_SETTING_SHORTEN_STATUS_VEHICLE_VIEW
strhelp = STR_CONFIG_SETTING_SHORTEN_STATUS_VEHICLE_VIEW_HELPTEXT
post_cb = [](auto) { SetWindowClassesDirty(WC_VEHICLE_VIEW); }
[SDTC_BOOL]
var = gui.show_speed_first_vehicle_view
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_PATCH

View File

@@ -3708,6 +3708,19 @@ static bool IsVehicleRefitable(const Vehicle *v)
static StringID AdjustVehicleViewVelocityStringID(StringID str)
{
if (_settings_client.gui.shorten_vehicle_view_status) {
const bool speed_first = _settings_client.gui.show_speed_first_vehicle_view;
if (str == STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL) {
return speed_first ? STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL_SHORT : STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL_SHORT_END;
}
if (str == STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL) {
return speed_first ? STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL_SHORT : STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL_SHORT_END;
}
if (str == STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL) {
return speed_first ? STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL_SHORT : STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL_SHORT_END;
}
}
if (_settings_client.gui.show_speed_first_vehicle_view) return str;
if (str == STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL) return STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL_END;