From e4e521c2ef50a16facc305db7dd297e715d725d1 Mon Sep 17 00:00:00 2001 From: huangyuhui Date: Mon, 3 Sep 2018 21:27:39 +0800 Subject: [PATCH] Change Controllers.navigate(null) to PageCloseEvent/onEnd --- .../ui/decorator/DecoratorWizardDisplayer.java | 1 - .../jackhuang/hmcl/ui/download/ModpackPage.java | 2 +- .../hmcl/ui/export/ModpackInfoPage.java | 2 +- .../jackhuang/hmcl/ui/profile/ProfilePage.java | 11 ++--------- .../org/jackhuang/hmcl/ui/versions/Versions.java | 2 -- .../hmcl/ui/wizard/DefaultWizardDisplayer.java | 1 - .../TaskExecutorDialogWizardDisplayer.java | 16 +++++++++------- HMCL/src/main/resources/assets/css/root.css | 14 ++++++++++++++ HMCL/src/main/resources/assets/fxml/profile.fxml | 4 ---- 9 files changed, 27 insertions(+), 26 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/decorator/DecoratorWizardDisplayer.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/decorator/DecoratorWizardDisplayer.java index 7e16b0c62..ae03f2397 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/decorator/DecoratorWizardDisplayer.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/decorator/DecoratorWizardDisplayer.java @@ -25,7 +25,6 @@ import javafx.scene.Node; import javafx.scene.layout.StackPane; import org.jackhuang.hmcl.ui.animation.TransitionHandler; import org.jackhuang.hmcl.ui.construct.PageCloseEvent; -import org.jackhuang.hmcl.ui.construct.TaskExecutorDialogWizardDisplayer; import org.jackhuang.hmcl.ui.wizard.*; import java.util.Queue; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/ModpackPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/ModpackPage.java index b6ceab3ad..6ce2657ac 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/ModpackPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/ModpackPage.java @@ -79,7 +79,7 @@ public final class ModpackPage extends StackPane implements WizardPage { chooser.setTitle(i18n("modpack.choose")); chooser.getExtensionFilters().add(new FileChooser.ExtensionFilter(i18n("modpack"), "*.zip")); File selectedFile = chooser.showOpenDialog(Controllers.getStage()); - if (selectedFile == null) Platform.runLater(() -> Controllers.navigate(null)); + if (selectedFile == null) Platform.runLater(controller::onEnd); else { controller.getSettings().put(MODPACK_FILE, selectedFile); lblModpackLocation.setText(selectedFile.getAbsolutePath()); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/export/ModpackInfoPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/export/ModpackInfoPage.java index 6d728d58c..cbd8bfe0b 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/export/ModpackInfoPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/export/ModpackInfoPage.java @@ -87,7 +87,7 @@ public final class ModpackInfoPage extends StackPane implements WizardPage { fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter(i18n("modpack"), "*.zip")); File file = fileChooser.showSaveDialog(Controllers.getStage()); if (file == null) { - Controllers.navigate(null); + controller.onEnd(); return; } controller.getSettings().put(MODPACK_NAME, txtModpackName.getText()); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/profile/ProfilePage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/profile/ProfilePage.java index 9faa58adb..4fb22a2be 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/profile/ProfilePage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/profile/ProfilePage.java @@ -29,6 +29,7 @@ import org.jackhuang.hmcl.setting.Profiles; import org.jackhuang.hmcl.ui.Controllers; import org.jackhuang.hmcl.ui.FXUtils; import org.jackhuang.hmcl.ui.construct.FileItem; +import org.jackhuang.hmcl.ui.construct.PageCloseEvent; import org.jackhuang.hmcl.ui.decorator.DecoratorPage; import org.jackhuang.hmcl.util.StringUtils; @@ -78,14 +79,6 @@ public final class ProfilePage extends StackPane implements DecoratorPage { } } - @FXML - private void onDelete() { - if (profile != null) { - Profiles.getProfiles().remove(profile); - Controllers.navigate(null); - } - } - @FXML private void onSave() { if (profile != null) { @@ -103,7 +96,7 @@ public final class ProfilePage extends StackPane implements DecoratorPage { Profiles.getProfiles().add(newProfile); } - Controllers.navigate(null); + fireEvent(new PageCloseEvent()); } public String getTitle() { diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/Versions.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/Versions.java index 0c615a40a..82ddc9623 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/Versions.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/Versions.java @@ -56,7 +56,6 @@ public class Versions { Controllers.confirmDialog(message, i18n("message.confirm"), () -> { if (profile.getRepository().removeVersionFromDisk(version)) { profile.getRepository().refreshVersionsAsync().start(); - Controllers.navigate(null); } }, null); } @@ -65,7 +64,6 @@ public class Versions { Controllers.inputDialog(i18n("version.manage.rename.message"), (res, resolve, reject) -> { if (profile.getRepository().renameVersion(version, res)) { profile.getRepository().refreshVersionsAsync().start(); - Controllers.navigate(null); resolve.run(); } else { reject.accept(i18n("version.manage.rename.fail")); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/DefaultWizardDisplayer.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/DefaultWizardDisplayer.java index 356bb0ac3..395a6e5df 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/DefaultWizardDisplayer.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/DefaultWizardDisplayer.java @@ -109,7 +109,6 @@ public class DefaultWizardDisplayer extends StackPane implements AbstractWizardD @FXML private void close() { wizardController.onCancel(); - Controllers.navigate(null); } @FXML diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/TaskExecutorDialogWizardDisplayer.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/TaskExecutorDialogWizardDisplayer.java index 178fa0657..9eb6f717d 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/TaskExecutorDialogWizardDisplayer.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/TaskExecutorDialogWizardDisplayer.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.ui.construct; +package org.jackhuang.hmcl.ui.wizard; import com.jfoenix.concurrency.JFXUtilities; import javafx.beans.property.StringProperty; @@ -23,7 +23,9 @@ import org.jackhuang.hmcl.task.Task; import org.jackhuang.hmcl.task.TaskExecutor; import org.jackhuang.hmcl.task.TaskListener; import org.jackhuang.hmcl.ui.Controllers; -import org.jackhuang.hmcl.ui.wizard.AbstractWizardDisplayer; +import org.jackhuang.hmcl.ui.construct.DialogCloseEvent; +import org.jackhuang.hmcl.ui.construct.MessageBox; +import org.jackhuang.hmcl.ui.construct.TaskExecutorDialogPane; import org.jackhuang.hmcl.util.StringUtils; import java.util.Map; @@ -36,7 +38,7 @@ public interface TaskExecutorDialogWizardDisplayer extends AbstractWizardDisplay default void handleTask(Map settings, Task task) { TaskExecutorDialogPane pane = new TaskExecutorDialogPane(it -> { it.fireEvent(new DialogCloseEvent()); - Controllers.navigate(null); + onEnd(); }); pane.setTitle(i18n("message.doing")); @@ -65,17 +67,17 @@ public interface TaskExecutorDialogWizardDisplayer extends AbstractWizardDisplay pane.fireEvent(new DialogCloseEvent()); if (success) { if (settings.containsKey("success_message") && settings.get("success_message") instanceof String) - Controllers.dialog((String) settings.get("success_message"), null, MessageBox.FINE_MESSAGE, () -> Controllers.navigate(null)); + Controllers.dialog((String) settings.get("success_message"), null, MessageBox.FINE_MESSAGE, () -> onEnd()); else if (!settings.containsKey("forbid_success_message")) - Controllers.dialog(i18n("message.success"), null, MessageBox.FINE_MESSAGE, () -> Controllers.navigate(null)); + Controllers.dialog(i18n("message.success"), null, MessageBox.FINE_MESSAGE, () -> onEnd()); } else { if (executor.getLastException() == null) return; String appendix = StringUtils.getStackTrace(executor.getLastException()); if (settings.containsKey("failure_message") && settings.get("failure_message") instanceof String) - Controllers.dialog(appendix, (String) settings.get("failure_message"), MessageBox.ERROR_MESSAGE, () -> Controllers.navigate(null)); + Controllers.dialog(appendix, (String) settings.get("failure_message"), MessageBox.ERROR_MESSAGE, () -> onEnd()); else if (!settings.containsKey("forbid_failure_message")) - Controllers.dialog(appendix, i18n("wizard.failed"), MessageBox.ERROR_MESSAGE, () -> Controllers.navigate(null)); + Controllers.dialog(appendix, i18n("wizard.failed"), MessageBox.ERROR_MESSAGE, () -> onEnd()); } }); diff --git a/HMCL/src/main/resources/assets/css/root.css b/HMCL/src/main/resources/assets/css/root.css index 486a6deaa..cbb47bcb2 100644 --- a/HMCL/src/main/resources/assets/css/root.css +++ b/HMCL/src/main/resources/assets/css/root.css @@ -59,6 +59,20 @@ -fx-padding: 20 0 20 0; } +.iconed-item { + -fx-padding: 10 16 10 16; + -fx-spacing: 10; + -fx-font-size: 14; + -fx-alignment: CENTER_LEFT; +} + +.menu-iconed-item { + -fx-padding: 10 16 10 16; + -fx-spacing: 10; + -fx-font-size: 12; + -fx-alignment: CENTER_LEFT; +} + /******************************************************************************* * * * JFX Tab Pane * diff --git a/HMCL/src/main/resources/assets/fxml/profile.fxml b/HMCL/src/main/resources/assets/fxml/profile.fxml index 8436678a9..0c396d24f 100644 --- a/HMCL/src/main/resources/assets/fxml/profile.fxml +++ b/HMCL/src/main/resources/assets/fxml/profile.fxml @@ -45,10 +45,6 @@ - - -