package org.limewire.ui.swing.downloads; import java.awt.event.ActionEvent; import javax.swing.JOptionPane; import org.limewire.ui.swing.action.AbstractAction; import org.limewire.ui.swing.components.FocusJOptionPane; import org.limewire.ui.swing.util.GuiUtils; import org.limewire.ui.swing.util.I18n; import com.google.inject.Inject; import com.google.inject.Provider; /** * Cancels all downloads that are in an error state. */ class CancelAllErrorDownloadAction extends AbstractAction { private final Provider<DownloadMediator> downloadMediator; @Inject public CancelAllErrorDownloadAction(Provider<DownloadMediator> downloadMediator) { super(I18n.tr("All Error")); this.downloadMediator = downloadMediator; } @Override public void actionPerformed(ActionEvent e) { if (confirmCancellation(I18n.tr("Cancel all error downloads?"))) { downloadMediator.get().cancelError(); } } private boolean confirmCancellation(String message){ return FocusJOptionPane.showConfirmDialog(GuiUtils.getMainFrame(), message, I18n.tr("Cancel"), JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE) == JOptionPane.YES_OPTION; } }