From 943e1af20d77718b6a198677c2e9b0ab845e4416 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Mon, 5 May 2025 20:06:45 +0200 Subject: [PATCH] Toggle ruler icon --- .../decompiler/flash/gui/ImagePanel.java | 5 ++++ .../decompiler/flash/gui/SoundTagPlayer.java | 5 ++++ .../decompiler/flash/gui/graphics/ruler16.png | Bin 0 -> 812 bytes .../flash/gui/locales/MainFrame.properties | 1 + .../flash/gui/player/FlashPlayerPanel.java | 5 ++++ .../flash/gui/player/MediaDisplay.java | 2 ++ .../flash/gui/player/ZoomPanel.java | 25 +++++++++++++++++- 7 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 src/com/jpexs/decompiler/flash/gui/graphics/ruler16.png diff --git a/src/com/jpexs/decompiler/flash/gui/ImagePanel.java b/src/com/jpexs/decompiler/flash/gui/ImagePanel.java index e96628844..9f75430da 100644 --- a/src/com/jpexs/decompiler/flash/gui/ImagePanel.java +++ b/src/com/jpexs/decompiler/flash/gui/ImagePanel.java @@ -399,6 +399,11 @@ public final class ImagePanel extends JPanel implements MediaDisplay { private int guidesCharacterId = -1; + @Override + public boolean canHaveRuler() { + return this.contentCanHaveRuler; + } + @Override public boolean canUseSnapping() { return selectionMode || doFreeTransform || hilightedPoints != null; diff --git a/src/com/jpexs/decompiler/flash/gui/SoundTagPlayer.java b/src/com/jpexs/decompiler/flash/gui/SoundTagPlayer.java index 2ecf22982..263f537be 100644 --- a/src/com/jpexs/decompiler/flash/gui/SoundTagPlayer.java +++ b/src/com/jpexs/decompiler/flash/gui/SoundTagPlayer.java @@ -92,6 +92,11 @@ public class SoundTagPlayer implements MediaDisplay { private int instanceId = totalInstances++; + @Override + public boolean canHaveRuler() { + return false; + } + @Override public boolean canUseSnapping() { return false; diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/ruler16.png b/src/com/jpexs/decompiler/flash/gui/graphics/ruler16.png new file mode 100644 index 0000000000000000000000000000000000000000..3e490250f60370a4f1e40ed4c78a0fe62f63a0fc GIT binary patch literal 812 zcmV+{1JnG8P)EX>4Tx04R}tkv&MmKp2MKrWQq7MC>5q5TQERMMWG-6^me@v=v%)FuC*(nlvOS zE{=k0!NH%!s)LKOt`4q(Aov5~E;uQ=NQvJig%&a1aoodu-}`d+9UwHTOf`FAfT~$W zIuRFh`Bky^6#<%q7(+;6rk>0!X5l%$?&0J6U6f~e*Zny{O2K4+Pb7{p-LQx^h-Wt~ zo%23%n3W}k_?&pspbHW|a$R=$jdRIifoFz|Y95vj03&9K&xTf-^aGyIsyF8z?IhV*P6iGC+Urj z7C8b2wt zOq3{l-Q(ST-F^GFrrp0EcC>P+JIO{j00006VoOIv0RI600RN!9r;`8x010qNS#tmY zE+YT{E+YYWr9XB6000McNliru=>-K5HxhjNhm!yR02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{009I^L_t(I%e~UgN&;aR#qndI28m*Z6>1+8c?WY1vu@SQ z4b-M}i|__q1mWIg?fRgFL<~iQ^c^Begh-37L6|oG7Sr3ZaVF^OfA4vC-beb+xURbw z8(Wrjgjd0~ZQ|eqE=zE>0H@11jzcuuo6){@(mJ6*QaiPgaoBl;ngjteb_00$k66SAo`|!JFZ@mkFBhrr~N1&gUcG zei~jf@RWyk5iZIGZ-ilw_hiuA$-#Xv{;0UY#~2LK(3^zkJlqrw-Wv7Gw|Sd@ZkF%u qN5UpeIyofOCGEsL`~AP*$oT@OPMiDcedkXA0000() { + @Override + public void configurationItemChanged(Boolean newValue) { + rulerButton.setSelected(newValue); + } + }); + snapOptionsButton = new SnapOptionsButton(); setLayout(new FlowLayout()); @@ -68,11 +84,17 @@ public class ZoomPanel extends JPanel implements MediaDisplayListener { add(zoomOutButton); add(zoomNoneButton); add(zoomFitButton); + add(rulerButton); add(snapOptionsButton); display.addEventListener(this); } + private void rulerActionPerformed(ActionEvent evt) { + JToggleButton toggleButton = (JToggleButton) evt.getSource(); + Configuration.showRuler.set(toggleButton.isSelected()); + } + private void zoomInButtonActionPerformed(ActionEvent evt) { double currentRealZoom = getRealZoom(); if (currentRealZoom >= MAX_ZOOM) { @@ -155,6 +177,7 @@ public class ZoomPanel extends JPanel implements MediaDisplayListener { zoomFitButton.setVisible(zoom != null); percentLabel.setVisible(zoom != null); snapOptionsButton.setVisible(display.canUseSnapping()); + rulerButton.setVisible(display.canHaveRuler()); Zoom currentZoom = new Zoom(); currentZoom.fit = zoomToFit; currentZoom.value = realZoom;