Do not rely on error handling popup for sodium info (fixes #392)
Instead we now disable all the Render buttons and give them a tooltip. Much more user-friendly.
This commit is contained in:
@@ -25,6 +25,7 @@ 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.GuiTooltip;
|
||||
import de.johni0702.minecraft.gui.function.Typeable;
|
||||
import de.johni0702.minecraft.gui.layout.CustomLayout;
|
||||
import de.johni0702.minecraft.gui.layout.GridLayout;
|
||||
@@ -338,6 +339,11 @@ public class GuiRenderQueue extends AbstractGuiPopup<GuiRenderQueue> implements
|
||||
removeButton.setEnabled(selected >= 1);
|
||||
renderButton.setEnabled(selected > 0);
|
||||
renderButton.setI18nLabel("replaymod.gui.renderqueue.render" + (selected > 0 ? "selected" : "all"));
|
||||
|
||||
String[] compatError = VideoRenderer.checkCompat();
|
||||
if (compatError != null) {
|
||||
renderButton.setDisabled().setTooltip(new GuiTooltip().setText(compatError));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -367,19 +367,26 @@ public class GuiRenderSettings extends AbstractGuiPopup<GuiRenderSettings> {
|
||||
videoWidth.setEnabled(!renderMethod.hasFixedAspectRatio());
|
||||
|
||||
// Validate video width and height
|
||||
String error = updateResolution();
|
||||
if (error == null) {
|
||||
renderButton.setEnabled().setTooltip(null);
|
||||
String resolutionError = updateResolution();
|
||||
if (resolutionError == null) {
|
||||
queueButton.setEnabled().setTooltip(null);
|
||||
videoWidth.setTextColor(Colors.WHITE);
|
||||
videoHeight.setTextColor(Colors.WHITE);
|
||||
} else {
|
||||
renderButton.setDisabled().setTooltip(new GuiTooltip().setI18nText(error));
|
||||
queueButton.setDisabled().setTooltip(new GuiTooltip().setI18nText(error));
|
||||
queueButton.setDisabled().setTooltip(new GuiTooltip().setI18nText(resolutionError));
|
||||
videoWidth.setTextColor(Colors.RED);
|
||||
videoHeight.setTextColor(Colors.RED);
|
||||
}
|
||||
|
||||
String[] compatError = VideoRenderer.checkCompat();
|
||||
if (resolutionError != null) {
|
||||
renderButton.setDisabled().setTooltip(new GuiTooltip().setI18nText(resolutionError));
|
||||
} else if (compatError != null) {
|
||||
renderButton.setDisabled().setTooltip(new GuiTooltip().setText(compatError));
|
||||
} else {
|
||||
renderButton.setEnabled().setTooltip(null);
|
||||
}
|
||||
|
||||
// Enable/Disable bitrate input field and dropdown
|
||||
if (encodingPresetDropdown.getSelectedValue().hasBitrateSetting()) {
|
||||
bitRateField.setEnabled();
|
||||
|
||||
Reference in New Issue
Block a user