import eu.etaxonomy.cdm.model.media.Media;
import eu.etaxonomy.cdm.model.media.MediaRepresentation;
import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;
+import eu.etaxonomy.cdm.model.media.MediaUtils;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
/**
@Override
public Image getImage(Object element) {
Image image = null;
+ int scale = 50;
if (element instanceof Media && PreferencesUtil.isShowMediaPreview()){
Set<MediaRepresentation> representations = ((Media)element).getRepresentations();
if(representations.iterator().hasNext()){
- MediaRepresentation rep = representations.iterator().next();
- List<MediaRepresentationPart> parts = rep.getParts();
+ MediaRepresentation rep = null;
+
MediaRepresentationPart smallestPart = null;
+ rep = MediaUtils.findBestMatchingRepresentation((Media)element, null, null, scale, scale, null);
+ List<MediaRepresentationPart> parts = rep.getParts();
for (MediaRepresentationPart part: parts){
if (smallestPart != null){
if (smallestPart.getSize() != null && part.getSize() != null) {
}
}
- URI uri = parts.get(0).getUri();
+ URI uri = smallestPart.getUri();
if (uri == null){
return null;
}
image = new Image(Display.getCurrent(), imageStream);
int height = image.getBounds().height;
int width = image.getBounds().width;
- int scale = 50;
+
if (height>width){
width = width/(height/scale);
height = scale;