Browse Source

Add a string array row comparator to the alias dialog response column.

Fixes issue 4146

Change-Id: I1bfbf9356f21ebed5a7adc0c8e0a1d3a8d3ad300
Reviewed-on: http://gerrit.dmdirc.com/1242
Automatic-Compile: DMDirc Local Commits <dmdirc@googlemail.com>
Reviewed-by: Shane Mc Cormack <shane@dmdirc.com>
tags/0.6.4
Greboid 14 years ago
parent
commit
a668406f3d

src/com/dmdirc/addons/ui_swing/dialogs/actionsmanager/StringArrayComparator.java → src/com/dmdirc/addons/ui_swing/dialogs/StringArrayComparator.java View File

@@ -20,7 +20,7 @@
20 20
  * SOFTWARE.
21 21
  */
22 22
 
23
-package com.dmdirc.addons.ui_swing.dialogs.actionsmanager;
23
+package com.dmdirc.addons.ui_swing.dialogs;
24 24
 
25 25
 import java.util.Arrays;
26 26
 import java.util.Comparator;

+ 1
- 0
src/com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionsGroupPanel.java View File

@@ -22,6 +22,7 @@
22 22
 
23 23
 package com.dmdirc.addons.ui_swing.dialogs.actionsmanager;
24 24
 
25
+import com.dmdirc.addons.ui_swing.dialogs.StringArrayComparator;
25 26
 import com.dmdirc.actions.Action;
26 27
 import com.dmdirc.actions.ActionGroup;
27 28
 import com.dmdirc.addons.ui_swing.components.PackingTable;

+ 8
- 4
src/com/dmdirc/addons/ui_swing/dialogs/aliases/AliasManagerDialog.java View File

@@ -33,6 +33,7 @@ import com.dmdirc.actions.wrappers.AliasWrapper;
33 33
 import com.dmdirc.addons.ui_swing.components.PackingTable;
34 34
 import com.dmdirc.addons.ui_swing.dialogs.StandardDialog;
35 35
 import com.dmdirc.addons.ui_swing.dialogs.StandardQuestionDialog;
36
+import com.dmdirc.addons.ui_swing.dialogs.StringArrayComparator;
36 37
 
37 38
 import java.awt.Dimension;
38 39
 import java.awt.Window;
@@ -50,6 +51,7 @@ import javax.swing.ListSelectionModel;
50 51
 import javax.swing.event.ListSelectionEvent;
51 52
 import javax.swing.event.ListSelectionListener;
52 53
 import javax.swing.table.TableCellRenderer;
54
+import javax.swing.table.TableRowSorter;
53 55
 
54 56
 import net.miginfocom.layout.PlatformDefaults;
55 57
 import net.miginfocom.swing.MigLayout;
@@ -166,8 +168,6 @@ public final class AliasManagerDialog extends StandardDialog implements
166 168
                 }
167 169
             }
168 170
         };
169
-
170
-        table.setAutoCreateRowSorter(true);
171 171
         table.setAutoCreateColumnsFromModel(true);
172 172
         table.setColumnSelectionAllowed(false);
173 173
         table.setCellSelectionEnabled(false);
@@ -175,10 +175,14 @@ public final class AliasManagerDialog extends StandardDialog implements
175 175
         table.setFillsViewportHeight(false);
176 176
         table.setRowSelectionAllowed(true);
177 177
         table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
178
-        table.getRowSorter().toggleSortOrder(0);
179
-
180 178
         table.getTableHeader().setReorderingAllowed(false);
181 179
 
180
+        final TableRowSorter<AliasTableModel> sorter =
181
+                new TableRowSorter<AliasTableModel>(tableModel);
182
+        sorter.setComparator(2, new StringArrayComparator());
183
+        table.setRowSorter(sorter);
184
+        table.getRowSorter().toggleSortOrder(0);
185
+
182 186
         scrollPane.setViewportView(table);
183 187
 
184 188
         aliasDetails = new AliasPanel();

Loading…
Cancel
Save