Skip to content

Commit e0228d6

Browse files
authored
Merge pull request #6559 from psikomonkie/issue/6548/sort-by-age-2
Issue 6548: PersonnelTableModelColumn's cell value should be a date to allow proper sorting
2 parents 9b43149 + 36cc259 commit e0228d6

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

MekHQ/src/mekhq/gui/dialog/BatchXPDialog.java

+6-2
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import java.util.ResourceBundle;
4040
import javax.swing.*;
4141
import javax.swing.RowSorter.SortKey;
42+
import javax.swing.table.TableCellRenderer;
4243
import javax.swing.table.TableColumn;
4344
import javax.swing.table.TableRowSorter;
4445

@@ -58,7 +59,6 @@
5859
import mekhq.gui.enums.PersonnelTableModelColumn;
5960
import mekhq.gui.model.PersonnelTableModel;
6061
import mekhq.gui.utilities.JScrollPaneWithSpeed;
61-
import mekhq.gui.utilities.MekHqTableCellRenderer;
6262

6363
public final class BatchXPDialog extends JDialog {
6464
private static final MMLogger logger = MMLogger.create(BatchXPDialog.class);
@@ -137,7 +137,7 @@ private JComponent getPersonnelTable() {
137137
}
138138

139139
tableColumn.setPreferredWidth(column.getWidth());
140-
tableColumn.setCellRenderer(new MekHqTableCellRenderer());
140+
tableColumn.setCellRenderer(getRenderer());
141141
columnModel.setColumnVisible(tableColumn, true);
142142

143143
personnelSorter.setComparator(column.ordinal(), column.getComparator(campaign));
@@ -156,6 +156,10 @@ private JComponent getPersonnelTable() {
156156
return pane;
157157
}
158158

159+
private TableCellRenderer getRenderer() {
160+
return personnelModel.new Renderer();
161+
}
162+
159163
private JComponent getButtonPanel() {
160164
JPanel panel = new JPanel();
161165
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));

MekHQ/src/mekhq/gui/enums/PersonnelTableModelColumn.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -536,8 +536,7 @@ public String getCellValue(final Campaign campaign, final PersonnelMarket person
536536
return person.getPostNominal();
537537
case CALLSIGN:
538538
return person.getCallsign();
539-
case AGE:
540-
return String.valueOf(person.getAge(campaign.getLocalDate()));
539+
case AGE: //Age's cell value must return birthday to allow sorting
541540
case BIRTHDAY:
542541
return MekHQ.getMHQOptions().getDisplayFormattedDate(person.getDateOfBirth());
543542
case PERSONNEL_STATUS:

0 commit comments

Comments
 (0)