diff --git a/src/group_gui.cpp b/src/group_gui.cpp index a46991d0ec..45c57e6fa5 100644 --- a/src/group_gui.cpp +++ b/src/group_gui.cpp @@ -1032,6 +1032,7 @@ public: case WID_GL_SORT_BY_DROPDOWN: this->vehgroups.SetSortType(index); + this->UpdateSortingInterval(); break; case WID_GL_FILTER_BY_CARGO: // Select a cargo filter criteria this->SetCargoFilterIndex(index); diff --git a/src/tracerestrict_gui.cpp b/src/tracerestrict_gui.cpp index 45506cbb13..f2c1a5b31a 100644 --- a/src/tracerestrict_gui.cpp +++ b/src/tracerestrict_gui.cpp @@ -3680,6 +3680,7 @@ public: switch (widget) { case WID_TRSL_SORT_BY_DROPDOWN: this->vehgroups.SetSortType(index); + this->UpdateSortingInterval(); break; case WID_TRSL_FILTER_BY_CARGO: // Select a cargo filter criteria diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index c783e8bfe7..69e5ea5e99 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -1995,6 +1995,13 @@ void BaseVehicleListWindow::DrawVehicleListItems(VehicleID selected_vehicle, int } } +void BaseVehicleListWindow::UpdateSortingInterval() +{ + uint16 resort_interval = DAY_TICKS * 10; + if (this->grouping == GB_NONE && this->vehgroups.SortType() == VST_TIMETABLE_DELAY) resort_interval = DAY_TICKS; + this->vehgroups.SetResortInterval(resort_interval); +} + void BaseVehicleListWindow::UpdateSortingFromGrouping() { /* Set up sorting. Make the window-specific _sorting variable @@ -2011,6 +2018,7 @@ void BaseVehicleListWindow::UpdateSortingFromGrouping() this->vehgroups.SetListing(*this->sorting); this->vehgroups.ForceRebuild(); this->vehgroups.NeedResort(); + this->UpdateSortingInterval(); } void BaseVehicleListWindow::UpdateVehicleGroupBy(GroupBy group_by) @@ -2314,6 +2322,7 @@ public: case WID_VL_SORT_BY_PULLDOWN: this->vehgroups.SetSortType(index); + this->UpdateSortingInterval(); break; case WID_VL_FILTER_BY_CARGO: diff --git a/src/vehicle_gui_base.h b/src/vehicle_gui_base.h index 1c1b5f5a9f..c72d165657 100644 --- a/src/vehicle_gui_base.h +++ b/src/vehicle_gui_base.h @@ -133,6 +133,7 @@ public: void OnInit() override; + void UpdateSortingInterval(); void UpdateSortingFromGrouping(); void DrawVehicleListItems(VehicleID selected_vehicle, int line_height, const Rect &r) const;