From f13e8834d6e59d4a2e3c46902eb76136e0c132d8 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Sat, 29 Aug 2020 18:15:55 +0200 Subject: [PATCH] Have render job name be determined directly by output file name --- .../replaymod/render/gui/GuiRenderQueue.java | 54 +------------------ .../com/replaymod/render/utils/RenderJob.java | 15 ++---- 2 files changed, 6 insertions(+), 63 deletions(-) diff --git a/src/main/java/com/replaymod/render/gui/GuiRenderQueue.java b/src/main/java/com/replaymod/render/gui/GuiRenderQueue.java index b66c1e16..25ef3169 100644 --- a/src/main/java/com/replaymod/render/gui/GuiRenderQueue.java +++ b/src/main/java/com/replaymod/render/gui/GuiRenderQueue.java @@ -1,8 +1,6 @@ package com.replaymod.render.gui; import com.google.common.collect.Iterables; -import com.google.common.util.concurrent.FutureCallback; -import com.google.common.util.concurrent.Futures; import com.replaymod.core.ReplayMod; import com.replaymod.core.utils.Utils; import com.replaymod.core.versions.MCVer; @@ -23,13 +21,11 @@ import de.johni0702.minecraft.gui.container.GuiVerticalList; import de.johni0702.minecraft.gui.element.GuiButton; import de.johni0702.minecraft.gui.element.GuiElement; import de.johni0702.minecraft.gui.element.GuiLabel; -import de.johni0702.minecraft.gui.element.GuiTextField; import de.johni0702.minecraft.gui.function.Typeable; import de.johni0702.minecraft.gui.layout.CustomLayout; import de.johni0702.minecraft.gui.layout.GridLayout; import de.johni0702.minecraft.gui.layout.HorizontalLayout; import de.johni0702.minecraft.gui.popup.AbstractGuiPopup; -import de.johni0702.minecraft.gui.popup.GuiYesNoPopup; import de.johni0702.minecraft.gui.utils.Colors; import de.johni0702.minecraft.gui.utils.lwjgl.Dimension; import de.johni0702.minecraft.gui.utils.lwjgl.ReadableDimension; @@ -37,7 +33,6 @@ import de.johni0702.minecraft.gui.utils.lwjgl.ReadablePoint; import net.minecraft.client.gui.screen.NoticeScreen; import net.minecraft.util.crash.CrashReport; -import javax.annotation.Nullable; import java.util.ArrayList; import java.util.HashSet; import java.util.List; @@ -56,7 +51,6 @@ public class GuiRenderQueue extends AbstractGuiPopup implements private final GuiLabel title = new GuiLabel().setI18nText("replaymod.gui.renderqueue.title").setColor(Colors.BLACK); private final GuiVerticalList list = new GuiVerticalList().setDrawShadow(true).setDrawSlider(true); private final GuiButton addButton = new GuiButton().setI18nLabel("replaymod.gui.renderqueue.add").setSize(150, 20); - private final GuiButton renameButton = new GuiButton().setI18nLabel("replaymod.gui.rename").setSize(73, 20); private final GuiButton removeButton = new GuiButton().setI18nLabel("replaymod.gui.remove").setSize(73, 20); private final GuiButton renderButton = new GuiButton().setSize(150, 20); private final GuiButton closeButton = new GuiButton().setI18nLabel("replaymod.gui.close").setSize(150, 20).onClick(this::close); @@ -66,7 +60,7 @@ public class GuiRenderQueue extends AbstractGuiPopup implements |---------------------------------| | Add | Render | |---------------------------------| - | Rename | Remove | Close | + | Remove | | Close | |---------------------------------| */ @@ -76,7 +70,7 @@ public class GuiRenderQueue extends AbstractGuiPopup implements addButton, renderButton, new GuiPanel().setLayout(new HorizontalLayout().setSpacing(4)).addElements(null, - renameButton, removeButton), + removeButton), closeButton); private final AbstractGuiScreen container; @@ -122,43 +116,6 @@ public class GuiRenderQueue extends AbstractGuiPopup implements addButton.onClick(this::addButtonClicked); - renameButton.onClick(() -> { - Entry selectedEntry = selectedEntries.iterator().next(); - LOGGER.trace("Rename button clicked for {}", selectedEntry.job); - // Open popup - GuiYesNoPopup popup = GuiYesNoPopup.open(container) - .setYesI18nLabel("replaymod.gui.rename").setNoI18nLabel("replaymod.gui.cancel"); - popup.getInfo().setLayout(new HorizontalLayout(HorizontalLayout.Alignment.CENTER).setSpacing(5)); - // Add content - GuiLabel label = new GuiLabel().setI18nText("replaymod.gui.renderqueue.jobname").setColor(Colors.BLACK); - GuiTextField nameField = new GuiTextField().setSize(150, 20).setFocused(true) - .setText(selectedEntry.job.getName()); - popup.getInfo().addElements(new HorizontalLayout.Data(0.5), label, nameField); - // Disable "Yes" button while name is empty - nameField.onTextChanged(old -> popup.getYesButton().setEnabled(!nameField.getText().isEmpty())).onEnter(() -> { - if (popup.getYesButton().isEnabled()) { - popup.getYesButton().onClick(); - } - }); - // Register callback - Futures.addCallback(popup.getFuture(), new FutureCallback() { - @Override - public void onSuccess(@Nullable Boolean result) { - if (result == Boolean.TRUE) { - LOGGER.trace("Renaming {} to \"{}\"", selectedEntry.job, nameField.getText()); - selectedEntry.setName(nameField.getText()); - } else { - LOGGER.trace("Renaming cancelled"); - } - } - - @Override - public void onFailure(Throwable t) { - LOGGER.error("Rename Job popup:", t); - } - }); - }); - removeButton.onClick(() -> { for (Entry entry : selectedEntries) { LOGGER.trace("Remove button clicked for {}", entry.job); @@ -244,7 +201,6 @@ public class GuiRenderQueue extends AbstractGuiPopup implements RenderSettings settings = save(false); RenderJob newJob = new RenderJob(); - newJob.setName(settings.getOutputFile().getName()); newJob.setSettings(settings); newJob.setTimeline(timeline); LOGGER.trace("Adding new job: {}", newJob); @@ -298,7 +254,6 @@ public class GuiRenderQueue extends AbstractGuiPopup implements public void updateButtons() { int selected = selectedEntries.size(); - renameButton.setEnabled(selected == 1); removeButton.setEnabled(selected >= 1); renderButton.setEnabled(selected > 0); renderButton.setI18nLabel("replaymod.gui.renderqueue.render" + (selected > 0 ? "selected" : "all")); @@ -365,11 +320,6 @@ public class GuiRenderQueue extends AbstractGuiPopup implements super.draw(renderer, size, renderInfo); } - public void setName(String name) { - job.setName(name); - label.setText(name); - } - @Override protected Entry getThis() { return this; diff --git a/src/main/java/com/replaymod/render/utils/RenderJob.java b/src/main/java/com/replaymod/render/utils/RenderJob.java index 381cc35e..ef8b45ca 100644 --- a/src/main/java/com/replaymod/render/utils/RenderJob.java +++ b/src/main/java/com/replaymod/render/utils/RenderJob.java @@ -6,7 +6,6 @@ import com.replaymod.replaystudio.pathing.path.Timeline; import java.util.Objects; public class RenderJob { - private String name; private Timeline timeline; private RenderSettings settings; @@ -14,7 +13,7 @@ public class RenderJob { } public String getName() { - return this.name; + return settings.getOutputFile().getName(); } public Timeline getTimeline() { @@ -25,10 +24,6 @@ public class RenderJob { return this.settings; } - public void setName(String name) { - this.name = name; - } - public void setTimeline(Timeline timeline) { this.timeline = timeline; } @@ -42,21 +37,19 @@ public class RenderJob { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; RenderJob renderJob = (RenderJob) o; - return name.equals(renderJob.name) && - timeline.equals(renderJob.timeline) && + return timeline.equals(renderJob.timeline) && settings.equals(renderJob.settings); } @Override public int hashCode() { - return Objects.hash(name, timeline, settings); + return Objects.hash(timeline, settings); } @Override public String toString() { return "RenderJob{" + - "name='" + name + '\'' + - ", timeline=" + timeline + + "timeline=" + timeline + ", settings=" + settings + '}'; }