1
0
mirror of https://gitlab.com/annimon/imagetagger.git synced 2024-09-19 14:34:21 +03:00

Add F1 for image info, refactor

This commit is contained in:
Victor 2021-01-12 19:51:27 +02:00
parent 5c8c7e0c48
commit e5868bbcbd

View File

@ -12,6 +12,8 @@ import java.util.stream.Collectors;
public class KeyProcessor {
private static final boolean PREV = false, NEXT = true;
private final Set<String> keys;
private TagPanel tagPanel;
private ImagePanel imagePanel;
@ -38,23 +40,18 @@ public class KeyProcessor {
public void keyPressed(KeyEvent e) {
switch (e.getKeyCode()) {
case KeyEvent.VK_LEFT:
imageProcessor.mergeTags(tagPanel.getEnabledTags(), tagPanel.getDisabledTags());
imageProcessor.prevImage();
imagePanel.repaint();
tagPanel.enableSupportedTags(imageProcessor.getTags());
tagPanel.repaint();
switchImage(PREV);
break;
case KeyEvent.VK_RIGHT:
imageProcessor.mergeTags(tagPanel.getEnabledTags(), tagPanel.getDisabledTags());
imageProcessor.nextImage();
imagePanel.repaint();
tagPanel.enableSupportedTags(imageProcessor.getTags());
tagPanel.repaint();
switchImage(NEXT);
break;
case KeyEvent.VK_ENTER:
imageProcessor.mergeTags(tagPanel.getEnabledTags(), tagPanel.getDisabledTags());
imageProcessor.writeTagsToFile();
break;
case KeyEvent.VK_F1:
imageInfo();
break;
case KeyEvent.VK_F3:
changeBackground();
break;
@ -66,6 +63,31 @@ public class KeyProcessor {
}
}
private void switchImage(boolean switchTo) {
imageProcessor.mergeTags(tagPanel.getEnabledTags(), tagPanel.getDisabledTags());
if (switchTo == PREV) {
imageProcessor.prevImage();
} else {
imageProcessor.nextImage();
}
imagePanel.repaint();
tagPanel.enableSupportedTags(imageProcessor.getTags());
tagPanel.repaint();
}
private void imageInfo() {
System.out.println(imageProcessor.getFilename());
final var image = imageProcessor.getImage();
if (image != null) {
System.out.println(image.getOriginalWidth() + "x" + image.getOriginalHeight());
}
System.out.println(imageProcessor.getTags()
.stream()
.sorted()
.collect(Collectors.joining(", ")));
System.out.println();
}
private void changeBackground() {
// It's not necessary to convert color to gray
// Just use one of it's color components