From 3bde4109f6bc1e1ea6a503dcf9078612f3940a2f Mon Sep 17 00:00:00 2001 From: IllianiCBT Date: Wed, 14 May 2025 13:51:06 -0500 Subject: [PATCH] Fix: #6996 Fixed Sorting of Next Maintenance Column in Hangar --- MekHQ/src/mekhq/gui/HangarTab.java | 1 + MekHQ/src/mekhq/gui/model/UnitTableModel.java | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/MekHQ/src/mekhq/gui/HangarTab.java b/MekHQ/src/mekhq/gui/HangarTab.java index 554ae4ea83..3c12f4cd5c 100644 --- a/MekHQ/src/mekhq/gui/HangarTab.java +++ b/MekHQ/src/mekhq/gui/HangarTab.java @@ -190,6 +190,7 @@ public void initTab() { unitSorter.setComparator(UnitTableModel.COL_PILOT, new PersonTitleStringSorter(getCampaign())); unitSorter.setComparator(UnitTableModel.COL_TECH_CRW, new PersonTitleStringSorter(getCampaign())); unitSorter.setComparator(UnitTableModel.COL_MAINTAIN, new FormattedNumberSorter()); + unitSorter.setComparator(UnitTableModel.COL_MAINTAIN_CYCLE, new NaturalOrderComparator()); unitTable.setRowSorter(unitSorter); List sortKeys = new ArrayList<>(); sortKeys.add(new SortKey(UnitTableModel.COL_TYPE, SortOrder.DESCENDING)); diff --git a/MekHQ/src/mekhq/gui/model/UnitTableModel.java b/MekHQ/src/mekhq/gui/model/UnitTableModel.java index 1bd2ba2567..d26646feac 100644 --- a/MekHQ/src/mekhq/gui/model/UnitTableModel.java +++ b/MekHQ/src/mekhq/gui/model/UnitTableModel.java @@ -292,12 +292,12 @@ public Object getValueAt(int row, int col) { case COL_MAINTAIN -> unit.getMaintenanceCost().toAmountAndSymbolString(); case COL_MAINTAIN_CYCLE -> { if (!campaign.getCampaignOptions().isCheckMaintenance()) { - yield '-'; + yield "-"; // Do not convert this into a character, it will break sorting } boolean needsMaintenance = unit.requiresMaintenance(); if (!needsMaintenance) { - yield '-'; + yield "-"; // Do not convert this into a character, it will break sorting } double daysSinceLastMaintenance = unit.getDaysSinceMaintenance();