|
@@ -31,9 +31,11 @@ import com.dmdirc.interfaces.config.AggregateConfigProvider;
|
31
|
31
|
import com.dmdirc.interfaces.config.ConfigChangeListener;
|
32
|
32
|
import com.dmdirc.interfaces.config.ConfigProvider;
|
33
|
33
|
import com.dmdirc.parser.common.ChannelListModeItem;
|
34
|
|
-import com.dmdirc.util.collections.MapList;
|
35
|
34
|
import com.dmdirc.util.validators.NotEmptyValidator;
|
36
|
35
|
|
|
36
|
+import com.google.common.collect.ArrayListMultimap;
|
|
37
|
+import com.google.common.collect.Multimap;
|
|
38
|
+
|
37
|
39
|
import java.awt.Dialog.ModalityType;
|
38
|
40
|
import java.awt.Window;
|
39
|
41
|
import java.awt.event.ActionEvent;
|
|
@@ -85,7 +87,7 @@ public final class ChannelListModesPane extends JPanel implements ActionListener
|
85
|
87
|
/** list modes available on this server. */
|
86
|
88
|
private final char[] listModesArray;
|
87
|
89
|
/** Modes on creation. */
|
88
|
|
- private final MapList<Character, ChannelListModeItem> existingListItems;
|
|
90
|
+ private final Multimap<Character, ChannelListModeItem> existingListItems;
|
89
|
91
|
/** Mode count label. */
|
90
|
92
|
private final JLabel modeCount;
|
91
|
93
|
/** Extended info toggle. */
|
|
@@ -140,7 +142,7 @@ public final class ChannelListModesPane extends JPanel implements ActionListener
|
140
|
142
|
listModesPanels = new ArrayList<>();
|
141
|
143
|
listModesArray = groupChat.getConnection().get().getParser().get()
|
142
|
144
|
.getListChannelModes().toCharArray();
|
143
|
|
- existingListItems = new MapList<>();
|
|
145
|
+ existingListItems = ArrayListMultimap.create();
|
144
|
146
|
listModesMenu = new JComboBox<>(new DefaultComboBoxModel<>());
|
145
|
147
|
addListModeButton = new JButton("Add");
|
146
|
148
|
removeListModeButton = new JButton("Remove");
|
|
@@ -168,7 +170,7 @@ public final class ChannelListModesPane extends JPanel implements ActionListener
|
168
|
170
|
if (listItems == null) {
|
169
|
171
|
continue;
|
170
|
172
|
}
|
171
|
|
- existingListItems.add(mode, new ArrayList<>(listItems));
|
|
173
|
+ existingListItems.putAll(mode, listItems);
|
172
|
174
|
final DefaultListModel<ChannelListModeItem> model
|
173
|
175
|
= (DefaultListModel<ChannelListModeItem>) listModesPanels.get(i).getModel();
|
174
|
176
|
|
|
@@ -248,12 +250,11 @@ public final class ChannelListModesPane extends JPanel implements ActionListener
|
248
|
250
|
final Map<ChannelListModeItem, Character> currentModes = new HashMap<>();
|
249
|
251
|
final Map<ChannelListModeItem, Character> newModes = new HashMap<>();
|
250
|
252
|
|
251
|
|
- for (int i = 0; i < listModesArray.length;
|
252
|
|
- i++) {
|
|
253
|
+ for (int i = 0; i < listModesArray.length; i++) {
|
253
|
254
|
final char mode = listModesArray[i];
|
254
|
255
|
final Enumeration<?> values = ((DefaultListModel<ChannelListModeItem>) listModesPanels
|
255
|
256
|
.get(i).getModel()).elements();
|
256
|
|
- final List<ChannelListModeItem> listItems = existingListItems.get(mode);
|
|
257
|
+ final Collection<ChannelListModeItem> listItems = existingListItems.get(mode);
|
257
|
258
|
|
258
|
259
|
for (ChannelListModeItem listItem : listItems) {
|
259
|
260
|
currentModes.put(listItem, mode);
|