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 /***
37 * Connects to the overnet core.
38 */
39 public class ConnectAction extends AbstractXNapAction implements StateListener
40 {
41
42
43
44
45 private OvernetCore core;
46
47 private static Logger logger = Logger.getLogger(ConnectAction.class);
48
49
50
51 public ConnectAction()
52 {
53 core = OvernetPlugin.getInstance().getCore();
54 core.addStateListener(this);
55
56 putValue(Action.NAME, XNap.tr("Connect"));
57 putValue(IconHelper.XNAP_ICON, "connect_creating.png");
58
59 stateChanged(null);
60 }
61
62
63
64 public void actionPerformed(ActionEvent e)
65 {
66 core.connect();
67 }
68
69 public void stateChanged(StateEvent e)
70 {
71 setEnabledLater(core.getState() == State.DISCONNECTED);
72 }
73 }