summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/UploadPanel.java
blob: e8313120c2feec3dd9f3f7352d3f954d56539c91 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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.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.upload.getUploadTask(), state.name, state.diskFile.getName());
		btnClose.addActionListener(new ButtonAction());
		this.state = state;
		state.upload.getUploadTask().addListener(this);
	}

	private class ButtonAction implements ActionListener {
		@Override
		public void actionPerformed(ActionEvent e) {
			if (!state.upload.getUploadTask().isCanceled()) {
				if (!Gui.showMessageBox(panel, "Wollen Sie diesen Transfer wirklich abbrechen?",
						MessageType.QUESTION_YESNO, null, null))
					return;
				QuickTimer.scheduleOnce(new Task() {
					@Override
					public void fire() {
						state.upload.cancelError();
					}
				});
			}
			state.upload.getUploadTask().removeListener(panel);
			close();
		}
	}
}