1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.xnap.plugin.overnet.gui.action;
21
22 import javax.swing.Action;
23
24 import java.awt.event.ActionEvent;
25
26 import org.apache.log4j.Logger;
27 import org.xnap.XNap;
28 import org.xnap.action.AbstractXNapAction;
29 import org.xnap.event.StateEvent;
30 import org.xnap.event.StateListener;
31 import org.xnap.gui.util.IconHelper;
32 import org.xnap.plugin.overnet.OvernetPlugin;
33 import org.xnap.plugin.overnet.net.OvernetCore;
34 import org.xnap.util.State;
35
36 public class DisconnectAction extends AbstractXNapAction
37 implements StateListener
38 {
39
40
41
42
43 private OvernetCore core;
44
45 private static Logger logger = Logger.getLogger(DisconnectAction.class);
46
47
48
49 public DisconnectAction()
50 {
51 core = OvernetPlugin.getInstance().getCore();
52 core.addStateListener(this);
53
54 putValue(Action.NAME, XNap.tr("Disconnect"));
55 putValue(IconHelper.XNAP_ICON, "connect_no.png");
56
57 stateChanged(null);
58 }
59
60
61
62 public void actionPerformed(ActionEvent event)
63 {
64 core.stop();
65 }
66
67 public void stateChanged(StateEvent e)
68 {
69 setEnabledLater(core.getState() == State.CONNECTED);
70 }
71 }