Skip to content

Commit aecbf2e

Browse files
CiiLuGlavo
andauthored
修复 OfflineAccountSkinPanecslApiField 的校验未生效的问题 (#5411)
Co-authored-by: Glavo <zjx001202@gmail.com>
1 parent 52d8c44 commit aecbf2e

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

HMCL/src/main/java/org/jackhuang/hmcl/ui/account/OfflineAccountSkinPane.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,6 @@
2929
import javafx.scene.input.DragEvent;
3030
import javafx.scene.input.TransferMode;
3131
import javafx.scene.layout.*;
32-
import org.jackhuang.hmcl.ui.skin.SkinCanvas;
33-
import org.jackhuang.hmcl.ui.skin.animation.SkinAniRunning;
34-
import org.jackhuang.hmcl.ui.skin.animation.SkinAniWavingArms;
3532
import org.jackhuang.hmcl.auth.offline.OfflineAccount;
3633
import org.jackhuang.hmcl.auth.offline.Skin;
3734
import org.jackhuang.hmcl.auth.yggdrasil.TextureModel;
@@ -40,6 +37,9 @@
4037
import org.jackhuang.hmcl.ui.Controllers;
4138
import org.jackhuang.hmcl.ui.FXUtils;
4239
import org.jackhuang.hmcl.ui.construct.*;
40+
import org.jackhuang.hmcl.ui.skin.SkinCanvas;
41+
import org.jackhuang.hmcl.ui.skin.animation.SkinAniRunning;
42+
import org.jackhuang.hmcl.ui.skin.animation.SkinAniWavingArms;
4343
import org.jackhuang.hmcl.util.io.FileUtils;
4444

4545
import java.nio.file.Path;
@@ -48,8 +48,8 @@
4848

4949
import static org.jackhuang.hmcl.ui.FXUtils.onEscPressed;
5050
import static org.jackhuang.hmcl.ui.FXUtils.stringConverter;
51-
import static org.jackhuang.hmcl.util.logging.Logger.LOG;
5251
import static org.jackhuang.hmcl.util.i18n.I18n.i18n;
52+
import static org.jackhuang.hmcl.util.logging.Logger.LOG;
5353

5454
public class OfflineAccountSkinPane extends StackPane {
5555
private final OfflineAccount account;
@@ -110,6 +110,7 @@ public OfflineAccountSkinPane(OfflineAccount account) {
110110

111111
cslApiField.setPromptText(i18n("account.skin.type.csl_api.location.hint"));
112112
cslApiField.setValidators(new URLValidator());
113+
FXUtils.setValidateWhileTextChanged(cslApiField, true);
113114

114115
skinItem.loadChildren(Arrays.asList(
115116
new MultiFileItem.Option<>(i18n("message.default"), Skin.Type.DEFAULT),
@@ -218,6 +219,10 @@ public OfflineAccountSkinPane(OfflineAccount account) {
218219
cancelButton.setOnAction(e -> fireEvent(new DialogCloseEvent()));
219220
onEscPressed(this, cancelButton::fire);
220221

222+
acceptButton.disableProperty().bind(
223+
skinItem.selectedDataProperty().isEqualTo(Skin.Type.CUSTOM_SKIN_LOADER_API)
224+
.and(cslApiField.activeValidatorProperty().isNotNull()));
225+
221226
layout.setActions(littleSkinLink, acceptButton, cancelButton);
222227
}
223228

0 commit comments

Comments
 (0)