diff options
author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2008-09-27 14:12:48 +0000 |
---|---|---|
committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2008-09-27 14:12:48 +0000 |
commit | f20ca875e0f276b7867f360de32e210cdac0f4ee (patch) | |
tree | 26b4f723ce23d3a386dfbec253a3b978ee6a3ca5 | |
parent | 50c1fa87dc9a9d081298f9873168d14af1be0921 (diff) | |
download | instadisc-f20ca875e0f276b7867f360de32e210cdac0f4ee.tar.gz instadisc-f20ca875e0f276b7867f360de32e210cdac0f4ee.tar.bz2 instadisc-f20ca875e0f276b7867f360de32e210cdac0f4ee.zip |
Client: Worked on step 2
Hopefully I finished it, though, you never know, there could be more stuff in there. Refs #69
-rw-r--r-- | client/trunk/src/com/fourisland/instadisc/CloseServerSocketThread.java | 33 | ||||
-rw-r--r-- | client/trunk/src/com/fourisland/instadisc/DownloadItem/DeinitalizeModeThread.java | 8 | ||||
-rw-r--r-- | client/trunk/src/com/fourisland/instadisc/DownloadItem/DownloadItemMode.java | 14 | ||||
-rw-r--r-- | client/trunk/src/com/fourisland/instadisc/DownloadItem/ModeControl.java | 45 | ||||
-rw-r--r-- | client/trunk/src/com/fourisland/instadisc/DownloadItem/PullMode.java | 24 | ||||
-rw-r--r-- | client/trunk/src/com/fourisland/instadisc/DownloadItem/PushMode.java (renamed from client/trunk/src/com/fourisland/instadisc/InstaDiscThread.java) | 97 | ||||
-rw-r--r-- | client/trunk/src/com/fourisland/instadisc/DownloadItem/UnknownDownloadItemModeException.java | 5 | ||||
-rw-r--r-- | client/trunk/src/com/fourisland/instadisc/InstaDiscView.java | 75 |
8 files changed, 187 insertions, 114 deletions
diff --git a/client/trunk/src/com/fourisland/instadisc/CloseServerSocketThread.java b/client/trunk/src/com/fourisland/instadisc/CloseServerSocketThread.java deleted file mode 100644 index cfe1820..0000000 --- a/client/trunk/src/com/fourisland/instadisc/CloseServerSocketThread.java +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | /* | ||
2 | * To change this template, choose Tools | Templates | ||
3 | * and open the template in the editor. | ||
4 | */ | ||
5 | |||
6 | package com.fourisland.instadisc; | ||
7 | |||
8 | import java.io.IOException; | ||
9 | import java.net.ServerSocket; | ||
10 | import java.util.logging.Level; | ||
11 | import java.util.logging.Logger; | ||
12 | |||
13 | /** | ||
14 | * | ||
15 | * @author hatkirby | ||
16 | */ | ||
17 | class CloseServerSocketThread implements Runnable { | ||
18 | |||
19 | ServerSocket svr; | ||
20 | |||
21 | public CloseServerSocketThread(ServerSocket svr) { | ||
22 | this.svr = svr; | ||
23 | } | ||
24 | |||
25 | public void run() { | ||
26 | try { | ||
27 | svr.close(); | ||
28 | } catch (IOException ex) { | ||
29 | Logger.getLogger(CloseServerSocketThread.class.getName()).log(Level.SEVERE, null, ex); | ||
30 | } | ||
31 | } | ||
32 | |||
33 | } | ||
diff --git a/client/trunk/src/com/fourisland/instadisc/DownloadItem/DeinitalizeModeThread.java b/client/trunk/src/com/fourisland/instadisc/DownloadItem/DeinitalizeModeThread.java new file mode 100644 index 0000000..726b22e --- /dev/null +++ b/client/trunk/src/com/fourisland/instadisc/DownloadItem/DeinitalizeModeThread.java | |||
@@ -0,0 +1,8 @@ | |||
1 | package com.fourisland.instadisc.DownloadItem; | ||
2 | |||
3 | public class DeinitalizeModeThread implements Runnable | ||
4 | { | ||
5 | public void run() { | ||
6 | ModeControl.INSTANCE.modeDeinitalize(); | ||
7 | } | ||
8 | } \ No newline at end of file | ||
diff --git a/client/trunk/src/com/fourisland/instadisc/DownloadItem/DownloadItemMode.java b/client/trunk/src/com/fourisland/instadisc/DownloadItem/DownloadItemMode.java new file mode 100644 index 0000000..157a62a --- /dev/null +++ b/client/trunk/src/com/fourisland/instadisc/DownloadItem/DownloadItemMode.java | |||
@@ -0,0 +1,14 @@ | |||
1 | package com.fourisland.instadisc.DownloadItem; | ||
2 | |||
3 | import java.util.Timer; | ||
4 | |||
5 | public interface DownloadItemMode | ||
6 | { | ||
7 | public void modeInitalize(); | ||
8 | public void modeDeinitalize(); | ||
9 | |||
10 | public void requestRetained(); | ||
11 | |||
12 | public int setTimer(); | ||
13 | public void timerTick(); | ||
14 | } \ No newline at end of file | ||
diff --git a/client/trunk/src/com/fourisland/instadisc/DownloadItem/ModeControl.java b/client/trunk/src/com/fourisland/instadisc/DownloadItem/ModeControl.java new file mode 100644 index 0000000..3fcaa4b --- /dev/null +++ b/client/trunk/src/com/fourisland/instadisc/DownloadItem/ModeControl.java | |||
@@ -0,0 +1,45 @@ | |||
1 | package com.fourisland.instadisc.DownloadItem; | ||
2 | |||
3 | import java.util.Timer; | ||
4 | |||
5 | public class ModeControl implements DownloadItemMode | ||
6 | { | ||
7 | public static final ModeControl INSTANCE = new ModeControl(); | ||
8 | private DownloadItemMode dim; | ||
9 | |||
10 | public void initalize(String dim) throws UnknownDownloadItemModeException | ||
11 | { | ||
12 | if (dim.equals("Push")) | ||
13 | { | ||
14 | this.dim = new PushMode(); | ||
15 | } else if (dim.equals("Pull")) | ||
16 | { | ||
17 | this.dim = new PullMode(); | ||
18 | } else { | ||
19 | throw new UnknownDownloadItemModeException(); | ||
20 | } | ||
21 | |||
22 | Runtime.getRuntime().addShutdownHook(new Thread(new DeinitalizeModeThread())); | ||
23 | } | ||
24 | |||
25 | public void modeInitalize() { | ||
26 | dim.modeInitalize(); | ||
27 | } | ||
28 | |||
29 | public void modeDeinitalize() { | ||
30 | dim.modeDeinitalize(); | ||
31 | } | ||
32 | |||
33 | public void requestRetained() | ||
34 | { | ||
35 | dim.requestRetained(); | ||
36 | } | ||
37 | |||
38 | public int setTimer() { | ||
39 | return dim.setTimer(); | ||
40 | } | ||
41 | |||
42 | public void timerTick() { | ||
43 | dim.timerTick(); | ||
44 | } | ||
45 | } \ No newline at end of file | ||
diff --git a/client/trunk/src/com/fourisland/instadisc/DownloadItem/PullMode.java b/client/trunk/src/com/fourisland/instadisc/DownloadItem/PullMode.java new file mode 100644 index 0000000..8e54542 --- /dev/null +++ b/client/trunk/src/com/fourisland/instadisc/DownloadItem/PullMode.java | |||
@@ -0,0 +1,24 @@ | |||
1 | package com.fourisland.instadisc.DownloadItem; | ||
2 | |||
3 | public class PullMode implements DownloadItemMode | ||
4 | { | ||
5 | public void modeInitalize() { | ||
6 | throw new UnsupportedOperationException("Not supported yet."); | ||
7 | } | ||
8 | |||
9 | public void modeDeinitalize() { | ||
10 | throw new UnsupportedOperationException("Not supported yet."); | ||
11 | } | ||
12 | |||
13 | public void requestRetained() { | ||
14 | throw new UnsupportedOperationException("Not supported yet."); | ||
15 | } | ||
16 | |||
17 | public int setTimer() { | ||
18 | throw new UnsupportedOperationException("Not supported yet."); | ||
19 | } | ||
20 | |||
21 | public void timerTick() { | ||
22 | throw new UnsupportedOperationException("Not supported yet."); | ||
23 | } | ||
24 | } \ No newline at end of file | ||
diff --git a/client/trunk/src/com/fourisland/instadisc/InstaDiscThread.java b/client/trunk/src/com/fourisland/instadisc/DownloadItem/PushMode.java index 05af63c..eb5ab5c 100644 --- a/client/trunk/src/com/fourisland/instadisc/InstaDiscThread.java +++ b/client/trunk/src/com/fourisland/instadisc/DownloadItem/PushMode.java | |||
@@ -1,10 +1,8 @@ | |||
1 | /* | 1 | package com.fourisland.instadisc.DownloadItem; |
2 | * To change this template, choose Tools | Templates | ||
3 | * and open the template in the editor. | ||
4 | */ | ||
5 | package com.fourisland.instadisc; | ||
6 | 2 | ||
3 | import com.fourisland.instadisc.Database.Wrapper; | ||
7 | import com.fourisland.instadisc.Item.Item; | 4 | import com.fourisland.instadisc.Item.Item; |
5 | import com.fourisland.instadisc.XmlRpc; | ||
8 | import java.io.IOException; | 6 | import java.io.IOException; |
9 | import java.io.InputStream; | 7 | import java.io.InputStream; |
10 | import java.net.ServerSocket; | 8 | import java.net.ServerSocket; |
@@ -14,25 +12,48 @@ import java.util.HashMap; | |||
14 | import java.util.logging.Level; | 12 | import java.util.logging.Level; |
15 | import java.util.logging.Logger; | 13 | import java.util.logging.Logger; |
16 | 14 | ||
17 | /** | ||
18 | * | ||
19 | * @author hatkirby | ||
20 | */ | ||
21 | public class InstaDiscThread implements Runnable { | ||
22 | 15 | ||
23 | boolean cancelled = false; | 16 | public class PushMode implements DownloadItemMode |
24 | InstaDiscView idv; | 17 | { |
18 | InstaDiscThread idt; | ||
25 | 19 | ||
26 | public InstaDiscThread() | 20 | public void modeInitalize() |
27 | { | 21 | { |
28 | this.idv = null; | 22 | idt = new InstaDiscThread(); |
23 | new Thread(idt).start(); | ||
29 | } | 24 | } |
30 | 25 | ||
31 | public InstaDiscThread(InstaDiscView idv) | 26 | public void modeDeinitalize() |
32 | { | 27 | { |
33 | this.idv = idv; | 28 | idt.kill(); |
29 | } | ||
30 | |||
31 | public void requestRetained() { | ||
32 | XmlRpc xmlrpc = new XmlRpc("requestRetained"); | ||
33 | xmlrpc.execute(); | ||
34 | } | ||
35 | |||
36 | public int setTimer() { | ||
37 | int delay = (1000 * 60 * 60); | ||
38 | if (Wrapper.getConfig("ipCheckUnit").equals("day")) { | ||
39 | delay *= (24 * Integer.decode(Wrapper.getConfig("ipCheckValue"))); | ||
40 | } else if (Wrapper.getConfig("ipCheckUnit").equals("hour")) { | ||
41 | delay *= Integer.decode(Wrapper.getConfig("ipCheckValue")); | ||
42 | } | ||
43 | |||
44 | return delay; | ||
34 | } | 45 | } |
35 | 46 | ||
47 | public void timerTick() { | ||
48 | XmlRpc xmlrpc = new XmlRpc("checkRegistration"); | ||
49 | xmlrpc.execute(); | ||
50 | } | ||
51 | } | ||
52 | class InstaDiscThread implements Runnable { | ||
53 | |||
54 | boolean cancelled = false; | ||
55 | ServerSocket svr; | ||
56 | |||
36 | public void cancel() { | 57 | public void cancel() { |
37 | cancelled = true; | 58 | cancelled = true; |
38 | } | 59 | } |
@@ -40,16 +61,15 @@ public class InstaDiscThread implements Runnable { | |||
40 | public void run() { | 61 | public void run() { |
41 | try | 62 | try |
42 | { | 63 | { |
43 | ServerSocket svr = new ServerSocket(); | 64 | svr = new ServerSocket(); |
44 | java.net.InetSocketAddress addr = new java.net.InetSocketAddress(1204); | 65 | java.net.InetSocketAddress addr = new java.net.InetSocketAddress(1204); |
45 | svr.bind(addr); | 66 | svr.bind(addr); |
46 | Runtime.getRuntime().addShutdownHook(new Thread(new CloseServerSocketThread(svr))); | ||
47 | while (!cancelled) | 67 | while (!cancelled) |
48 | { | 68 | { |
49 | try | 69 | try |
50 | { | 70 | { |
51 | Socket s = svr.accept(); | 71 | Socket s = svr.accept(); |
52 | HandleItemThread hit = new HandleItemThread(s,idv); | 72 | HandleItemThread hit = new HandleItemThread(s); |
53 | Thread hitt = new Thread(hit); | 73 | Thread hitt = new Thread(hit); |
54 | hitt.start(); | 74 | hitt.start(); |
55 | } catch (SocketException ex) | 75 | } catch (SocketException ex) |
@@ -66,31 +86,31 @@ public class InstaDiscThread implements Runnable { | |||
66 | { | 86 | { |
67 | Logger.getLogger(InstaDiscThread.class.getName()).log(Level.SEVERE, null, ex); | 87 | Logger.getLogger(InstaDiscThread.class.getName()).log(Level.SEVERE, null, ex); |
68 | } | 88 | } |
69 | 89 | } | |
90 | |||
91 | public void kill() | ||
92 | { | ||
93 | try | ||
94 | { | ||
95 | svr.close(); | ||
96 | } catch (IOException ex) | ||
97 | { | ||
98 | Logger.getLogger(InstaDiscThread.class.getName()).log(Level.SEVERE, null, ex); | ||
99 | } | ||
70 | } | 100 | } |
71 | } | 101 | } |
72 | 102 | ||
73 | class HandleItemThread implements Runnable { | 103 | class HandleItemThread implements Runnable { |
74 | 104 | ||
75 | Socket s; | 105 | Socket s; |
76 | InstaDiscView idv; | ||
77 | 106 | ||
78 | public HandleItemThread(Socket s, InstaDiscView idv) { | 107 | public HandleItemThread(Socket s) { |
79 | this.s = s; | 108 | this.s = s; |
80 | this.idv = idv; | ||
81 | } | 109 | } |
82 | 110 | ||
83 | public void run() { | 111 | public void run() { |
84 | try | 112 | try |
85 | { | 113 | { |
86 | idv.startProgress(); | ||
87 | idv.doText("Downloading Item...."); | ||
88 | } catch (NullPointerException ex) | ||
89 | { | ||
90 | } | ||
91 | |||
92 | try | ||
93 | { | ||
94 | InputStream is = s.getInputStream(); | 114 | InputStream is = s.getInputStream(); |
95 | int buffer[] = new int[1000]; | 115 | int buffer[] = new int[1000]; |
96 | int rs = 0; | 116 | int rs = 0; |
@@ -107,13 +127,6 @@ class HandleItemThread implements Runnable { | |||
107 | buffer[i] = rs; | 127 | buffer[i] = rs; |
108 | } | 128 | } |
109 | 129 | ||
110 | try | ||
111 | { | ||
112 | idv.doProgress(buffer.length / (is.available()+1)); | ||
113 | } catch (NullPointerException ex) | ||
114 | { | ||
115 | } | ||
116 | |||
117 | i++; | 130 | i++; |
118 | } catch (SocketException ex) | 131 | } catch (SocketException ex) |
119 | { | 132 | { |
@@ -149,7 +162,6 @@ class HandleItemThread implements Runnable { | |||
149 | i++; | 162 | i++; |
150 | } | 163 | } |
151 | 164 | ||
152 | //Logger.getLogger(HandleItemThread.class.getName()).log(Level.INFO, headerMap.toString()); | ||
153 | try | 165 | try |
154 | { | 166 | { |
155 | s.close(); | 167 | s.close(); |
@@ -164,12 +176,5 @@ class HandleItemThread implements Runnable { | |||
164 | { | 176 | { |
165 | Logger.getLogger(HandleItemThread.class.getName()).log(Level.SEVERE, null, ex); | 177 | Logger.getLogger(HandleItemThread.class.getName()).log(Level.SEVERE, null, ex); |
166 | } | 178 | } |
167 | |||
168 | try | ||
169 | { | ||
170 | idv.doneProgress(); | ||
171 | } catch (NullPointerException ex) | ||
172 | { | ||
173 | } | ||
174 | } | 179 | } |
175 | } | 180 | } |
diff --git a/client/trunk/src/com/fourisland/instadisc/DownloadItem/UnknownDownloadItemModeException.java b/client/trunk/src/com/fourisland/instadisc/DownloadItem/UnknownDownloadItemModeException.java new file mode 100644 index 0000000..4fc7758 --- /dev/null +++ b/client/trunk/src/com/fourisland/instadisc/DownloadItem/UnknownDownloadItemModeException.java | |||
@@ -0,0 +1,5 @@ | |||
1 | package com.fourisland.instadisc.DownloadItem; | ||
2 | |||
3 | public class UnknownDownloadItemModeException extends Exception | ||
4 | { | ||
5 | } \ No newline at end of file | ||
diff --git a/client/trunk/src/com/fourisland/instadisc/InstaDiscView.java b/client/trunk/src/com/fourisland/instadisc/InstaDiscView.java index 24364b4..99a7ab3 100644 --- a/client/trunk/src/com/fourisland/instadisc/InstaDiscView.java +++ b/client/trunk/src/com/fourisland/instadisc/InstaDiscView.java | |||
@@ -5,6 +5,8 @@ package com.fourisland.instadisc; | |||
5 | 5 | ||
6 | import com.fourisland.instadisc.Database.Item; | 6 | import com.fourisland.instadisc.Database.Item; |
7 | import com.fourisland.instadisc.Database.Wrapper; | 7 | import com.fourisland.instadisc.Database.Wrapper; |
8 | import com.fourisland.instadisc.DownloadItem.ModeControl; | ||
9 | import com.fourisland.instadisc.DownloadItem.UnknownDownloadItemModeException; | ||
8 | import com.fourisland.instadisc.Item.Categories.InstaDiscIcon; | 10 | import com.fourisland.instadisc.Item.Categories.InstaDiscIcon; |
9 | import java.awt.AWTException; | 11 | import java.awt.AWTException; |
10 | import java.awt.SystemTray; | 12 | import java.awt.SystemTray; |
@@ -35,13 +37,14 @@ public class InstaDiscView extends FrameView { | |||
35 | 37 | ||
36 | public InstaDiscView(SingleFrameApplication app) { | 38 | public InstaDiscView(SingleFrameApplication app) { |
37 | super(app); | 39 | super(app); |
38 | 40 | ||
39 | initComponents(); | 41 | initComponents(); |
40 | 42 | ||
41 | // status bar initialization - message timeout, idle icon and busy animation, etc | 43 | // status bar initialization - message timeout, idle icon and busy animation, etc |
42 | ResourceMap resourceMap = getResourceMap(); | 44 | ResourceMap resourceMap = getResourceMap(); |
43 | int messageTimeout = resourceMap.getInteger("StatusBar.messageTimeout"); | 45 | int messageTimeout = resourceMap.getInteger("StatusBar.messageTimeout"); |
44 | messageTimer = new Timer(messageTimeout, new ActionListener() { | 46 | messageTimer = new Timer(messageTimeout, new ActionListener() |
47 | { | ||
45 | 48 | ||
46 | public void actionPerformed(ActionEvent e) { | 49 | public void actionPerformed(ActionEvent e) { |
47 | statusMessageLabel.setText(""); | 50 | statusMessageLabel.setText(""); |
@@ -49,10 +52,12 @@ public class InstaDiscView extends FrameView { | |||
49 | }); | 52 | }); |
50 | messageTimer.setRepeats(false); | 53 | messageTimer.setRepeats(false); |
51 | int busyAnimationRate = resourceMap.getInteger("StatusBar.busyAnimationRate"); | 54 | int busyAnimationRate = resourceMap.getInteger("StatusBar.busyAnimationRate"); |
52 | for (int i = 0; i < busyIcons.length; i++) { | 55 | for (int i = 0; i < busyIcons.length; i++) |
56 | { | ||
53 | busyIcons[i] = resourceMap.getIcon("StatusBar.busyIcons[" + i + "]"); | 57 | busyIcons[i] = resourceMap.getIcon("StatusBar.busyIcons[" + i + "]"); |
54 | } | 58 | } |
55 | busyIconTimer = new Timer(busyAnimationRate, new ActionListener() { | 59 | busyIconTimer = new Timer(busyAnimationRate, new ActionListener() |
60 | { | ||
56 | 61 | ||
57 | public void actionPerformed(ActionEvent e) { | 62 | public void actionPerformed(ActionEvent e) { |
58 | busyIconIndex = (busyIconIndex + 1) % busyIcons.length; | 63 | busyIconIndex = (busyIconIndex + 1) % busyIcons.length; |
@@ -65,28 +70,34 @@ public class InstaDiscView extends FrameView { | |||
65 | 70 | ||
66 | // connecting action tasks to status bar via TaskMonitor | 71 | // connecting action tasks to status bar via TaskMonitor |
67 | TaskMonitor taskMonitor = new TaskMonitor(getApplication().getContext()); | 72 | TaskMonitor taskMonitor = new TaskMonitor(getApplication().getContext()); |
68 | taskMonitor.addPropertyChangeListener(new java.beans.PropertyChangeListener() { | 73 | taskMonitor.addPropertyChangeListener(new java.beans.PropertyChangeListener() |
74 | { | ||
69 | 75 | ||
70 | public void propertyChange(java.beans.PropertyChangeEvent evt) { | 76 | public void propertyChange(java.beans.PropertyChangeEvent evt) { |
71 | String propertyName = evt.getPropertyName(); | 77 | String propertyName = evt.getPropertyName(); |
72 | if ("started".equals(propertyName)) { | 78 | if ("started".equals(propertyName)) |
73 | if (!busyIconTimer.isRunning()) { | 79 | { |
80 | if (!busyIconTimer.isRunning()) | ||
81 | { | ||
74 | statusAnimationLabel.setIcon(busyIcons[0]); | 82 | statusAnimationLabel.setIcon(busyIcons[0]); |
75 | busyIconIndex = 0; | 83 | busyIconIndex = 0; |
76 | busyIconTimer.start(); | 84 | busyIconTimer.start(); |
77 | } | 85 | } |
78 | progressBar.setVisible(true); | 86 | progressBar.setVisible(true); |
79 | progressBar.setIndeterminate(true); | 87 | progressBar.setIndeterminate(true); |
80 | } else if ("done".equals(propertyName)) { | 88 | } else if ("done".equals(propertyName)) |
89 | { | ||
81 | busyIconTimer.stop(); | 90 | busyIconTimer.stop(); |
82 | statusAnimationLabel.setIcon(idleIcon); | 91 | statusAnimationLabel.setIcon(idleIcon); |
83 | progressBar.setVisible(false); | 92 | progressBar.setVisible(false); |
84 | progressBar.setValue(0); | 93 | progressBar.setValue(0); |
85 | } else if ("message".equals(propertyName)) { | 94 | } else if ("message".equals(propertyName)) |
95 | { | ||
86 | String text = (String) (evt.getNewValue()); | 96 | String text = (String) (evt.getNewValue()); |
87 | statusMessageLabel.setText((text == null) ? "" : text); | 97 | statusMessageLabel.setText((text == null) ? "" : text); |
88 | messageTimer.restart(); | 98 | messageTimer.restart(); |
89 | } else if ("progress".equals(propertyName)) { | 99 | } else if ("progress".equals(propertyName)) |
100 | { | ||
90 | int value = (Integer) (evt.getNewValue()); | 101 | int value = (Integer) (evt.getNewValue()); |
91 | progressBar.setVisible(true); | 102 | progressBar.setVisible(true); |
92 | progressBar.setIndeterminate(false); | 103 | progressBar.setIndeterminate(false); |
@@ -97,12 +108,15 @@ public class InstaDiscView extends FrameView { | |||
97 | 108 | ||
98 | this.getFrame().setIconImage(new ImageIcon(InstaDiscIcon.instadiscicon).getImage()); | 109 | this.getFrame().setIconImage(new ImageIcon(InstaDiscIcon.instadiscicon).getImage()); |
99 | 110 | ||
100 | if (SystemTray.isSupported()) { | 111 | if (SystemTray.isSupported()) |
101 | try { | 112 | { |
113 | try | ||
114 | { | ||
102 | TrayIcon ti = new TrayIcon(new ImageIcon(InstaDiscIcon.instadisciconmiddle).getImage(), "InstaDisc"); | 115 | TrayIcon ti = new TrayIcon(new ImageIcon(InstaDiscIcon.instadisciconmiddle).getImage(), "InstaDisc"); |
103 | SystemTray.getSystemTray().add(ti); | 116 | SystemTray.getSystemTray().add(ti); |
104 | InstaDiscApp.ti = ti; | 117 | InstaDiscApp.ti = ti; |
105 | } catch (AWTException ex) { | 118 | } catch (AWTException ex) |
119 | { | ||
106 | Logger.getLogger(InstaDiscView.class.getName()).log(Level.SEVERE, null, ex); | 120 | Logger.getLogger(InstaDiscView.class.getName()).log(Level.SEVERE, null, ex); |
107 | } | 121 | } |
108 | } | 122 | } |
@@ -110,12 +124,15 @@ public class InstaDiscView extends FrameView { | |||
110 | jList1.setCellRenderer(new IDItemListCellRenderer()); | 124 | jList1.setCellRenderer(new IDItemListCellRenderer()); |
111 | refreshItemPane(); | 125 | refreshItemPane(); |
112 | 126 | ||
113 | InstaDiscThread idt = new InstaDiscThread(this); | 127 | try |
114 | Thread idtt = new Thread(idt); | 128 | { |
115 | idtt.start(); | 129 | ModeControl.INSTANCE.initalize(Wrapper.getConfig("downloadItemMode")); |
116 | 130 | } catch (UnknownDownloadItemModeException ex) | |
117 | XmlRpc xmlrpc = new XmlRpc("requestRetained"); | 131 | { |
118 | xmlrpc.execute(); | 132 | Logger.getLogger(InstaDiscView.class.getName()).log(Level.SEVERE, null, ex); |
133 | } | ||
134 | ModeControl.INSTANCE.modeInitalize(); | ||
135 | ModeControl.INSTANCE.requestRetained(); | ||
119 | 136 | ||
120 | updateTimer(); | 137 | updateTimer(); |
121 | } | 138 | } |
@@ -396,8 +413,7 @@ public class InstaDiscView extends FrameView { | |||
396 | }//GEN-LAST:event_jMenuItem3ActionPerformed | 413 | }//GEN-LAST:event_jMenuItem3ActionPerformed |
397 | 414 | ||
398 | private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem4ActionPerformed | 415 | private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem4ActionPerformed |
399 | XmlRpc xmlrpc = new XmlRpc("requestRetained"); | 416 | ModeControl.INSTANCE.requestRetained(); |
400 | xmlrpc.execute(); | ||
401 | }//GEN-LAST:event_jMenuItem4ActionPerformed | 417 | }//GEN-LAST:event_jMenuItem4ActionPerformed |
402 | 418 | ||
403 | private void jList1ComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_jList1ComponentShown | 419 | private void jList1ComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_jList1ComponentShown |
@@ -504,31 +520,20 @@ public class InstaDiscView extends FrameView { | |||
504 | } | 520 | } |
505 | 521 | ||
506 | public void updateTimer() { | 522 | public void updateTimer() { |
507 | int delay = (1000 * 60 * 60); | ||
508 | |||
509 | try { | 523 | try { |
510 | ipCheckTimer.stop(); | 524 | ipCheckTimer.stop(); |
511 | } catch (NullPointerException ex) { | 525 | } catch (NullPointerException ex) { |
512 | |||
513 | } | ||
514 | |||
515 | if (Wrapper.getConfig("ipCheckUnit").equals("day")) { | ||
516 | delay *= (24 * Integer.decode(Wrapper.getConfig("ipCheckValue"))); | ||
517 | } else if (Wrapper.getConfig("ipCheckUnit").equals("hour")) { | ||
518 | delay *= Integer.decode(Wrapper.getConfig("ipCheckValue")); | ||
519 | } | 526 | } |
520 | 527 | ||
521 | ipCheckTimer = new Timer(delay, new ActionListener() { | 528 | ipCheckTimer = new Timer(ModeControl.INSTANCE.setTimer(), new ActionListener() { |
522 | public void actionPerformed(ActionEvent arg0) { | 529 | public void actionPerformed(ActionEvent arg0) { |
523 | XmlRpc xmlrpc = new XmlRpc("checkRegistration"); | 530 | ModeControl.INSTANCE.timerTick(); |
524 | xmlrpc.execute(); | ||
525 | } | 531 | } |
526 | }); | 532 | }); |
527 | 533 | ||
528 | ipCheckTimer.start(); | 534 | ipCheckTimer.start(); |
529 | 535 | ||
530 | XmlRpc xmlrpc = new XmlRpc("checkRegistration"); | 536 | ModeControl.INSTANCE.timerTick(); |
531 | xmlrpc.execute(); | ||
532 | } | 537 | } |
533 | 538 | ||
534 | public synchronized void startProgress() | 539 | public synchronized void startProgress() |