Bläddra i källkod

Stop trying to select a value past the end of the list.

Also some minor tidying.
pull/334/head
Greg Holmes 9 år sedan
förälder
incheckning
8c2b54485d

+ 45
- 24
ui_swing/src/com/dmdirc/addons/ui_swing/dialogs/aliases/AliasManagerDialog.java Visa fil

@@ -24,13 +24,13 @@ package com.dmdirc.addons.ui_swing.dialogs.aliases;
24 24
 
25 25
 import com.dmdirc.DMDircMBassador;
26 26
 import com.dmdirc.addons.ui_swing.UIUtilities;
27
+import com.dmdirc.addons.ui_swing.components.IconManager;
27 28
 import com.dmdirc.addons.ui_swing.components.text.TextLabel;
28 29
 import com.dmdirc.addons.ui_swing.components.validating.ValidationFactory;
29 30
 import com.dmdirc.addons.ui_swing.dialogs.StandardDialog;
30 31
 import com.dmdirc.addons.ui_swing.injection.MainWindow;
31 32
 import com.dmdirc.commandparser.aliases.Alias;
32 33
 import com.dmdirc.interfaces.ui.AliasDialogModel;
33
-import com.dmdirc.addons.ui_swing.components.IconManager;
34 34
 import com.dmdirc.util.validators.NotEmptyValidator;
35 35
 
36 36
 import java.awt.Dimension;
@@ -53,22 +53,57 @@ import net.miginfocom.swing.MigLayout;
53 53
 public class AliasManagerDialog extends StandardDialog {
54 54
 
55 55
     private static final long serialVersionUID = 1;
56
+    private final AliasDialogModel model;
57
+    private final IconManager iconManager;
58
+    private final DMDircMBassador eventBus;
59
+    private JList<Alias> aliasList;
60
+    private JTextField command;
61
+    private JSpinner argumentsNumber;
62
+    private JTextArea response;
63
+    private JButton addAlias;
64
+    private JButton deleteAlias;
65
+    private JScrollPane responseScroll;
56 66
 
57 67
     @Inject
58 68
     public AliasManagerDialog(@MainWindow final Window mainFrame, final AliasDialogModel model,
59 69
             final IconManager iconManager, final DMDircMBassador eventBus) {
60 70
         super(mainFrame, ModalityType.DOCUMENT_MODAL);
71
+        this.model = model;
72
+        this.iconManager = iconManager;
73
+        this.eventBus = eventBus;
74
+        initComponents();
75
+        layoutComponents();
76
+    }
77
+
78
+    @Override
79
+    public void display() {
61 80
         final AliasManagerLinker linker = new AliasManagerLinker(model, this, iconManager);
81
+        UIUtilities.addUndoManager(eventBus, response);
82
+        linker.bindCommandList(aliasList);
83
+        linker.bindCommand(command);
84
+        linker.bindArgumentsNumber(argumentsNumber);
85
+        linker.bindResponse(response, responseScroll);
86
+        linker.bindAddAlias(addAlias);
87
+        linker.bindDeleteAlias(deleteAlias);
88
+        linker.bindOKButton(getOkButton());
89
+        linker.bindCancelButton(getCancelButton());
90
+        linker.init();
91
+        model.loadModel();
92
+        super.display();
93
+    }
94
+
95
+    private void initComponents() {
62 96
         setTitle("Alias Manager");
63
-        final JList<Alias> aliasList = new JList<>();
64
-        final JTextField command = new JTextField();
65
-        final JSpinner argumentsNumber = new JSpinner();
66
-        final JTextArea response = new JTextArea();
67
-        final JButton addAlias = new JButton("Add Alias");
68
-        final JButton deleteAlias = new JButton("Delete Alias");
69
-        final JScrollPane responseScroll = new JScrollPane(response);
70
-        getOkButton();
71
-        getCancelButton();
97
+        aliasList = new JList<>();
98
+        command = new JTextField();
99
+        argumentsNumber = new JSpinner();
100
+        response = new JTextArea();
101
+        addAlias = new JButton("Add Alias");
102
+        deleteAlias = new JButton("Delete Alias");
103
+        responseScroll = new JScrollPane(response);
104
+    }
105
+
106
+    private void layoutComponents() {
72 107
         setMinimumSize(new Dimension(800, 400));
73 108
         setPreferredSize(new Dimension(800, 400));
74 109
         setLayout(new MigLayout("flowy, fill", "[][][grow]", "[][][][grow][]"));
@@ -92,19 +127,5 @@ public class AliasManagerDialog extends StandardDialog {
92 127
 
93 128
         add(getLeftButton(), "flowx, split 3, right, sg button");
94 129
         add(getRightButton(), "sg button");
95
-
96
-        UIUtilities.addUndoManager(eventBus, response);
97
-
98
-        linker.bindCommandList(aliasList);
99
-        linker.bindCommand(command);
100
-        linker.bindArgumentsNumber(argumentsNumber);
101
-        linker.bindResponse(response, responseScroll);
102
-        linker.bindAddAlias(addAlias);
103
-        linker.bindDeleteAlias(deleteAlias);
104
-        linker.bindOKButton(getOkButton());
105
-        linker.bindCancelButton(getCancelButton());
106
-        linker.init();
107
-        model.loadModel();
108 130
     }
109
-
110 131
 }

+ 1
- 1
ui_swing/src/com/dmdirc/addons/ui_swing/dialogs/aliases/AliasManagerLinker.java Visa fil

@@ -172,7 +172,7 @@ public class AliasManagerLinker implements AliasDialogModelListener {
172 172
         commandModel.remove(alias);
173 173
         if (index >= commandModel.getSize()) {
174 174
             model.setSelectedAlias(Optional.ofNullable(
175
-                    commandModel.getElementAt(commandModel.getSize() - 1)));
175
+                    commandModel.getElementAt(commandModel.getSize())));
176 176
         } else if (index == -1 && !commandModel.isEmpty()) {
177 177
             model.setSelectedAlias(Optional.ofNullable(commandModel.get(0)));
178 178
         } else {

Laddar…
Avbryt
Spara