From 03dbecd5ae110198c2b53805196a45e5bfc9354b Mon Sep 17 00:00:00 2001 From: huangyuhui Date: Mon, 12 Feb 2018 23:02:33 +0800 Subject: [PATCH] About --- .../java/org/jackhuang/hmcl/ui/Decorator.java | 23 ++++++++++---- .../main/resources/assets/fxml/decorator.fxml | 18 ++++++----- .../main/resources/assets/fxml/setting.fxml | 30 ++++++++++++++++++- .../resources/assets/lang/I18N.properties | 14 ++++++++- .../assets/lang/I18N_zh_CN.properties | 14 ++++++++- 5 files changed, 83 insertions(+), 16 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/Decorator.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/Decorator.java index a595acf76..5330b6c31 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/Decorator.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/Decorator.java @@ -120,6 +120,8 @@ public final class Decorator extends StackPane implements TaskExecutorDialogWiza private JFXButton btnClose; @FXML private HBox updatePane; + @FXML + private HBox navLeft; public Decorator(Stage primaryStage, Node mainPage, String title) { this(primaryStage, mainPage, title, true, true); @@ -388,6 +390,14 @@ public final class Decorator extends StackPane implements TaskExecutorDialogWiza updatePane.setVisible(true); } + private void showCloseNavButton() { + navLeft.getChildren().add(closeNavButton); + } + + private void hideCloseNavButton() { + navLeft.getChildren().remove(closeNavButton); + } + private void setContent(Node content, AnimationProducer animation) { animationHandler.setContent(content, animation); @@ -396,13 +406,11 @@ public final class Decorator extends StackPane implements TaskExecutorDialogWiza FXUtils.setOverflowHidden((Region) content); } - backNavButton.setDisable(!wizardController.canPrev()); - if (content instanceof Refreshable) refreshNavButton.setVisible(true); if (content != mainPage) - closeNavButton.setVisible(true); + backNavButton.setVisible(true); String prefix = category == null ? "" : category + " - "; @@ -464,14 +472,14 @@ public final class Decorator extends StackPane implements TaskExecutorDialogWiza public void onStart() { backNavButton.setVisible(true); backNavButton.setDisable(false); - closeNavButton.setVisible(true); + showCloseNavButton(); refreshNavButton.setVisible(false); } @Override public void onEnd() { backNavButton.setVisible(false); - closeNavButton.setVisible(false); + hideCloseNavButton(); refreshNavButton.setVisible(false); } @@ -495,7 +503,10 @@ public final class Decorator extends StackPane implements TaskExecutorDialogWiza @FXML private void onBack() { - wizardController.onPrev(true); + if (wizardController.canPrev()) + wizardController.onPrev(true); + else + onCloseNav(); } @Override diff --git a/HMCL/src/main/resources/assets/fxml/decorator.fxml b/HMCL/src/main/resources/assets/fxml/decorator.fxml index cc07fd21b..406d378c7 100644 --- a/HMCL/src/main/resources/assets/fxml/decorator.fxml +++ b/HMCL/src/main/resources/assets/fxml/decorator.fxml @@ -95,9 +95,19 @@ -