package org.limewire.ui.swing.friends.actions;
import java.awt.event.ActionEvent;
import org.limewire.friend.api.FriendConnection;
import org.limewire.friend.api.FriendConnectionEvent;
import org.limewire.listener.EventBean;
import org.limewire.listener.EventUtils;
import org.limewire.ui.swing.action.AbstractAction;
import org.limewire.ui.swing.friends.settings.FriendAccountConfigurationManager;
import org.limewire.ui.swing.util.I18n;
import com.google.inject.Inject;
public class LogoutAction extends AbstractAction {
private final FriendAccountConfigurationManager accountManager;
private final EventBean<FriendConnectionEvent> friendConnectionEventBean;
@Inject
public LogoutAction(EventBean<FriendConnectionEvent> friendConnectionEventBean,
FriendAccountConfigurationManager accountManager) {
super(I18n.tr("Sign out"));
this.accountManager = accountManager;
this.friendConnectionEventBean = friendConnectionEventBean;
}
@Override
public void actionPerformed(ActionEvent e) {
accountManager.setAutoLoginConfig(null);
FriendConnection connection = EventUtils.getSource(friendConnectionEventBean);
if (connection != null && connection.isLoggedIn()) {
connection.logout();
}
}
}