|
@@ -30,6 +30,7 @@ import javax.swing.JPanel;
|
30
|
30
|
|
31
|
31
|
import net.miginfocom.swing.MigLayout;
|
32
|
32
|
|
|
33
|
+import uk.co.md87.evetool.ImageManager;
|
33
|
34
|
import uk.co.md87.evetool.Main;
|
34
|
35
|
import uk.co.md87.evetool.api.io.ApiDownloader;
|
35
|
36
|
import uk.co.md87.evetool.api.io.QueueSizeListener;
|
|
@@ -39,7 +40,7 @@ import uk.co.md87.evetool.api.io.QueueSizeListener;
|
39
|
40
|
*
|
40
|
41
|
* @author chris
|
41
|
42
|
*/
|
42
|
|
-public class StatusPanel extends JPanel implements QueueSizeListener {
|
|
43
|
+public class StatusPanel extends JPanel {
|
43
|
44
|
|
44
|
45
|
/**
|
45
|
46
|
* A version number for this class. It should be changed whenever the class
|
|
@@ -51,6 +52,8 @@ public class StatusPanel extends JPanel implements QueueSizeListener {
|
51
|
52
|
/** Labels used to display various pieces of information. */
|
52
|
53
|
private final JLabel leftLabel, centreLabel, rightLabel;
|
53
|
54
|
|
|
55
|
+ private int apiSize = 0, imageSize = 0;
|
|
56
|
+
|
54
|
57
|
/**
|
55
|
58
|
* Creates a new status panel for the specified window.
|
56
|
59
|
*
|
|
@@ -69,14 +72,36 @@ public class StatusPanel extends JPanel implements QueueSizeListener {
|
69
|
72
|
add(centreLabel, "push, grow");
|
70
|
73
|
add(rightLabel, "push, grow");
|
71
|
74
|
|
72
|
|
- ApiDownloader.addQueueSizeListener(this);
|
|
75
|
+ ApiDownloader.addQueueSizeListener(new QueueSizeListener() {
|
|
76
|
+ /** {@inheritDoc} */
|
|
77
|
+ @Override
|
|
78
|
+ public void queueSizeUpdate(final int size) {
|
|
79
|
+ apiSize = size;
|
|
80
|
+ updateLabel();
|
|
81
|
+ }
|
|
82
|
+ });
|
|
83
|
+
|
|
84
|
+ ImageManager.addQueueSizeListener(new QueueSizeListener() {
|
|
85
|
+ /** {@inheritDoc} */
|
|
86
|
+ @Override
|
|
87
|
+ public void queueSizeUpdate(final int size) {
|
|
88
|
+ imageSize = size;
|
|
89
|
+ updateLabel();
|
|
90
|
+ }
|
|
91
|
+ });
|
73
|
92
|
}
|
74
|
93
|
|
75
|
|
- /** {@inheritDoc} */
|
76
|
|
- @Override
|
77
|
|
- public void queueSizeUpdate(final int size) {
|
78
|
|
- centreLabel.setText(size == 0 ? "" :
|
79
|
|
- (size + " API quer" + (size == 1 ? "y" : "ies") + " pending"));
|
|
94
|
+ /**
|
|
95
|
+ * Updates the centre label to reflect the number of API and image requests
|
|
96
|
+ * pending.
|
|
97
|
+ */
|
|
98
|
+ protected void updateLabel() {
|
|
99
|
+ centreLabel.setText((apiSize == 0 ? "" :
|
|
100
|
+ (apiSize + " API quer" + (apiSize == 1 ? "y" : "ies")))
|
|
101
|
+ + (imageSize * apiSize > 0 ? " and " : "")
|
|
102
|
+ + (imageSize == 0 ? "" : (imageSize + " image request"
|
|
103
|
+ + (imageSize == 1 ? "" : "s")))
|
|
104
|
+ + (imageSize + apiSize > 0 ? " pending" : ""));
|
80
|
105
|
}
|
81
|
106
|
|
82
|
107
|
}
|