summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureListWindow.java
diff options
context:
space:
mode:
authorStephan Schwaer2015-09-29 17:00:09 +0200
committerStephan Schwaer2015-09-29 17:00:09 +0200
commitac3f16327e64e8edaffd872f1548c6636cc9fbff (patch)
treeac3955f00f391830a356bc5c1361f10898ef3dd2 /dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureListWindow.java
parent[client] Don't run proxy search if master server is reachable (diff)
downloadtutor-module-ac3f16327e64e8edaffd872f1548c6636cc9fbff.tar.gz
tutor-module-ac3f16327e64e8edaffd872f1548c6636cc9fbff.tar.xz
tutor-module-ac3f16327e64e8edaffd872f1548c6636cc9fbff.zip
[client] Disable buttons and options if user is student and can't see imageDetails.
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureListWindow.java')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureListWindow.java39
1 files changed, 36 insertions, 3 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureListWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureListWindow.java
index 5b082418..4758a0c2 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureListWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureListWindow.java
@@ -26,6 +26,8 @@ import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import org.apache.log4j.Logger;
+import org.openslx.bwlp.thrift.iface.ImageDetailsRead;
+import org.openslx.bwlp.thrift.iface.ImageVersionDetails;
import org.openslx.bwlp.thrift.iface.LectureSummary;
import org.openslx.bwlp.thrift.iface.UserInfo;
import org.openslx.dozmod.gui.Gui;
@@ -125,18 +127,20 @@ public class LectureListWindow extends LectureListWindowLayout {
return cal.getTimeInMillis() > end ? true: false;
}
};
-
+
/**
* Popup menu items
*/
private JMenuItem popupItemNew = new JMenuItem("Neu");
private JMenuItem popupItemEdit = new JMenuItem("Bearbeiten");
private JMenuItem popupItemLinked = new JMenuItem("Imagedetails anzeigen");
+ private JMenuItem popupItemDownload = new JMenuItem("Verlinktes Image herunterladen");
private JMenuItem popupItemDelete = new JMenuItem("Löschen");
public LectureListWindow() {
super();
+
// filter the objects in the table depending on the search field
searchTextField.getDocument().addDocumentListener(new DocumentListener() {
@Override
@@ -219,6 +223,25 @@ public class LectureListWindow extends LectureListWindowLayout {
if (e.getSource().equals(popupItemEdit)) {
openLectureDetails(lecture);
}
+ if (e.getSource().equals(popupItemDownload)) {
+
+ //TODO fix for students, who cannot see imageDetails somehow get filesize from server.
+ ImageDetailsRead image = ThriftActions.getImageDetails(JOptionPane.getFrameForComponent(me) , lecture.imageBaseId);
+ if(image != null) {
+ long versionSize = -1;
+ for (ImageVersionDetails version : image.getVersions()) {
+ if(version.versionId.equals(lecture.imageVersionId)){
+ versionSize = version.fileSize;
+ break;
+ }
+ }
+ if (versionSize != -1) {
+ ThriftActions.initDownload(JOptionPane.getFrameForComponent(me), lecture.imageVersionId,
+ lecture.imageBaseId, image.virtId, image.osId, versionSize, null);
+ }
+ }
+
+ }
if (e.getSource().equals(popupItemLinked)) {
ImageDetailsWindow.open(JOptionPane.getFrameForComponent(me), lecture.imageBaseId, null);
}
@@ -230,6 +253,7 @@ public class LectureListWindow extends LectureListWindowLayout {
pop.addMenuItem(popupItemNew);
pop.addMenuItem(popupItemEdit);
pop.addMenuItem(popupItemLinked);
+ pop.addMenuItem(popupItemDownload);
pop.addSeparator();
pop.addMenuItem(popupItemDelete);
@@ -249,7 +273,7 @@ public class LectureListWindow extends LectureListWindowLayout {
}
private void processClick(MouseEvent e) {
// left double click => open details
- if (SwingUtilities.isLeftMouseButton(e) && e.getClickCount() == 2) {
+ if (SwingUtilities.isLeftMouseButton(e) && e.getClickCount() == 2 && Session.canListImages()) {
openLectureDetails(lectureTable.getSelectedItem());
return;
}
@@ -283,7 +307,11 @@ public class LectureListWindow extends LectureListWindowLayout {
updateAvailableOptions(item);
}
});
- filterCbo.setSelectedItem(FilterType.OWN);
+ if (Session.canListImages()) {
+ filterCbo.setSelectedItem(FilterType.OWN);
+ } else {
+ filterCbo.setSelectedItem(FilterType.ALL);
+ }
updateAvailableOptions(null);
}
/**
@@ -394,6 +422,11 @@ public class LectureListWindow extends LectureListWindowLayout {
@Override
public void requestShow() {
+ // en-/disable buttons when student
+ switchViewButton.setEnabled(Session.canListImages());
+ newButton.setEnabled(Session.canListImages());
+ popupItemNew.setEnabled(Session.canListImages());
+ popupItemLinked.setEnabled(Session.canListImages());
refreshList(false);
}