diff options
author | Jonathan Bauer | 2015-09-07 15:52:40 +0200 |
---|---|---|
committer | Jonathan Bauer | 2015-09-07 15:52:40 +0200 |
commit | 59c790fbd8db2d726f888676132cbb630f92a74c (patch) | |
tree | edc7b679465f1750004c5761a51d7fc32d9789e6 /dozentenmodul/src/main/java/org/openslx/dozmod | |
parent | [client] ConfigWindow -> back to "Close" (diff) | |
download | tutor-module-59c790fbd8db2d726f888676132cbb630f92a74c.tar.gz tutor-module-59c790fbd8db2d726f888676132cbb630f92a74c.tar.xz tutor-module-59c790fbd8db2d726f888676132cbb630f92a74c.zip |
[client] ImageListViewer now accepts a default FilterType given in the constructor
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod')
4 files changed, 30 insertions, 16 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageListViewer.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageListViewer.java index 10f55205..44417cd0 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageListViewer.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageListViewer.java @@ -38,29 +38,36 @@ public class ImageListViewer extends QLabel { protected ImageTable imageTable; protected JComboBox<FilterType> filterCbo; - private final RowFilter<ListModel<ImageSummaryRead>, Integer> filterEditable = new RowFilter<ListModel<ImageSummaryRead>, Integer>() { - @Override + private final RowFilter<ListModel<ImageSummaryRead>, Integer> filterOwn = new RowFilter<ListModel<ImageSummaryRead>, Integer>() { public boolean include(Entry<? extends ListModel<ImageSummaryRead>, ? extends Integer> entry) { - return ImagePerms.canEdit(imageTable.getModelRow(entry.getIdentifier())); + ImageSummaryRead img = imageTable.getModelRow(entry.getIdentifier()); + return ImagePerms.canAdmin(img) || img.ownerId.equals(Session.getUserId()); } }; - private final RowFilter<ListModel<ImageSummaryRead>, Integer> filterTemplate = new RowFilter<ListModel<ImageSummaryRead>, Integer>() { + private final RowFilter<ListModel<ImageSummaryRead>, Integer> filterUsable = new RowFilter<ListModel<ImageSummaryRead>, Integer>() { public boolean include(Entry<? extends ListModel<ImageSummaryRead>, ? extends Integer> entry) { - return imageTable.getModelRow(entry.getIdentifier()).isTemplate; + return imageTable.getModelRow(entry.getIdentifier()).isValid; } }; - private final RowFilter<ListModel<ImageSummaryRead>, Integer> filterOwn = new RowFilter<ListModel<ImageSummaryRead>, Integer>() { + private final RowFilter<ListModel<ImageSummaryRead>, Integer> filterLinkable = new RowFilter<ListModel<ImageSummaryRead>, Integer>() { + @Override public boolean include(Entry<? extends ListModel<ImageSummaryRead>, ? extends Integer> entry) { - ImageSummaryRead img = imageTable.getModelRow(entry.getIdentifier()); - return ImagePerms.canAdmin(img) || img.ownerId.equals(Session.getUserId()); + return ImagePerms.canLink(imageTable.getModelRow(entry.getIdentifier())) && imageTable.getModelRow(entry.getIdentifier()).isValid; } }; - private final RowFilter<ListModel<ImageSummaryRead>, Integer> filterUsable = new RowFilter<ListModel<ImageSummaryRead>, Integer>() { + private final RowFilter<ListModel<ImageSummaryRead>, Integer> filterEditable = new RowFilter<ListModel<ImageSummaryRead>, Integer>() { + @Override public boolean include(Entry<? extends ListModel<ImageSummaryRead>, ? extends Integer> entry) { - return imageTable.getModelRow(entry.getIdentifier()).isValid; + return ImagePerms.canEdit(imageTable.getModelRow(entry.getIdentifier())); + } + }; + + private final RowFilter<ListModel<ImageSummaryRead>, Integer> filterTemplate = new RowFilter<ListModel<ImageSummaryRead>, Integer>() { + public boolean include(Entry<? extends ListModel<ImageSummaryRead>, ? extends Integer> entry) { + return imageTable.getModelRow(entry.getIdentifier()).isTemplate; } }; @@ -84,10 +91,11 @@ public class ImageListViewer extends QLabel { } }; - protected static enum FilterType { + public static enum FilterType { ALL("Alle anzeigen"), OWN("Nur eigene/zugewiesene Anzeigen"), USABLE("Nur verwendbare anzeigen"), + LINKABLE("Nur linkbare anzeigen"), EDITABLE("Nur editierbare anzeigen"), TEMPLATES("Nur Vorlagen zeigen"); @@ -103,7 +111,7 @@ public class ImageListViewer extends QLabel { } } - public ImageListViewer() { + public ImageListViewer(FilterType defaultFilter) { super(); GridManager grid = new GridManager(this, 1); @@ -169,7 +177,7 @@ public class ImageListViewer extends QLabel { applyFilterOnTable(); } }); - filterCbo.setSelectedItem(FilterType.USABLE); + filterCbo.setSelectedItem(defaultFilter == null ? FilterType.USABLE : defaultFilter); } /** @@ -196,6 +204,9 @@ public class ImageListViewer extends QLabel { case USABLE: filters.add(filterUsable); break; + case LINKABLE: + filters.add(filterLinkable); + break; case EDITABLE: // filter for editable filters.add(filterEditable); diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageListWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageListWindowLayout.java index 378a11a7..e2e778d6 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageListWindowLayout.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageListWindowLayout.java @@ -12,6 +12,7 @@ import javax.swing.JPanel; import org.apache.log4j.Logger; import org.openslx.dozmod.gui.control.ImageListViewer; +import org.openslx.dozmod.gui.control.ImageListViewer.FilterType; import org.openslx.dozmod.gui.control.QLabel; import org.openslx.dozmod.gui.helper.CompositePage; import org.openslx.dozmod.gui.helper.GridManager; @@ -54,7 +55,7 @@ public abstract class ImageListWindowLayout extends CompositePage { infoPanel.add(infoTitle, BorderLayout.NORTH); infoPanel.add(infoText, BorderLayout.CENTER); - imageListViewer = new ImageListViewer(); + imageListViewer = new ImageListViewer(FilterType.USABLE); // -------------------------------------- // the buttons at the bottom diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureChangeLinkedImageLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureChangeLinkedImageLayout.java index b034227e..53708dcb 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureChangeLinkedImageLayout.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureChangeLinkedImageLayout.java @@ -12,6 +12,7 @@ import javax.swing.JPanel; import org.apache.log4j.Logger; import org.openslx.dozmod.gui.Gui; import org.openslx.dozmod.gui.control.ImageListViewer; +import org.openslx.dozmod.gui.control.ImageListViewer.FilterType; import org.openslx.dozmod.gui.helper.GridManager; @@ -52,7 +53,7 @@ public class LectureChangeLinkedImageLayout extends JDialog { GridManager grid = new GridManager(contentPanel, 1); // create the imageListViewer and add it to the pane. - imageListViewer = new ImageListViewer(); + imageListViewer = new ImageListViewer(FilterType.LINKABLE); // Panel for the buttons at the bottom JPanel buttonPane = new JPanel(); diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/LectureImageListPageLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/LectureImageListPageLayout.java index 96d12951..d7a0ab16 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/LectureImageListPageLayout.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/LectureImageListPageLayout.java @@ -1,6 +1,7 @@ package org.openslx.dozmod.gui.wizard.layout; import org.openslx.dozmod.gui.control.ImageListViewer; +import org.openslx.dozmod.gui.control.ImageListViewer.FilterType; import org.openslx.dozmod.gui.helper.GridManager; import org.openslx.dozmod.gui.wizard.Wizard; import org.openslx.dozmod.gui.wizard.WizardPage; @@ -17,7 +18,7 @@ public abstract class LectureImageListPageLayout extends WizardPage { setDescription("Wählen Sie ein Image für diese Veranstaltung aus"); GridManager grid = new GridManager(this, 1, false); - imageListViewer = new ImageListViewer(); + imageListViewer = new ImageListViewer(FilterType.LINKABLE); grid.add(imageListViewer).fill(true, true).expand(true, true); grid.finish(false); } |