From 69f47caf3f9e59885b287188dacd5e215781eb3d Mon Sep 17 00:00:00 2001 From: frosch Date: Wed, 24 Jan 2024 22:31:19 +0100 Subject: [PATCH] Codechange: Remove TKM from vehicle list sorting dropdowns. --- src/group_gui.cpp | 6 ++++-- src/lang/english.txt | 18 ++++++++++------ src/vehicle_gui.cpp | 48 ++++++++++++++++++++++++++++++++++++++---- src/vehicle_gui_base.h | 18 +++++----------- 4 files changed, 65 insertions(+), 25 deletions(-) diff --git a/src/group_gui.cpp b/src/group_gui.cpp index 79b04715c4..5b64d37d25 100644 --- a/src/group_gui.cpp +++ b/src/group_gui.cpp @@ -418,8 +418,10 @@ public: break; case WID_GL_SORT_BY_DROPDOWN: - size->width = GetStringListWidth(this->vehicle_group_none_sorter_names); - size->width = std::max(size->width, GetStringListWidth(this->vehicle_group_shared_orders_sorter_names)); + size->width = GetStringListWidth(this->vehicle_group_none_sorter_names_calendar); + size->width = std::max(size->width, GetStringListWidth(this->vehicle_group_none_sorter_names_wallclock)); + size->width = std::max(size->width, GetStringListWidth(this->vehicle_group_shared_orders_sorter_names_calendar)); + size->width = std::max(size->width, GetStringListWidth(this->vehicle_group_shared_orders_sorter_names_wallclock)); size->width += padding.width; break; diff --git a/src/lang/english.txt b/src/lang/english.txt index dc8326c4fd..462d15d3f9 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -331,8 +331,10 @@ STR_SORT_BY_PRODUCTION :Production STR_SORT_BY_TYPE :Type STR_SORT_BY_TRANSPORTED :Transported STR_SORT_BY_NUMBER :Number -STR_SORT_BY_PROFIT_LAST_YEAR :Profit last {TKM year period} -STR_SORT_BY_PROFIT_THIS_YEAR :Profit this {TKM year period} +STR_SORT_BY_PROFIT_LAST_YEAR :Profit last year +STR_SORT_BY_PROFIT_LAST_PERIOD :Profit last period +STR_SORT_BY_PROFIT_THIS_YEAR :Profit this year +STR_SORT_BY_PROFIT_THIS_PERIOD :Profit this period STR_SORT_BY_AGE :Age STR_SORT_BY_RELIABILITY :Reliability STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Total capacity per cargo type @@ -359,10 +361,14 @@ STR_SORT_BY_RANGE :Range STR_SORT_BY_POPULATION :Population STR_SORT_BY_RATING :Rating STR_SORT_BY_NUM_VEHICLES :Number of vehicles -STR_SORT_BY_TOTAL_PROFIT_LAST_YEAR :Total profit last {TKM year period} -STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Total profit this {TKM year period} -STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Average profit last {TKM year period} -STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Average profit this {TKM year period} +STR_SORT_BY_TOTAL_PROFIT_LAST_YEAR :Total profit last year +STR_SORT_BY_TOTAL_PROFIT_LAST_PERIOD :Total profit last period +STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Total profit this year +STR_SORT_BY_TOTAL_PROFIT_THIS_PERIOD :Total profit this period +STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Average profit last year +STR_SORT_BY_AVERAGE_PROFIT_LAST_PERIOD :Average profit last period +STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Average profit this year +STR_SORT_BY_AVERAGE_PROFIT_THIS_PERIOD :Average profit this period # Group by options for vehicle list STR_GROUP_BY_NONE :None diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index f213d52301..71870ce196 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -93,7 +93,7 @@ BaseVehicleListWindow::VehicleGroupSortFunction * const BaseVehicleListWindow::v &VehicleIndividualToGroupSorterWrapper, }; -const StringID BaseVehicleListWindow::vehicle_group_none_sorter_names[] = { +const StringID BaseVehicleListWindow::vehicle_group_none_sorter_names_calendar[] = { STR_SORT_BY_NUMBER, STR_SORT_BY_NAME, STR_SORT_BY_AGE, @@ -110,6 +110,23 @@ const StringID BaseVehicleListWindow::vehicle_group_none_sorter_names[] = { INVALID_STRING_ID }; +const StringID BaseVehicleListWindow::vehicle_group_none_sorter_names_wallclock[] = { + STR_SORT_BY_NUMBER, + STR_SORT_BY_NAME, + STR_SORT_BY_AGE, + STR_SORT_BY_PROFIT_THIS_PERIOD, + STR_SORT_BY_PROFIT_LAST_PERIOD, + STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE, + STR_SORT_BY_RELIABILITY, + STR_SORT_BY_MAX_SPEED, + STR_SORT_BY_MODEL, + STR_SORT_BY_VALUE, + STR_SORT_BY_LENGTH, + STR_SORT_BY_LIFE_TIME, + STR_SORT_BY_TIMETABLE_DELAY, + INVALID_STRING_ID +}; + BaseVehicleListWindow::VehicleGroupSortFunction * const BaseVehicleListWindow::vehicle_group_shared_orders_sorter_funcs[] = { &VehicleGroupLengthSorter, &VehicleGroupTotalProfitThisYearSorter, @@ -118,7 +135,7 @@ BaseVehicleListWindow::VehicleGroupSortFunction * const BaseVehicleListWindow::v &VehicleGroupAverageProfitLastYearSorter, }; -const StringID BaseVehicleListWindow::vehicle_group_shared_orders_sorter_names[] = { +const StringID BaseVehicleListWindow::vehicle_group_shared_orders_sorter_names_calendar[] = { STR_SORT_BY_NUM_VEHICLES, STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR, STR_SORT_BY_TOTAL_PROFIT_LAST_YEAR, @@ -127,6 +144,15 @@ const StringID BaseVehicleListWindow::vehicle_group_shared_orders_sorter_names[] INVALID_STRING_ID }; +const StringID BaseVehicleListWindow::vehicle_group_shared_orders_sorter_names_wallclock[] = { + STR_SORT_BY_NUM_VEHICLES, + STR_SORT_BY_TOTAL_PROFIT_THIS_PERIOD, + STR_SORT_BY_TOTAL_PROFIT_LAST_PERIOD, + STR_SORT_BY_AVERAGE_PROFIT_THIS_PERIOD, + STR_SORT_BY_AVERAGE_PROFIT_LAST_PERIOD, + INVALID_STRING_ID +}; + const StringID BaseVehicleListWindow::vehicle_group_by_names[] = { STR_GROUP_BY_NONE, STR_GROUP_BY_SHARED_ORDERS, @@ -147,6 +173,18 @@ BaseVehicleListWindow::BaseVehicleListWindow(WindowDesc *desc, WindowNumber wno) this->UpdateSortingFromGrouping(); } +const StringID *BaseVehicleListWindow::GetVehicleSorterNames() +{ + switch (this->grouping) { + case GB_NONE: + return TimerGameEconomy::UsingWallclockUnits() ? vehicle_group_none_sorter_names_wallclock : vehicle_group_none_sorter_names_calendar; + case GB_SHARED_ORDERS: + return TimerGameEconomy::UsingWallclockUnits() ? vehicle_group_shared_orders_sorter_names_wallclock : vehicle_group_shared_orders_sorter_names_calendar; + default: + NOT_REACHED(); + } +} + /** * Get the number of digits of space required for the given number. * @param number The number. @@ -1885,8 +1923,10 @@ public: break; case WID_VL_SORT_BY_PULLDOWN: - size->width = GetStringListWidth(this->vehicle_group_none_sorter_names); - size->width = std::max(size->width, GetStringListWidth(this->vehicle_group_shared_orders_sorter_names)); + size->width = GetStringListWidth(this->vehicle_group_none_sorter_names_calendar); + size->width = std::max(size->width, GetStringListWidth(this->vehicle_group_none_sorter_names_wallclock)); + size->width = std::max(size->width, GetStringListWidth(this->vehicle_group_shared_orders_sorter_names_calendar)); + size->width = std::max(size->width, GetStringListWidth(this->vehicle_group_shared_orders_sorter_names_wallclock)); size->width += padding.width; break; diff --git a/src/vehicle_gui_base.h b/src/vehicle_gui_base.h index c4ca5f5000..6eac9aa0d3 100644 --- a/src/vehicle_gui_base.h +++ b/src/vehicle_gui_base.h @@ -99,8 +99,10 @@ struct BaseVehicleListWindow : public Window { static const StringID vehicle_depot_name[]; static const StringID vehicle_group_by_names[]; - static const StringID vehicle_group_none_sorter_names[]; - static const StringID vehicle_group_shared_orders_sorter_names[]; + static const StringID vehicle_group_none_sorter_names_calendar[]; + static const StringID vehicle_group_none_sorter_names_wallclock[]; + static const StringID vehicle_group_shared_orders_sorter_names_calendar[]; + static const StringID vehicle_group_shared_orders_sorter_names_wallclock[]; static VehicleGroupSortFunction * const vehicle_group_none_sorter_funcs[]; static VehicleGroupSortFunction * const vehicle_group_shared_orders_sorter_funcs[]; @@ -122,17 +124,7 @@ struct BaseVehicleListWindow : public Window { Dimension GetActionDropdownSize(bool show_autoreplace, bool show_group, bool show_create); DropDownList BuildActionDropdownList(bool show_autoreplace, bool show_group, bool show_create); - const StringID *GetVehicleSorterNames() - { - switch (this->grouping) { - case GB_NONE: - return vehicle_group_none_sorter_names; - case GB_SHARED_ORDERS: - return vehicle_group_shared_orders_sorter_names; - default: - NOT_REACHED(); - } - } + const StringID *GetVehicleSorterNames(); VehicleGroupSortFunction * const *GetVehicleSorterFuncs() {