Browse Source

Some groundwork for shift+tab cycling backwards in tab completers

issue 643

Change-Id: I820293095b11f8e46be29983ee9e9b1d7fd7ec5b
Reviewed-on: http://gerrit.dmdirc.com/593
Automatic-Compile: Gregory Holmes <greg@dmdirc.com>
Reviewed-by: Shane Mc Cormack <shane@dmdirc.com>
tags/0.6.3
Gregory Holmes 14 years ago
parent
commit
9632dbd8f2

+ 34
- 1
src/com/dmdirc/addons/ui_swing/components/SwingInputHandler.java View File

154
                     @Override
154
                     @Override
155
                     protected Object doInBackground() throws Exception {
155
                     protected Object doInBackground() throws Exception {
156
                         localTarget.setEditable(false);
156
                         localTarget.setEditable(false);
157
-                        doTabCompletion();
157
+                        doTabCompletion(false);
158
+                        return null;
159
+                    }
160
+
161
+                    /** {@inheritDoc} */
162
+                    @Override
163
+                    protected void done() {
164
+                        localTarget.setEditable(true);
165
+                    }
166
+                }.execute();
167
+            }
168
+        });
169
+        localTarget.getActionMap().put("insert-shift-tab", new AbstractAction() {
170
+
171
+            /**
172
+             * A version number for this class. It should be changed whenever the class
173
+             * structure is changed (or anything else that would prevent serialized
174
+             * objects being unserialized with the new class).
175
+             */
176
+            private static final long serialVersionUID = 1;
177
+
178
+            /** {@inheritDoc} */
179
+            @Override
180
+            public void actionPerformed(final ActionEvent e) {
181
+                new LoggingSwingWorker() {
182
+
183
+                    /** {@inheritDoc} */
184
+                    @Override
185
+                    protected Object doInBackground() throws Exception {
186
+                        localTarget.setEditable(false);
187
+                        doTabCompletion(true);
158
                         return null;
188
                         return null;
159
                     }
189
                     }
160
 
190
 
168
         });
198
         });
169
         localTarget.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).
199
         localTarget.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).
170
                 put(KeyStroke.getKeyStroke(KeyEvent.VK_TAB, 0), "insert-tab");
200
                 put(KeyStroke.getKeyStroke(KeyEvent.VK_TAB, 0), "insert-tab");
201
+        localTarget.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).
202
+                put(KeyStroke.getKeyStroke(KeyEvent.VK_TAB,
203
+                KeyEvent.SHIFT_MASK), "insert-shift-tab");
171
     }
204
     }
172
 
205
 
173
     /** {@inheritDoc} */
206
     /** {@inheritDoc} */

+ 2
- 2
src/com/dmdirc/addons/ui_swing/dialogs/NewServerDialog.java View File

285
                     }
285
                     }
286
                 }.execute();
286
                 }.execute();
287
             } else {
287
             } else {
288
-                final com.dmdirc.ui.interfaces.Window active = mainFrame.getActiveFrame();
289
-                final Server server = ServerManager.getServerManager().getServerFromFrame(active);
288
+                final Server server = mainFrame.getActiveFrame().getContainer().getServer();
290
 
289
 
291
                 new LoggingSwingWorker() {
290
                 new LoggingSwingWorker() {
292
 
291
 
292
+                    /** {@inheritDoc} */
293
                     @Override
293
                     @Override
294
                     protected Object doInBackground() throws Exception {
294
                     protected Object doInBackground() throws Exception {
295
                         if (server == null) {
295
                         if (server == null) {

Loading…
Cancel
Save