1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.xnap.gui.action;
21
22 import java.awt.event.ActionEvent;
23 import java.io.File;
24
25 import javax.swing.AbstractAction;
26 import javax.swing.Action;
27
28 import org.xnap.XNap;
29 import org.xnap.gui.DirectoryProvider;
30 import org.xnap.gui.StatusBar;
31 import org.xnap.gui.util.IconHelper;
32
33 /***
34 * Enqueues the files provided by {@link DirectoryProvider} using the
35 * {@link ActionHelper}.
36 */
37 public class EnqueueDirectoryAction extends AbstractAction
38 {
39
40
41
42
43
44 private DirectoryProvider dp;
45
46
47
48 public EnqueueDirectoryAction(DirectoryProvider dp)
49 {
50 this.dp = dp;
51
52 putValue(Action.NAME, XNap.tr("Enqueue Directory"));
53 putValue(Action.SHORT_DESCRIPTION,
54 XNap.tr("Enqueues selected directory."));
55 putValue(IconHelper.XNAP_ICON, "queue.png");
56 }
57
58
59
60 /***
61 * Collects the files from the directory provided by the {@link
62 * DirectoryProvider} and enqueues them using the default {@link
63 * ActionHelper}.
64 */
65 public void actionPerformed(ActionEvent event)
66 {
67 File dir = dp.getDirectory();
68
69 if (dir == null || !dir.isDirectory()) {
70 StatusBar.setText(XNap.tr("No directory selected"));
71 return;
72 }
73
74 final File[] files = dir.listFiles();
75
76 ActionHelper.enqueueFiles(files, false);
77 }
78 }