|
@@ -66,18 +66,14 @@ import net.miginfocom.swing.MigLayout;
|
66
|
66
|
public final class ChannelListModesPane extends JPanel implements ActionListener,
|
67
|
67
|
ListSelectionListener, ConfigChangeListener {
|
68
|
68
|
|
69
|
|
- /**
|
70
|
|
- * A version number for this class. It should be changed whenever the class structure is changed
|
71
|
|
- * (or anything else that would prevent serialized objects being unserialized with the new
|
72
|
|
- * class).
|
73
|
|
- */
|
|
69
|
+ /** A version number for this class. */
|
74
|
70
|
private static final long serialVersionUID = 5;
|
75
|
71
|
/** Channel. */
|
76
|
72
|
private final Channel channel;
|
77
|
73
|
/** Combox box used to switch between list modes. */
|
78
|
|
- private final JComboBox listModesMenu;
|
|
74
|
+ private final JComboBox<String> listModesMenu;
|
79
|
75
|
/** Arraylist of jpanels containing the listmodes. */
|
80
|
|
- private final List<JList> listModesPanels;
|
|
76
|
+ private final List<JList<ChannelListModeItem>> listModesPanels;
|
81
|
77
|
/** JPanel used to show listmodespanels in. */
|
82
|
78
|
private final JScrollPane listModesPanel;
|
83
|
79
|
/** Add list mode button. */
|
|
@@ -95,11 +91,11 @@ public final class ChannelListModesPane extends JPanel implements ActionListener
|
95
|
91
|
/** Parent window. */
|
96
|
92
|
private final Window parentWindow;
|
97
|
93
|
/** Native cell renderer. */
|
98
|
|
- private final ListCellRenderer nativeRenderer;
|
|
94
|
+ private final ListCellRenderer<? super ChannelListModeItem> nativeRenderer;
|
99
|
95
|
/** Cell renderer. */
|
100
|
|
- private ListCellRenderer renderer;
|
|
96
|
+ private ListCellRenderer<? super ChannelListModeItem> renderer;
|
101
|
97
|
/** Mode list. */
|
102
|
|
- private JList list;
|
|
98
|
+ private JList<ChannelListModeItem> list;
|
103
|
99
|
/** The config to read settings from. */
|
104
|
100
|
private final AggregateConfigProvider globalConfig;
|
105
|
101
|
/** The config to write settings to. */
|
|
@@ -131,7 +127,7 @@ public final class ChannelListModesPane extends JPanel implements ActionListener
|
131
|
127
|
this.channel = channel;
|
132
|
128
|
this.parentWindow = parentWindow;
|
133
|
129
|
|
134
|
|
- list = new JList();
|
|
130
|
+ list = new JList<>();
|
135
|
131
|
nativeRenderer = list.getCellRenderer();
|
136
|
132
|
if (channel.getConfigManager().getOptionBool("general", "extendedListModes")) {
|
137
|
133
|
renderer = new ExtendedListModeCellRenderer();
|
|
@@ -143,7 +139,7 @@ public final class ChannelListModesPane extends JPanel implements ActionListener
|
143
|
139
|
listModesArray = channel.getConnection().getParser().getListChannelModes().
|
144
|
140
|
toCharArray();
|
145
|
141
|
existingListItems = new MapList<>();
|
146
|
|
- listModesMenu = new JComboBox(new DefaultComboBoxModel());
|
|
142
|
+ listModesMenu = new JComboBox<>(new DefaultComboBoxModel<String>());
|
147
|
143
|
addListModeButton = new JButton("Add");
|
148
|
144
|
removeListModeButton = new JButton("Remove");
|
149
|
145
|
removeListModeButton.setEnabled(false);
|
|
@@ -171,7 +167,8 @@ public final class ChannelListModesPane extends JPanel implements ActionListener
|
171
|
167
|
continue;
|
172
|
168
|
}
|
173
|
169
|
existingListItems.add(mode, new ArrayList<>(listItems));
|
174
|
|
- final DefaultListModel model = (DefaultListModel) listModesPanels.get(i).getModel();
|
|
170
|
+ final DefaultListModel<ChannelListModeItem> model
|
|
171
|
+ = (DefaultListModel<ChannelListModeItem>) listModesPanels.get(i).getModel();
|
175
|
172
|
|
176
|
173
|
model.removeAllElements();
|
177
|
174
|
for (ChannelListModeItem listItem : listItems) {
|
|
@@ -191,7 +188,8 @@ public final class ChannelListModesPane extends JPanel implements ActionListener
|
191
|
188
|
addListModeButton.setEnabled(true);
|
192
|
189
|
}
|
193
|
190
|
|
194
|
|
- final DefaultComboBoxModel model = (DefaultComboBoxModel) listModesMenu.getModel();
|
|
191
|
+ final DefaultComboBoxModel<String> model = (DefaultComboBoxModel<String>) listModesMenu.
|
|
192
|
+ getModel();
|
195
|
193
|
for (char mode : listModesArray) {
|
196
|
194
|
String modeText = mode + " list";
|
197
|
195
|
if (channel.getConfigManager().hasOptionString("server", "mode" + mode)) {
|
|
@@ -200,7 +198,7 @@ public final class ChannelListModesPane extends JPanel implements ActionListener
|
200
|
198
|
}
|
201
|
199
|
model.addElement(modeText);
|
202
|
200
|
|
203
|
|
- list = new JList(new DefaultListModel());
|
|
201
|
+ list = new JList<>(new DefaultListModel<ChannelListModeItem>());
|
204
|
202
|
list.setCellRenderer(renderer);
|
205
|
203
|
list.setVisibleRowCount(8);
|
206
|
204
|
list.addListSelectionListener(this);
|
|
@@ -294,39 +292,39 @@ public final class ChannelListModesPane extends JPanel implements ActionListener
|
294
|
292
|
iconManager, "Add new " + modeText,
|
295
|
293
|
"Please enter the hostmask for the new " + modeText,
|
296
|
294
|
new NotEmptyValidator()) {
|
297
|
|
- /**
|
298
|
|
- * A version number for this class. It should be changed whenever the class structure is
|
299
|
|
- * changed (or anything else that would prevent serialized objects being unserialized
|
300
|
|
- * with the new class).
|
301
|
|
- */
|
302
|
|
- private static final long serialVersionUID = 1;
|
303
|
|
-
|
304
|
|
- /** {@inheritDoc} */
|
305
|
|
- @Override
|
306
|
|
- public boolean save() {
|
307
|
|
- final DefaultListModel model =
|
308
|
|
- (DefaultListModel) listModesPanels.get(selectedIndex).
|
|
295
|
+ /**
|
|
296
|
+ * A version number for this class. It should be changed whenever the class
|
|
297
|
+ * structure is changed (or anything else that would prevent serialized objects
|
|
298
|
+ * being unserialized with the new class).
|
|
299
|
+ */
|
|
300
|
+ private static final long serialVersionUID = 1;
|
|
301
|
+
|
|
302
|
+ /** {@inheritDoc} */
|
|
303
|
+ @Override
|
|
304
|
+ public boolean save() {
|
|
305
|
+ final DefaultListModel<ChannelListModeItem> model
|
|
306
|
+ = (DefaultListModel<ChannelListModeItem>) listModesPanels.get(selectedIndex).
|
309
|
307
|
getModel();
|
310
|
|
- model.addElement(new ChannelListModeItem(getText(), "",
|
311
|
|
- System.currentTimeMillis() / 1000));
|
312
|
|
- updateModeCount();
|
313
|
|
- return true;
|
314
|
|
- }
|
315
|
|
-
|
316
|
|
- /** {@inheritDoc} */
|
317
|
|
- @Override
|
318
|
|
- public void cancelled() {
|
319
|
|
- //Ignore
|
320
|
|
- }
|
321
|
|
- }.display();
|
|
308
|
+ model.addElement(new ChannelListModeItem(getText(), "",
|
|
309
|
+ System.currentTimeMillis() / 1000));
|
|
310
|
+ updateModeCount();
|
|
311
|
+ return true;
|
|
312
|
+ }
|
|
313
|
+
|
|
314
|
+ /** {@inheritDoc} */
|
|
315
|
+ @Override
|
|
316
|
+ public void cancelled() {
|
|
317
|
+ //Ignore
|
|
318
|
+ }
|
|
319
|
+ }.display();
|
322
|
320
|
}
|
323
|
321
|
|
324
|
322
|
/** Removes a list mode. */
|
325
|
323
|
private void removeListMode() {
|
326
|
324
|
final int selectedIndex = listModesMenu.getSelectedIndex();
|
327
|
|
- final JList list = listModesPanels.get(selectedIndex);
|
328
|
|
- for (Object mode : list.getSelectedValues()) {
|
329
|
|
- ((DefaultListModel) list.getModel()).removeElement(mode);
|
|
325
|
+ final JList<ChannelListModeItem> removeList = listModesPanels.get(selectedIndex);
|
|
326
|
+ for (ChannelListModeItem mode : removeList.getSelectedValuesList()) {
|
|
327
|
+ ((DefaultListModel) removeList.getModel()).removeElement(mode);
|
330
|
328
|
}
|
331
|
329
|
updateModeCount();
|
332
|
330
|
}
|
|
@@ -354,8 +352,8 @@ public final class ChannelListModesPane extends JPanel implements ActionListener
|
354
|
352
|
} else {
|
355
|
353
|
renderer = new ListModeCellRenderer(nativeRenderer);
|
356
|
354
|
}
|
357
|
|
- for (JList list : listModesPanels) {
|
358
|
|
- list.setCellRenderer(renderer);
|
|
355
|
+ for (JList<ChannelListModeItem> renderList : listModesPanels) {
|
|
356
|
+ renderList.setCellRenderer(renderer);
|
359
|
357
|
}
|
360
|
358
|
}
|
361
|
359
|
}
|
|
@@ -368,8 +366,7 @@ public final class ChannelListModesPane extends JPanel implements ActionListener
|
368
|
366
|
@Override
|
369
|
367
|
public void valueChanged(final ListSelectionEvent event) {
|
370
|
368
|
if (!event.getValueIsAdjusting()) {
|
371
|
|
- final int selected =
|
372
|
|
- ((JList) event.getSource()).getSelectedIndex();
|
|
369
|
+ final int selected = ((JList) event.getSource()).getSelectedIndex();
|
373
|
370
|
if (selected == -1) {
|
374
|
371
|
removeListModeButton.setEnabled(false);
|
375
|
372
|
} else {
|
|
@@ -407,8 +404,8 @@ public final class ChannelListModesPane extends JPanel implements ActionListener
|
407
|
404
|
} else {
|
408
|
405
|
renderer = new ExtendedListModeCellRenderer();
|
409
|
406
|
}
|
410
|
|
- for (JList list : listModesPanels) {
|
411
|
|
- list.setCellRenderer(renderer);
|
|
407
|
+ for (JList<ChannelListModeItem> renderList : listModesPanels) {
|
|
408
|
+ renderList.setCellRenderer(renderer);
|
412
|
409
|
}
|
413
|
410
|
}
|
414
|
411
|
|