mirror of
https://gitlab.com/annimon/imagetagger.git
synced 2024-09-20 05:44:20 +03:00
Ability to change font size
This commit is contained in:
parent
f1689b5ff3
commit
b4b1329e34
@ -3,6 +3,8 @@ package com.annimon.imagetagger.logic;
|
||||
import com.annimon.imagetagger.beans.TagButton;
|
||||
import com.annimon.imagetagger.views.ImagePanel;
|
||||
import com.annimon.imagetagger.views.TagPanel;
|
||||
import com.annimon.imagetagger.views.UIUtils;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.util.List;
|
||||
@ -55,6 +57,15 @@ public class KeyProcessor {
|
||||
case KeyEvent.VK_F3:
|
||||
changeBackground();
|
||||
break;
|
||||
// Ctrl+Plus / Ctrl+Minus
|
||||
case KeyEvent.VK_ADD:
|
||||
case KeyEvent.VK_EQUALS:
|
||||
case KeyEvent.VK_MINUS:
|
||||
if ((e.getModifiersEx() & KeyEvent.CTRL_DOWN_MASK) == 0) break;
|
||||
final float delta = (e.getKeyCode() == KeyEvent.VK_MINUS) ? -0.5f : 0.5f;
|
||||
UIUtils.changeFontSize(imagePanel, delta);
|
||||
tagPanel.changeFontSize(delta);
|
||||
break;
|
||||
default:
|
||||
final var key = getKeyAsString(e);
|
||||
if (keys.contains(key)) {
|
||||
|
@ -2,6 +2,7 @@ package com.annimon.imagetagger.views;
|
||||
|
||||
import com.annimon.imagetagger.beans.TagButton;
|
||||
import com.annimon.imagetagger.beans.TagButtonHolder;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -64,4 +65,9 @@ public class TagPanel extends JPanel {
|
||||
label.setToggled(containsTag);
|
||||
});
|
||||
}
|
||||
|
||||
public void changeFontSize(float delta) {
|
||||
tagButtons.values().forEach(btn -> UIUtils.changeFontSize(btn.getLabel(), delta));
|
||||
UIUtils.changeFontSize(this, delta);
|
||||
}
|
||||
}
|
||||
|
18
src/main/java/com/annimon/imagetagger/views/UIUtils.java
Normal file
18
src/main/java/com/annimon/imagetagger/views/UIUtils.java
Normal file
@ -0,0 +1,18 @@
|
||||
package com.annimon.imagetagger.views;
|
||||
|
||||
import java.awt.*;
|
||||
|
||||
public class UIUtils {
|
||||
|
||||
public static void changeFontSize(Component component, float delta) {
|
||||
final var font = component.getFont();
|
||||
if (font == null) return;
|
||||
|
||||
final float size = font.getSize2D() + delta;
|
||||
if (size <= 6) return;
|
||||
if (size >= 32) return;
|
||||
|
||||
component.setFont(font.deriveFont(size));
|
||||
component.repaint();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user