diff options
| author | Stephan Schwaer | 2015-10-02 18:10:28 +0200 |
|---|---|---|
| committer | Stephan Schwaer | 2015-10-02 18:10:28 +0200 |
| commit | 2e21ff6e412b5587d40ec7dab873c9326ec5b668 (patch) | |
| tree | 5152735b03bd6952f9bc954c13e64de69eaafecc /dozentenmodul/src/main/java | |
| parent | [client] Wizard can now be opened after creating image. Added notice to optio... (diff) | |
| parent | [client] Shrink transfer panel when completed successfully (diff) | |
| download | tutor-module-2e21ff6e412b5587d40ec7dab873c9326ec5b668.tar.gz tutor-module-2e21ff6e412b5587d40ec7dab873c9326ec5b668.tar.xz tutor-module-2e21ff6e412b5587d40ec7dab873c9326ec5b668.zip | |
Merge branch 'v1.1' of git.openslx.org:openslx-ng/tutor-module into v1.1
Diffstat (limited to 'dozentenmodul/src/main/java')
| -rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java | 6 | ||||
| -rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/TransferPanel.java | 29 |
2 files changed, 27 insertions, 8 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java b/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java index f7f5fca7..bff973b5 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java @@ -33,6 +33,7 @@ public class UploadTask extends TransferTask { private final String host; private final int port; private final String uploadToken; + private String remoteError = null; public UploadTask(String host, int port, String uploadToken, File uploadFile) throws FileNotFoundException { @@ -92,8 +93,10 @@ public class UploadTask extends TransferTask { } }); if (ret) { + remoteError = null; consecutiveInitFails.set(0); } else { + remoteError = uploader.getRemoteError(); consecutiveInitFails.incrementAndGet(); } transferEnded(this, ret); @@ -151,6 +154,9 @@ public class UploadTask extends TransferTask { final long bytesRemaining = CHUNK_SIZE * (long) missing; timeRemaining = (1000 * bytesRemaining) / (speed + 1); } + if (error == null && remoteError != null) { + error = remoteError; + } TransferEvent event = new TransferEvent(state, blocks, speed, timeRemaining, error); return event; } diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/TransferPanel.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/TransferPanel.java index 8dbd4ae0..85542683 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/TransferPanel.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/TransferPanel.java @@ -9,6 +9,7 @@ import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JPanel; +import javax.swing.JSeparator; import org.apache.log4j.Logger; import org.openslx.dozmod.filetransfer.TransferEvent; @@ -44,7 +45,11 @@ public abstract class TransferPanel extends ActivityPanel implements TransferEve private int errorCountdown = 0; private final static Logger LOGGER = Logger.getLogger(TransferPanel.class); - + + private JPanel progressWrapper; + + private JPanel footer; + public TransferPanel(TransferTask transfer, String displayName, String fileName) { setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS)); setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4)); @@ -63,16 +68,14 @@ public abstract class TransferPanel extends ActivityPanel implements TransferEve btnClose = new JButton("Abbrechen"); header.add(btnClose); add(header); - // ProgressBar - JPanel progressWrapper = new JPanel(); + progressWrapper = new JPanel(); progressWrapper.setLayout(new GridLayout(1, 1)); progressWrapper.setMinimumSize(Gui.getScaledDimension(0, 50)); progressWrapper.setPreferredSize(progressWrapper.getMinimumSize()); progress = new BlockProgressBar(null); progressWrapper.add(progress); add(progressWrapper); - // Speed & error - JPanel footer = new JPanel(); + footer = new JPanel(); footer.setLayout(new BoxLayout(footer, BoxLayout.LINE_AXIS)); lblError = new QLabel(); lblSpeed = new QLabel("-"); @@ -119,11 +122,12 @@ public abstract class TransferPanel extends ActivityPanel implements TransferEve case ERROR: errorCountdown = 20; status = "Fehler"; + if (transfer.isCanceled()) { + transfer.removeListener(panel); + } break; case FINISHED: - btnClose.setText("Schließen"); - lblRemaining.setText("-"); - transfer.removeListener(panel); + transferDone(); status = "Beendet"; break; case IDLE: @@ -154,4 +158,13 @@ public abstract class TransferPanel extends ActivityPanel implements TransferEve }); } + private void transferDone() { + transfer.removeListener(panel); + lblRemaining.setText("-"); + btnClose.setText("Schließen"); + footer.setVisible(false); + progressWrapper.setVisible(false); + add(new JSeparator()); + } + } |
