diff options
author | Stephan Schwaer | 2015-09-29 17:00:09 +0200 |
---|---|---|
committer | Stephan Schwaer | 2015-09-29 17:00:09 +0200 |
commit | ac3f16327e64e8edaffd872f1548c6636cc9fbff (patch) | |
tree | ac3955f00f391830a356bc5c1361f10898ef3dd2 /dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureListWindow.java | |
parent | [client] Don't run proxy search if master server is reachable (diff) | |
download | tutor-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.java | 39 |
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); } |