blob: 0c588656684a991af1d4990f4fedcca50930bbd3 (
plain) (
tree)
|
|
package org.openslx.dozmod.gui.activity;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import org.apache.log4j.Logger;
import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.helper.MessageType;
import org.openslx.dozmod.state.UploadWizardState;
import org.openslx.thrifthelper.ThriftManager;
import org.openslx.util.QuickTimer;
import org.openslx.util.QuickTimer.Task;
@SuppressWarnings("serial")
public class UploadPanel extends TransferPanel {
private static final Logger LOGGER = Logger.getLogger(UploadPanel.class);
private final UploadWizardState state;
private final UploadPanel panel = this;
public UploadPanel(UploadWizardState state) {
super(state.uploadTask, state.name, state.diskFile.getName());
btnClose.addActionListener(new ButtonAction());
this.state = state;
state.uploadTask.addListener(this);
}
private class ButtonAction implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
if (!state.uploadTask.isCanceled()) {
if (!Gui.showMessageBox(panel, "Wollen Sie diesen Transfer wirklich abbrechen?",
MessageType.QUESTION_YESNO, null, null))
return;
state.uploadTask.cancel();
state.hashGen.cancel();
QuickTimer.scheduleOnce(new Task() {
@Override
public void fire() {
try {
ThriftManager.getSatClient().cancelUpload(state.transferInformation.getToken());
} catch (Exception ex) {
LOGGER.debug("Remote error while canceling upload for " + state.uuid, ex);
}
}
});
}
state.uploadTask.removeListener(panel);
close();
}
}
}
|