Departures: Replace departure/arrival and both setting with dropdown

This commit is contained in:
Jonathan G Rennison 2024-09-04 18:35:22 +01:00
parent cc3f9e054c
commit e58d985ab0
13 changed files with 83 additions and 134 deletions

View File

@ -54,8 +54,7 @@ static constexpr NWidgetPart _nested_departures_list[] = {
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PANEL, COLOUR_GREY), SetMinimalSize(0, 12), SetResize(1, 0), SetFill(1, 1), EndContainer(),
NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_DB_CARGO_MODE), SetFill(0, 1), SetDataTip(STR_JUST_STRING, STR_DEPARTURES_CARGO_MODE_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_DB_SHOW_ARRS), SetMinimalSize(6, 12), SetFill(0, 1), SetDataTip(STR_DEPARTURES_ARRIVALS, STR_DEPARTURES_ARRIVALS_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_DB_SHOW_DEPS), SetMinimalSize(6, 12), SetFill(0, 1), SetDataTip(STR_DEPARTURES_DEPARTURES, STR_DEPARTURES_DEPARTURES_TOOLTIP),
NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_DB_DEPARTURE_MODE), SetFill(0, 1), SetDataTip(STR_JUST_STRING, STR_DEPARTURES_DEPARTURE_MODE_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_DB_SHOW_VIA), SetMinimalSize(11, 12), SetFill(0, 1), SetDataTip(STR_DEPARTURES_VIA_BUTTON, STR_DEPARTURES_VIA_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_DB_SHOW_TRAINS), SetMinimalSize(14, 12), SetFill(0, 1), SetDataTip(STR_TRAIN, STR_NULL),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_DB_SHOW_ROADVEHS), SetMinimalSize(14, 12), SetFill(0, 1), SetDataTip(STR_LORRY, STR_NULL),
@ -73,11 +72,11 @@ static WindowDesc _departures_desc(__FILE__, __LINE__,
);
static uint cached_date_width = 0; ///< The cached maximum width required to display a date.
static uint cached_date_combined_width = 0;///< The cached maximum width required to display a date (combined mode).
static uint cached_status_width = 0; ///< The cached maximum width required to show the status field.
static uint cached_date_arrow_width = 0; ///< The cached width of the red/green arrows that may be displayed alongside times.
static uint cached_veh_type_width = 0; ///< The cached width of the vehicle type icon.
static bool cached_date_display_method; ///< Whether the above cached values refers to original (d,m,y) dates or the 24h clock.
static bool cached_arr_dep_display_method; ///< Whether to show departures and arrivals on a single line.
void FlushDeparturesWindowTextCaches()
{
@ -99,6 +98,22 @@ static const StringID _departure_cargo_mode_strings[DCF_END] = {
STR_CARGO_TYPE_FILTER_FREIGHT,
};
enum DeparturesMode : uint8_t {
DM_DEPARTURES = 0,
DM_ARRIVALS,
DM_COMBINED,
DM_SEPARATE,
DM_END
};
static const StringID _departure_mode_strings[DM_END] = {
STR_DEPARTURES_DEPARTURES,
STR_DEPARTURES_ARRIVALS,
STR_DEPARTURES_BOTH_COMBINED,
STR_DEPARTURES_BOTH_SEPARATE,
};
template<bool Twaypoint>
struct DeparturesWindow : public Window {
protected:
@ -111,9 +126,9 @@ protected:
uint64_t elapsed_ms; ///< The number of milliseconds that have elapsed since the window was created. Used for scrolling text.
int calc_tick_countdown; ///< The number of ticks to wait until recomputing the departure list. Signed in case it goes below zero.
bool show_types[4]; ///< The vehicle types to show in the departure list.
bool departure_types[3]; ///< The types of departure to show in the departure list.
bool departure_types_both; ///< Arrivals and departures buttons disabled (shown combined as single entry)
DeparturesCargoMode cargo_mode = DCF_ALL_CARGOES;
DeparturesMode mode = DM_DEPARTURES;
bool show_via = false;
mutable bool scroll_refresh; ///< Whether the window should be refreshed when paused due to scrolling
uint min_width; ///< The minimum width of this window.
Scrollbar *vscroll;
@ -126,20 +141,6 @@ protected:
static void RecomputeDateWidth();
virtual void DrawDeparturesListItems(const Rect &r) const;
void SetDepartureTypesDisabledState()
{
this->departure_types_both = _settings_client.gui.departure_show_both;
this->SetWidgetDisabledState(WID_DB_SHOW_DEPS, departure_types_both);
this->SetWidgetDisabledState(WID_DB_SHOW_ARRS, departure_types_both);
if (this->departure_types_both) {
this->LowerWidget(WID_DB_SHOW_DEPS);
this->LowerWidget(WID_DB_SHOW_ARRS);
} else {
this->SetWidgetLoweredState(WID_DB_SHOW_DEPS, this->departure_types[0]);
this->SetWidgetLoweredState(WID_DB_SHOW_ARRS, this->departure_types[1]);
}
}
void FillVehicleList()
{
this->vehicles.clear();
@ -234,15 +235,6 @@ public:
this->vscroll = this->GetScrollbar(WID_DB_SCROLLBAR);
this->FinishInitNested(window_number);
/* By default, only show departures. */
departure_types[0] = true;
departure_types[1] = false;
departure_types[2] = false;
this->LowerWidget(WID_DB_SHOW_DEPS);
this->RaiseWidget(WID_DB_SHOW_ARRS);
this->RaiseWidget(WID_DB_SHOW_VIA);
if (!Twaypoint) this->SetDepartureTypesDisabledState();
for (uint i = 0; i < 4; ++i) {
show_types[i] = true;
this->LowerWidget(WID_DB_SHOW_TRAINS + i);
@ -255,12 +247,10 @@ public:
this->DisableWidget(WID_DB_SHOW_TRAINS + i);
}
this->DisableWidget(WID_DB_SHOW_ARRS);
this->DisableWidget(WID_DB_SHOW_DEPS);
this->DisableWidget(WID_DB_DEPARTURE_MODE);
this->DisableWidget(WID_DB_SHOW_VIA);
departure_types[2] = true;
this->show_via = true;
this->LowerWidget(WID_DB_SHOW_VIA);
}
@ -286,11 +276,16 @@ public:
size.height = 2 * resize.height;
size.width = this->min_width;
break;
case WID_DB_CARGO_MODE:
size.width = GetStringListWidth(_departure_cargo_mode_strings);
size.width += padding.width;
break;
case WID_DB_DEPARTURE_MODE:
size.width = GetStringListWidth(_departure_mode_strings);
size.width += padding.width;
break;
}
}
@ -307,6 +302,11 @@ public:
SetDParam(0, _departure_cargo_mode_strings[this->cargo_mode]);
break;
}
case WID_DB_DEPARTURE_MODE: {
SetDParam(0, _departure_mode_strings[this->mode]);
break;
}
}
}
@ -356,28 +356,9 @@ public:
break;
}
case WID_DB_SHOW_DEPS:
case WID_DB_SHOW_ARRS:
if (_settings_client.gui.departure_show_both) break;
/* FALL THROUGH */
case WID_DB_SHOW_VIA:
this->departure_types[widget - WID_DB_SHOW_DEPS] = !this->departure_types[widget - WID_DB_SHOW_DEPS];
this->SetWidgetLoweredState(widget, this->departure_types[widget - WID_DB_SHOW_DEPS]);
/* Side effects */
if (widget == WID_DB_SHOW_DEPS) {
if (!this->departure_types[0]) {
this->RaiseWidget(WID_DB_SHOW_VIA);
this->DisableWidget(WID_DB_SHOW_VIA);
} else {
this->EnableWidget(WID_DB_SHOW_VIA);
this->SetWidgetLoweredState(WID_DB_SHOW_VIA, this->departure_types[2]);
}
/* Redraw required. */
this->SetWidgetDirty(WID_DB_SHOW_VIA);
}
this->show_via = !this->show_via;
this->SetWidgetLoweredState(widget, this->show_via);
/* We need to recompute the departures list. */
this->calc_tick_countdown = 0;
@ -433,6 +414,10 @@ public:
case WID_DB_CARGO_MODE:
ShowDropDownMenu(this, _departure_cargo_mode_strings, this->cargo_mode, WID_DB_CARGO_MODE, 0, 0);
break;
case WID_DB_DEPARTURE_MODE:
ShowDropDownMenu(this, _departure_mode_strings, this->mode, WID_DB_DEPARTURE_MODE, 0, 0);
break;
}
}
@ -449,6 +434,24 @@ public:
this->SetWidgetDirty(widget);
break;
}
case WID_DB_DEPARTURE_MODE: {
if (this->mode != index) {
this->mode = static_cast<DeparturesMode>(index);
if (this->mode == DM_ARRIVALS) {
this->show_via = false;
this->RaiseWidget(WID_DB_SHOW_VIA);
this->DisableWidget(WID_DB_SHOW_VIA);
} else {
this->EnableWidget(WID_DB_SHOW_VIA);
this->SetWidgetLoweredState(WID_DB_SHOW_VIA, this->show_via);
}
this->calc_tick_countdown = 0;
if (_pause_mode != PM_UNPAUSED) this->OnGameTick();
}
this->SetWidgetDirty(widget);
break;
}
}
}
@ -460,18 +463,10 @@ public:
/* Recompute the minimum date display width if the cached one is no longer valid. */
if (cached_date_width == 0 ||
_settings_time.time_in_minutes != cached_date_display_method ||
_settings_client.gui.departure_show_both != cached_arr_dep_display_method) {
_settings_time.time_in_minutes != cached_date_display_method) {
this->RecomputeDateWidth();
}
if (!Twaypoint && this->departure_types_both != _settings_client.gui.departure_show_both) {
this->SetDepartureTypesDisabledState();
this->calc_tick_countdown = 0;
this->SetWidgetDirty(WID_DB_SHOW_DEPS);
this->SetWidgetDirty(WID_DB_SHOW_ARRS);
}
/* We need to redraw the scrolling text in its new position. */
this->SetWidgetDirty(WID_DB_LIST);
@ -484,12 +479,12 @@ public:
this->calc_tick_countdown = _settings_client.gui.departure_calc_frequency;
bool show_pax = this->cargo_mode != DCF_FREIGHT_ONLY;
bool show_freight = this->cargo_mode != DCF_PAX_ONLY;
if (this->departure_types[0] || _settings_client.gui.departure_show_both) {
this->departures = MakeDepartureList(this->station, this->vehicles, D_DEPARTURE, Twaypoint || this->departure_types[2], show_pax, show_freight);
if (this->mode != DM_ARRIVALS) {
this->departures = MakeDepartureList(this->station, this->vehicles, D_DEPARTURE, Twaypoint || this->show_via, show_pax, show_freight);
} else {
this->departures.clear();
}
if (this->departure_types[1] && !_settings_client.gui.departure_show_both) {
if (this->mode == DM_ARRIVALS || this->mode == DM_SEPARATE) {
this->arrivals = MakeDepartureList(this->station, this->vehicles, D_ARRIVAL, false, show_pax, show_freight);
} else {
this->arrivals.clear();
@ -585,9 +580,9 @@ template<bool Twaypoint>
void DeparturesWindow<Twaypoint>::RecomputeDateWidth()
{
cached_date_width = 0;
cached_date_combined_width = 0;
cached_status_width = 0;
cached_date_display_method = _settings_time.time_in_minutes;
cached_arr_dep_display_method = _settings_client.gui.departure_show_both;
cached_status_width = std::max((GetStringBoundingBox(STR_DEPARTURES_ON_TIME)).width, cached_status_width);
cached_status_width = std::max((GetStringBoundingBox(STR_DEPARTURES_DELAYED)).width, cached_status_width);
@ -601,16 +596,15 @@ void DeparturesWindow<Twaypoint>::RecomputeDateWidth()
SetDParam(1, INT_MAX - (i*interval));
SetDParam(2, STR_JUST_TT_TIME_ABS);
SetDParam(3, INT_MAX - (i*interval));
cached_date_width = std::max(GetStringBoundingBox(cached_arr_dep_display_method ? STR_DEPARTURES_TIME_BOTH : STR_DEPARTURES_TIME_DEP).width, cached_date_width);
cached_date_width = std::max(GetStringBoundingBox(STR_DEPARTURES_TIME_DEP).width, cached_date_width);
cached_date_combined_width = std::max(GetStringBoundingBox(STR_DEPARTURES_TIME_BOTH).width, cached_date_combined_width);
cached_status_width = std::max((GetStringBoundingBox(STR_DEPARTURES_EXPECTED)).width, cached_status_width);
}
SetDParam(0, 0);
cached_date_arrow_width = GetStringBoundingBox(STR_DEPARTURES_TIME_DEP).width - GetStringBoundingBox(STR_DEPARTURES_TIME).width;
if (!_settings_client.gui.departure_show_both) {
cached_date_width -= cached_date_arrow_width;
}
cached_date_width -= cached_date_arrow_width;
}
static int PadWidth(int width)
@ -625,7 +619,7 @@ uint DeparturesWindow<Twaypoint>::GetMinWidth() const
uint result = 0;
/* Time */
result = cached_date_width;
result = (this->mode == DM_COMBINED) ? cached_date_combined_width : cached_date_width;
/* Vehicle type icon */
result += _settings_client.gui.departure_show_vehicle_type ? cached_veh_type_width : 0;
@ -667,26 +661,15 @@ void DeparturesWindow<Twaypoint>::DrawDeparturesListItems(const Rect &r) const
GfxFillRect(r.left + 1, r.top, r.right - 1, r.bottom, PC_BLACK);
/* Nothing selected? Then display the information text. */
bool none_selected[2] = {true, true};
bool no_vehs_selected = true;
for (uint i = 0; i < 4; ++i) {
if (this->show_types[i]) {
none_selected[0] = false;
no_vehs_selected = false;
break;
}
}
if (_settings_client.gui.departure_show_both) {
none_selected[1] = false;
} else {
for (uint i = 0; i < 2; ++i) {
if (this->departure_types[i]) {
none_selected[1] = false;
break;
}
}
}
if (none_selected[0] || none_selected[1]) {
if (no_vehs_selected) {
DrawString(text_left, text_right, y + 1, STR_DEPARTURES_NONE_SELECTED);
return;
}
@ -698,10 +681,10 @@ void DeparturesWindow<Twaypoint>::DrawDeparturesListItems(const Rect &r) const
}
/* Find the maximum possible width of the departure time and "Expt <time>" fields. */
int time_width = cached_date_width;
int time_width = (this->mode == DM_COMBINED) ? cached_date_combined_width : cached_date_width;
if (!_settings_client.gui.departure_show_both) {
time_width += (departure_types[0] && departure_types[1] ? cached_date_arrow_width : 0);
if (this->mode == DM_SEPARATE) {
time_width += cached_date_arrow_width;
}
/* Vehicle type icon */
@ -757,14 +740,18 @@ void DeparturesWindow<Twaypoint>::DrawDeparturesListItems(const Rect &r) const
if (d->terminus == INVALID_STATION) continue;
StringID time_str;
if (_settings_client.gui.departure_show_both) {
if (this->mode == DM_COMBINED) {
time_str = STR_DEPARTURES_TIME_BOTH;
SetDParam(0, STR_JUST_TT_TIME_ABS);
SetDParam(1, d->scheduled_tick - (d->scheduled_waiting_time > 0 ? d->scheduled_waiting_time : d->order->GetWaitTime()));
SetDParam(2, STR_JUST_TT_TIME_ABS);
SetDParam(3, d->scheduled_tick);
} else {
time_str = (departure_types[0] && departure_types[1]) ? (d->type == D_DEPARTURE ? STR_DEPARTURES_TIME_DEP : STR_DEPARTURES_TIME_ARR) : STR_DEPARTURES_TIME;
if (this->mode == DM_SEPARATE) {
time_str = (d->type == D_DEPARTURE) ? STR_DEPARTURES_TIME_DEP : STR_DEPARTURES_TIME_ARR;
} else {
time_str = STR_DEPARTURES_TIME;
}
SetDParam(0, STR_JUST_TT_TIME_ABS);
SetDParam(1, d->scheduled_tick);
}

View File

@ -1173,8 +1173,6 @@ STR_DEPARTURES_CAPTION_WAYPOINT :{WHITE}Aktuáln
STR_DEPARTURES_DEPARTURES :{BLACK}{TINY_FONT}O
STR_DEPARTURES_ARRIVALS :{BLACK}{TINY_FONT}P
STR_DEPARTURES_VIA_BUTTON :{BLACK}přes
STR_DEPARTURES_DEPARTURES_TOOLTIP :{BLACK}Zobrazit odjezdy dle jízdního řádu
STR_DEPARTURES_ARRIVALS_TOOLTIP :{BLACK}Zobrazit příjezdy dle jízdního řádu
STR_DEPARTURES_VIA_TOOLTIP :{BLACK}Zobrazit vozidla, která zde podle jízdního řádu nezastavují
STR_DEPARTURES_SHOW_TRAINS_TOOLTIP :{BLACK}Zobrazit vlaky v jízdních řádech této stanice
STR_DEPARTURES_SHOW_ROAD_VEHICLES_TOOLTIP :{BLACK}Zobrazit silniční vozidla v jízdních řádech této stanice
@ -1249,8 +1247,6 @@ STR_CONFIG_DEPARTURE_LARGER_FONT :Používat na o
STR_CONFIG_DEPARTURE_LARGER_FONT_HELPTEXT :Zda používat pro seznam obsluhovaných stanic větší font
STR_CONFIG_DEPARTURE_DESTINATION_TYPE :Zobrazovat ikony pro cíle, které jsou doky nebo letiště: {STRING}
STR_CONFIG_DEPARTURE_DESTINATION_TYPE_HELPTEXT :Zda zobrazovat ikony u stanic, jejichž součástí jsou doky nebo letiště
STR_CONFIG_DEPARTURE_SHOW_BOTH :Zobrazovat příjezdy a odjezdy ve stejném řádku: {STRING}
STR_CONFIG_DEPARTURE_SHOW_BOTH_HELPTEXT :Zda odjezdové a příjezdové časy smísit do jednoho záznamu namísto jejich odděleného vypisování
STR_CONFIG_DEPARTURE_SMART_TERMINUS :Neukazovat destinace, kterých lze dosáhnout dříve při jízdě pozdějším spojem: {STRING}
STR_CONFIG_DEPARTURE_SMART_TERMINUS_HELPTEXT :Zda vypisovat cílové stanice, do kterých lze dorazit dříve jiným spojem, který odjíždí později
STR_CONFIG_DEPARTURE_CONDITIONALS :Podmíněná přeskočení příkazů zpracovávat: {STRING}

View File

@ -1348,11 +1348,12 @@ STR_STATION_VIEW_HISTORY_TOOLTIP :{BLACK}Show wai
STR_DEPARTURES_CAPTION :{WHITE}{STATION} Live Travel Information
STR_DEPARTURES_CAPTION_WAYPOINT :{WHITE}{WAYPOINT} Live Travel Information
STR_DEPARTURES_CARGO_MODE_TOOLTIP :{BLACK}Set cargo filter mode for arrivals/departures
STR_DEPARTURES_DEPARTURES :{BLACK}{TINY_FONT}D
STR_DEPARTURES_ARRIVALS :{BLACK}{TINY_FONT}A
STR_DEPARTURES_DEPARTURES :Departures
STR_DEPARTURES_ARRIVALS :Arrivals
STR_DEPARTURES_BOTH_COMBINED :Combined
STR_DEPARTURES_BOTH_SEPARATE :Separate
STR_DEPARTURES_DEPARTURE_MODE_TOOLTIP :{BLACK}Set whether to show departures and/or arrivals
STR_DEPARTURES_VIA_BUTTON :{BLACK}Via
STR_DEPARTURES_DEPARTURES_TOOLTIP :{BLACK}Show timetabled departures
STR_DEPARTURES_ARRIVALS_TOOLTIP :{BLACK}Show timetabled arrivals
STR_DEPARTURES_VIA_TOOLTIP :{BLACK}Show timetabled vehicles that do not stop here
STR_DEPARTURES_SHOW_TRAINS_TOOLTIP :{BLACK}Show upcoming trains on this station's timetable
STR_DEPARTURES_SHOW_ROAD_VEHICLES_TOOLTIP :{BLACK}Show upcoming road vehicles on this station's timetable
@ -1427,8 +1428,6 @@ STR_CONFIG_DEPARTURE_LARGER_FONT :Use larger font
STR_CONFIG_DEPARTURE_LARGER_FONT_HELPTEXT :Whether to use a larger font for lists of stations called at
STR_CONFIG_DEPARTURE_DESTINATION_TYPE :Show icons for destinations that are docks or airports: {STRING2}
STR_CONFIG_DEPARTURE_DESTINATION_TYPE_HELPTEXT :Whether to show icons next to destinations that are docks or airports
STR_CONFIG_DEPARTURE_SHOW_BOTH :Show arrival and departure times on the same line: {STRING2}
STR_CONFIG_DEPARTURE_SHOW_BOTH_HELPTEXT :Whether arrival and departure times for a vehicle are combined into a single entry instead of being listed separately
STR_CONFIG_DEPARTURE_SMART_TERMINUS :Don't show termini that can be reached sooner on a later vehicle: {STRING2}
STR_CONFIG_DEPARTURE_SMART_TERMINUS_HELPTEXT :Whether to show termini that can be reached sooner on another vehicle that departs later
STR_CONFIG_DEPARTURE_CONDITIONALS :Handle unpredictable conditional order jumps for departures by: {STRING2}

View File

@ -1295,8 +1295,6 @@ STR_DEPARTURES_CAPTION_WAYPOINT :{WHITE}{WAYPOIN
STR_DEPARTURES_DEPARTURES :{BLACK}{TINY_FONT}D
STR_DEPARTURES_ARRIVALS :{BLACK}{TINY_FONT}A
STR_DEPARTURES_VIA_BUTTON :{BLACK}vía
STR_DEPARTURES_DEPARTURES_TOOLTIP :{BLACK}Amosar as saídas programadas
STR_DEPARTURES_ARRIVALS_TOOLTIP :{BLACK}Amosar as chegadas programadas
STR_DEPARTURES_VIA_TOOLTIP :{BLACK}Amosar os vehículos programados que non paran aqui
STR_DEPARTURES_SHOW_TRAINS_TOOLTIP :{BLACK}Amosar próximos trens nos horarios desta estación
STR_DEPARTURES_SHOW_ROAD_VEHICLES_TOOLTIP :{BLACK}Amosar próximos vehículos de estrada nos horarios desta estación
@ -1371,8 +1369,6 @@ STR_CONFIG_DEPARTURE_LARGER_FONT :Usar unha fonte
STR_CONFIG_DEPARTURE_LARGER_FONT_HELPTEXT :Indica se se amosa unha fonte maior para as listas de estacións as que se está chamando
STR_CONFIG_DEPARTURE_DESTINATION_TYPE :Amosar iconas para os destinos que son portos ou aeroportos: {STRING}
STR_CONFIG_DEPARTURE_DESTINATION_TYPE_HELPTEXT :Indica se se amosan iconas o lado dos destinos que son portos ou aeroportos
STR_CONFIG_DEPARTURE_SHOW_BOTH :Amosar as horas de chegada e saída na mesma liña: {STRING}
STR_CONFIG_DEPARTURE_SHOW_BOTH_HELPTEXT :Indica se se amosan as horas de saída e de chegada xuntas nas saídas
STR_CONFIG_DEPARTURE_SMART_TERMINUS :Non amosar as terminais ás que se pode chegar antes nun vehículo posterior: {STRING}
STR_CONFIG_DEPARTURE_SMART_TERMINUS_HELPTEXT :Indica se se amosarán as estacións terminais as que se poida chegar antes nun vehículo que saia posteriormente
STR_CONFIG_DEPARTURE_CONDITIONALS :Xestionar os saltos de orde condicional: {STRING}

View File

@ -1059,8 +1059,6 @@ STR_DEPARTURES_CAPTION_WAYPOINT :{WHITE}{WAYPOIN
STR_DEPARTURES_DEPARTURES :{BLACK}{TINY_FONT}Ab
STR_DEPARTURES_ARRIVALS :{BLACK}{TINY_FONT}An
STR_DEPARTURES_VIA_BUTTON :{BLACK}Durch
STR_DEPARTURES_DEPARTURES_TOOLTIP :{BLACK}Zeige geplante Abfahrten
STR_DEPARTURES_ARRIVALS_TOOLTIP :{BLACK}Zeige geplante Ankünfte
STR_DEPARTURES_VIA_TOOLTIP :{BLACK}Zeige geplante Durchfahrten (halten nicht an)
STR_DEPARTURES_SHOW_TYPE_TOOLTIP_CTRL_SUFFIX :{BLACK}{STRING}. Strg+Klick zur exklusiven Anzeige.
STR_DEPARTURES_EMPTY :{ORANGE}Aktuell sind für diese Station keine Fahrzeuge geplant.
@ -1126,8 +1124,6 @@ STR_CONFIG_DEPARTURE_LARGER_FONT :Benutze größe
STR_CONFIG_DEPARTURE_LARGER_FONT_HELPTEXT :Ob eine größere Schriftart für die Liste der Stationen, an denen das Fahrzeug hält, benutzt werden soll
STR_CONFIG_DEPARTURE_DESTINATION_TYPE :Zeige Piktogramm für Ziele, die Häfen oder Flughäfen sind: {STRING}
STR_CONFIG_DEPARTURE_DESTINATION_TYPE_HELPTEXT :Ob neben der Abfahrt des Fahrzeugs ein Piktogramm angezeigt werden soll, wenn das Ziel entweder ein Hafen oder ein Flughafen ist
STR_CONFIG_DEPARTURE_SHOW_BOTH :Zeige Ankunfts- und Abfahrtszeiten auf der selben Linie: {STRING}
STR_CONFIG_DEPARTURE_SHOW_BOTH_HELPTEXT :Bestimmt, ob sowohl Abfahrts-, als auch Ankunftszeiten auf einer Höhe angezeigt werden sollen
STR_CONFIG_DEPARTURE_SMART_TERMINUS :Zeige keine Ziele, die mit einem später abfahrenden Fahrzeug schneller erreicht werden können: {STRING}
STR_CONFIG_DEPARTURE_SMART_TERMINUS_HELPTEXT :Ob Ziele angezeigt werden sollen, die mit einem später abfahrenden Fahrzeug eher erreicht werden können
STR_CONFIG_DEPARTURE_CONDITIONALS :Behandle bedingte Sprünge durch: {STRING}

View File

@ -41,8 +41,6 @@ STR_DEPARTURES_CAPTION_WAYPOINT :{WHITE}{WAYPOIN
STR_DEPARTURES_DEPARTURES :{BLACK}{TINY_FONT}発車
STR_DEPARTURES_ARRIVALS :{BLACK}{TINY_FONT}到着
STR_DEPARTURES_VIA_BUTTON :{BLACK}経由
STR_DEPARTURES_DEPARTURES_TOOLTIP :{BLACK}発車時刻表を表示
STR_DEPARTURES_ARRIVALS_TOOLTIP :{BLACK}到着時刻表を表示
STR_DEPARTURES_VIA_TOOLTIP :{BLACK}通過車両を表示
STR_DEPARTURES_EMPTY :{ORANGE}現在、ダイヤを設定している車両はありません。
STR_DEPARTURES_NONE_SELECTED :{ORANGE}発車標が設定されていません。

View File

@ -1295,8 +1295,6 @@ STR_DEPARTURES_CAPTION_WAYPOINT :{WHITE}{WAYPOIN
STR_DEPARTURES_DEPARTURES :{BLACK}{TINY_FONT}발
STR_DEPARTURES_ARRIVALS :{BLACK}{TINY_FONT}착
STR_DEPARTURES_VIA_BUTTON :{BLACK}경유
STR_DEPARTURES_DEPARTURES_TOOLTIP :{BLACK}도착 시간 표시
STR_DEPARTURES_ARRIVALS_TOOLTIP :{BLACK}출발 시간 표시
STR_DEPARTURES_VIA_TOOLTIP :{BLACK}통과 차량 표시
STR_DEPARTURES_SHOW_TRAINS_TOOLTIP :{BLACK}이 역의 시간표에 진입 중인 열차 표시
STR_DEPARTURES_SHOW_ROAD_VEHICLES_TOOLTIP :{BLACK}이 역의 시간표에 진입 중인 자동차 표시
@ -1371,8 +1369,6 @@ STR_CONFIG_DEPARTURE_LARGER_FONT :정차역을
STR_CONFIG_DEPARTURE_LARGER_FONT_HELPTEXT :정차역을 큰 글씨로 보이게 할 지 설정합니다.
STR_CONFIG_DEPARTURE_DESTINATION_TYPE :항구나 공항이 목적지일 경우 아이콘 보이기: {STRING}
STR_CONFIG_DEPARTURE_DESTINATION_TYPE_HELPTEXT :항구나 공항이 목적지일 경우 아이콘을 보이게 할 지 설정합니다.
STR_CONFIG_DEPARTURE_SHOW_BOTH :출발과 도착을 한 줄로 표시하기: {STRING}
STR_CONFIG_DEPARTURE_SHOW_BOTH_HELPTEXT :출발과 도착을 한 줄로 표시할 지 설정합니다.
STR_CONFIG_DEPARTURE_SMART_TERMINUS :나중에 도착할 차량은 행선지 보이지 않기: {STRING}
STR_CONFIG_DEPARTURE_SMART_TERMINUS_HELPTEXT :나중에 도착할 차량은 행선지 보이지 않기
STR_CONFIG_DEPARTURE_CONDITIONALS :조건부 경로 계산: {STRING}

View File

@ -1297,8 +1297,6 @@ STR_DEPARTURES_CAPTION_WAYPOINT :{WHITE}{WAYPOIN
STR_DEPARTURES_DEPARTURES :{BLACK}{TINY_FONT}О
STR_DEPARTURES_ARRIVALS :{BLACK}{TINY_FONT}П
STR_DEPARTURES_VIA_BUTTON :{BLACK}через
STR_DEPARTURES_DEPARTURES_TOOLTIP :{BLACK}Показать отправления по расписанию
STR_DEPARTURES_ARRIVALS_TOOLTIP :{BLACK}Показать прибытия по расписанию
STR_DEPARTURES_VIA_TOOLTIP :{BLACK}Показать транспортные средства, которые не останавливаются здесь по расписанию
STR_DEPARTURES_SHOW_TRAINS_TOOLTIP :{BLACK}Показать предстоящие поезда в расписании этой станции
STR_DEPARTURES_SHOW_ROAD_VEHICLES_TOOLTIP :{BLACK}Показать предстоящие рейсы автотранспорта по расписанию этой станции
@ -1373,8 +1371,6 @@ STR_CONFIG_DEPARTURE_LARGER_FONT :Использ
STR_CONFIG_DEPARTURE_LARGER_FONT_HELPTEXT :Использовать ли более крупный шрифт для списков станций, вызываемых на
STR_CONFIG_DEPARTURE_DESTINATION_TYPE :Показывать значки пунктов назначения, которые являются доками или аэропортами: {STRING}
STR_CONFIG_DEPARTURE_DESTINATION_TYPE_HELPTEXT :Следует ли показывать значки рядом с пунктами назначения, которые являются доками или аэропортами
STR_CONFIG_DEPARTURE_SHOW_BOTH :Показывать время прибытия и отправления в одной строке: {STRING}
STR_CONFIG_DEPARTURE_SHOW_BOTH_HELPTEXT :Объединять ли время прибытия и отправления транспортного средства в одну запись, а не указывать отдельно
STR_CONFIG_DEPARTURE_SMART_TERMINUS :Не показывать конечные пункты, до которых можно добраться быстрее на более позднем транспортном средстве: {STRING}
STR_CONFIG_DEPARTURE_SMART_TERMINUS_HELPTEXT :Нужно ли показывать конечные пункты, до которых можно добраться раньше на другом транспорте, который отправляется позже
STR_CONFIG_DEPARTURE_CONDITIONALS :Справляться с непредсказуемыми скачками условного порядка для вылетов путём: {STRING}

View File

@ -1297,8 +1297,6 @@ STR_DEPARTURES_CAPTION_WAYPOINT :{WHITE}{WAYPOIN
STR_DEPARTURES_DEPARTURES :{BLACK}{TINY_FONT}发
STR_DEPARTURES_ARRIVALS :{BLACK}{TINY_FONT}抵
STR_DEPARTURES_VIA_BUTTON :{BLACK}经
STR_DEPARTURES_DEPARTURES_TOOLTIP :{BLACK}显示表定发车载具
STR_DEPARTURES_ARRIVALS_TOOLTIP :{BLACK}显示表定到达载具
STR_DEPARTURES_VIA_TOOLTIP :{BLACK}显示表定通过载具
STR_DEPARTURES_SHOW_TRAINS_TOOLTIP :{BLACK}仅显示列车
STR_DEPARTURES_SHOW_ROAD_VEHICLES_TOOLTIP :{BLACK}仅显示汽车
@ -1373,8 +1371,6 @@ STR_CONFIG_DEPARTURE_LARGER_FONT :适用较大的
STR_CONFIG_DEPARTURE_LARGER_FONT_HELPTEXT :是否使用较大的字体来显示在车站列表中的即将到达的车站
STR_CONFIG_DEPARTURE_DESTINATION_TYPE :添加标志以区分码头与机场:{STRING}
STR_CONFIG_DEPARTURE_DESTINATION_TYPE_HELPTEXT :在目的地是码头或机场时,添加一个标志加以区分
STR_CONFIG_DEPARTURE_SHOW_BOTH :将出发和到达时间合并至一行:{STRING}
STR_CONFIG_DEPARTURE_SHOW_BOTH_HELPTEXT :在同一行中显示出发和到达时间而不是将其分开
STR_CONFIG_DEPARTURE_SMART_TERMINUS :不显示不久后能被另一趟载具到达的目的地:{STRING}
STR_CONFIG_DEPARTURE_SMART_TERMINUS_HELPTEXT :使否显示不久后会有另一辆载具到达的目的地
STR_CONFIG_DEPARTURE_CONDITIONALS :条件性调度计划处理方式:{STRING}

View File

@ -2315,7 +2315,6 @@ static SettingsContainer &GetSettingsTree()
departureboards->Add(new SettingEntry("gui.departure_show_vehicle_color"));
departureboards->Add(new SettingEntry("gui.departure_larger_font"));
departureboards->Add(new SettingEntry("gui.departure_destination_type"));
departureboards->Add(new SettingEntry("gui.departure_show_both"));
departureboards->Add(new SettingEntry("gui.departure_smart_terminus"));
departureboards->Add(new SettingEntry("gui.departure_conditionals"));
departureboards->Add(new SettingEntry("gui.departure_show_all_stops"));

View File

@ -246,7 +246,6 @@ struct GUISettings : public TimeSettings {
bool departure_show_vehicle_color; ///< whether to show vehicle type icons in silver instead of orange
bool departure_larger_font; ///< whether to show the calling at list in a larger font
bool departure_destination_type; ///< whether to show destination types for ports and airports
bool departure_show_both; ///< whether to show departure and arrival times on the same line
bool departure_smart_terminus; ///< whether to only show passenger services
uint8_t departure_conditionals; ///< how to handle conditional orders
bool departure_show_all_stops; ///< whether to show stops regardless of loading/unloading done at them

View File

@ -927,14 +927,6 @@ str = STR_CONFIG_DEPARTURE_DESTINATION_TYPE
strhelp = STR_CONFIG_DEPARTURE_DESTINATION_TYPE_HELPTEXT
post_cb = [](auto) { InvalidateWindowClassesData(WC_DEPARTURES_BOARD, 1); }
[SDTC_BOOL]
var = gui.departure_show_both
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_PATCH
def = false
str = STR_CONFIG_DEPARTURE_SHOW_BOTH
strhelp = STR_CONFIG_DEPARTURE_SHOW_BOTH_HELPTEXT
post_cb = [](auto) { InvalidateWindowClassesData(WC_DEPARTURES_BOARD, 1); }
[SDTC_BOOL]
var = gui.departure_smart_terminus
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_PATCH

View File

@ -16,8 +16,7 @@ enum DeparturesWindowWidgets {
WID_DB_LIST, ///< List of departures
WID_DB_SCROLLBAR, ///< List scrollbar
WID_DB_CARGO_MODE, ///< Cargo filter mode
WID_DB_SHOW_DEPS, ///< Toggle departures button
WID_DB_SHOW_ARRS, ///< Toggle arrivals button
WID_DB_DEPARTURE_MODE, ///< Departure type mode
WID_DB_SHOW_VIA, ///< Toggle via button
WID_DB_SHOW_TRAINS, ///< Toggle trains button
WID_DB_SHOW_ROADVEHS, ///< Toggle road vehicles button