Browse Source

Adds deferred tab completion for nowplaying command

Fixes issue 3686

Change-Id: I84d3f78ad76da76b77198941e2c7cb3cdb9a2c2c
Reviewed-on: http://gerrit.dmdirc.com/761
Automatic-Compile: Chris Smith <chris@dmdirc.com>
Reviewed-by: Chris Smith <chris@dmdirc.com>
tags/0.6.3
Simon Mott 14 years ago
parent
commit
a224f94b4c
1 changed files with 13 additions and 7 deletions
  1. 13
    7
      src/com/dmdirc/addons/nowplaying/NowPlayingCommand.java

+ 13
- 7
src/com/dmdirc/addons/nowplaying/NowPlayingCommand.java View File

@@ -30,6 +30,7 @@ import com.dmdirc.commandparser.CommandManager;
30 30
 import com.dmdirc.commandparser.commands.IntelligentCommand;
31 31
 import com.dmdirc.config.IdentityManager;
32 32
 import com.dmdirc.ui.input.AdditionalTabTargets;
33
+import com.dmdirc.ui.input.TabCompleter;
33 34
 import com.dmdirc.ui.interfaces.InputWindow;
34 35
 
35 36
 import java.util.List;
@@ -172,22 +173,27 @@ public final class NowPlayingCommand extends ChatCommand implements IntelligentC
172 173
     @Override
173 174
     public AdditionalTabTargets getSuggestions(final int arg, 
174 175
             final List<String> previousArgs) {
175
-        final AdditionalTabTargets res = new AdditionalTabTargets();
176
-        
177
-        res.excludeAll();
178
-        
176
+
179 177
         if (arg == 0) {
178
+            final AdditionalTabTargets res = TabCompleter.
179
+                    getIntelligentResults(arg, previousArgs, 0);
180 180
             res.add("--sources");
181 181
             res.add("--source");
182
+            return res;
182 183
         } else if (arg == 1 && previousArgs.get(0).equalsIgnoreCase("--source")) {
184
+            final AdditionalTabTargets res = new AdditionalTabTargets();
185
+            res.excludeAll();
183 186
             for (MediaSource source : parent.getSources()) {
184 187
                 if (source.getState() != MediaSourceState.CLOSED) {
185 188
                     res.add(source.getAppName());
186 189
                 }
187 190
             }
191
+            return res;
192
+        } else if (arg > 1 && previousArgs.get(0).equalsIgnoreCase("--source")) {
193
+            return TabCompleter.getIntelligentResults(arg, previousArgs, 2);
194
+        } else {
195
+            return TabCompleter.getIntelligentResults(arg, previousArgs,
196
+                    previousArgs.get(0).equalsIgnoreCase("--sources") ? 1 : 0);
188 197
         }
189
-        
190
-        return res;
191 198
     }
192
-    
193 199
 }

Loading…
Cancel
Save