summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity
diff options
context:
space:
mode:
authorSimon Rettberg2015-09-03 11:22:26 +0200
committerSimon Rettberg2015-09-03 11:22:26 +0200
commitceb88beda8d010ac11a35bfe3db1ca49fdcea712 (patch)
tree4892453de01e7d3d1ad75cf26f252f6e5c62aed5 /dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity
parent[client] Generate VMX on download (diff)
downloadtutor-module-ceb88beda8d010ac11a35bfe3db1ca49fdcea712.tar.gz
tutor-module-ceb88beda8d010ac11a35bfe3db1ca49fdcea712.tar.xz
tutor-module-ceb88beda8d010ac11a35bfe3db1ca49fdcea712.zip
[client] Add "open folder" button to download panel
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/DownloadPanel.java37
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/TransferPanel.java4
2 files changed, 33 insertions, 8 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/DownloadPanel.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/DownloadPanel.java
index 31946abd..f2434b1b 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/DownloadPanel.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/DownloadPanel.java
@@ -3,9 +3,14 @@ package org.openslx.dozmod.gui.activity;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import javax.swing.JButton;
+
+import org.openslx.bwlp.thrift.iface.TransferState;
import org.openslx.dozmod.filetransfer.DownloadTask;
+import org.openslx.dozmod.filetransfer.TransferEvent;
import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.helper.MessageType;
+import org.openslx.dozmod.util.OpenLinks;
@SuppressWarnings("serial")
public class DownloadPanel extends TransferPanel {
@@ -14,8 +19,13 @@ public class DownloadPanel extends TransferPanel {
private final DownloadTask download;
+ private final JButton btnOpenFolder;
+
public DownloadPanel(String displayName, String diskFile, DownloadTask download) {
super(download, displayName, diskFile);
+ btnOpenFolder = new JButton("Ordner öffnen");
+ btnOpenFolder.setEnabled(false);
+ header.add(btnOpenFolder, 6);
btnClose.addActionListener(new ButtonAction());
this.download = download;
download.addListener(this);
@@ -24,14 +34,27 @@ public class DownloadPanel extends TransferPanel {
private class ButtonAction implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
- if (!download.isCanceled()) {
- if (!Gui.showMessageBox(panel, "Wollen Sie diesen Transfer wirklich abbrechen?",
- MessageType.QUESTION_YESNO, null, null))
- return;
- download.cancel();
+ if (e.getSource() == btnClose) {
+ if (!download.isCanceled()) {
+ if (!Gui.showMessageBox(panel, "Wollen Sie diesen Transfer wirklich abbrechen?",
+ MessageType.QUESTION_YESNO, null, null))
+ return;
+ download.cancel();
+ }
+ download.removeListener(panel);
+ close();
+ } else if (e.getSource() == btnOpenFolder) {
+ OpenLinks.openLocal(download.getFile().getAbsoluteFile().getParentFile());
}
- download.removeListener(panel);
- close();
}
}
+
+ @Override
+ public void update(final TransferEvent event) {
+ super.update(event);
+ if (event.state == TransferState.FINISHED) {
+ btnOpenFolder.setEnabled(true);
+ }
+ }
+
}
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 96171e6d..cbb0fd2f 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
@@ -39,13 +39,15 @@ public abstract class TransferPanel extends ActivityPanel implements TransferEve
private final Color defaultLabelColor;
+ protected final JPanel header;
+
private int errorCountdown = 0;
public TransferPanel(TransferTask transfer, String displayName, String fileName) {
setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS));
setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4));
// Header: [status] VM-Name ---- fileName [Button]
- JPanel header = new JPanel();
+ header = new JPanel();
header.setLayout(new BoxLayout(header, BoxLayout.LINE_AXIS));
lblStatus = new QLabel("[init]");
header.add(lblStatus);