From 39834ce6b42ebb1babbd7771b34da74d8ed00c0c Mon Sep 17 00:00:00 2001 From: johni0702 Date: Sat, 3 Sep 2016 20:59:30 +0200 Subject: [PATCH] Allow marker removal using the DELETE key --- .../java/com/replaymod/replay/ReplayModReplay.java | 12 ++++++++++++ .../replay/gui/overlay/GuiMarkerTimeline.java | 8 ++++++++ 2 files changed, 20 insertions(+) diff --git a/src/main/java/com/replaymod/replay/ReplayModReplay.java b/src/main/java/com/replaymod/replay/ReplayModReplay.java index 7cc2d640..a7041ab6 100644 --- a/src/main/java/com/replaymod/replay/ReplayModReplay.java +++ b/src/main/java/com/replaymod/replay/ReplayModReplay.java @@ -6,6 +6,7 @@ import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import com.replaymod.core.ReplayMod; import com.replaymod.replay.camera.*; +import com.replaymod.replay.gui.overlay.GuiMarkerTimeline; import com.replaymod.replay.handler.GuiHandler; import com.replaymod.replaystudio.data.Marker; import com.replaymod.replaystudio.replay.ReplayFile; @@ -72,6 +73,17 @@ public class ReplayModReplay { } }); + core.getKeyBindingRegistry().registerRaw(Keyboard.KEY_DELETE, () -> { + if (replayHandler != null) { + GuiMarkerTimeline timeline = replayHandler.getOverlay().timeline; + if (timeline.getSelectedMarker() != null) { + replayHandler.getMarkers().remove(timeline.getSelectedMarker()); + replayHandler.saveMarkers(); + timeline.setSelectedMarker(null); + } + } + }); + core.getKeyBindingRegistry().registerKeyBinding("replaymod.input.thumbnail", Keyboard.KEY_N, new Runnable() { @Override public void run() { diff --git a/src/main/java/com/replaymod/replay/gui/overlay/GuiMarkerTimeline.java b/src/main/java/com/replaymod/replay/gui/overlay/GuiMarkerTimeline.java index 8d70d420..2ad67f89 100644 --- a/src/main/java/com/replaymod/replay/gui/overlay/GuiMarkerTimeline.java +++ b/src/main/java/com/replaymod/replay/gui/overlay/GuiMarkerTimeline.java @@ -176,4 +176,12 @@ public class GuiMarkerTimeline extends AbstractGuiTimeline im } return super.getTooltipText(renderInfo); } + + public void setSelectedMarker(Marker selectedMarker) { + this.selectedMarker = selectedMarker; + } + + public Marker getSelectedMarker() { + return selectedMarker; + } }