package org.limewire.ui.swing.options;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JPanel;
import net.miginfocom.swing.MigLayout;
import org.limewire.core.api.spam.SpamManager;
import org.limewire.ui.swing.components.MultiLineLabel;
import org.limewire.ui.swing.util.I18n;
import com.google.inject.Inject;
/**
* Spam Option View.
*/
public class SpamOptionPanel extends OptionPanel {
private SpamManager spamManager;
private JButton clearSpamButton;
private final String description = I18n.tr("Reset the Spam filter by clearing all files marked as spam");
@Inject
public SpamOptionPanel(SpamManager spamManager) {
this.spamManager = spamManager;
setLayout(new MigLayout("insets 15 15 15 15, fillx, wrap", "", ""));
setOpaque(false);
add(getClearPanel(), "pushx, growx");
}
private JPanel getClearPanel() {
JPanel p = new JPanel();
p.setBorder(BorderFactory.createTitledBorder(""));
p.setLayout(new MigLayout("gapy 10"));
p.setOpaque(false);
clearSpamButton = new JButton(I18n.tr("Clear Filter"));
clearSpamButton.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
spamManager.clearFilterData();
//disable spam button after first click to give feedback on action performed
clearSpamButton.setEnabled(false);
}
});
p.add(new MultiLineLabel(description, ReallyAdvancedOptionPanel.MULTI_LINE_LABEL_WIDTH), "wrap");
p.add(clearSpamButton);
return p;
}
@Override
boolean applyOptions() {
return false;
}
@Override
boolean hasChanged() {
return false;
}
@Override
public void initOptions() {
//always make the spam button clickable
clearSpamButton.setEnabled(true);
}
}