From 358a5203056c164866ff884f3b72b555841525ed Mon Sep 17 00:00:00 2001 From: huanghongxun Date: Thu, 30 Sep 2021 20:22:46 +0800 Subject: [PATCH] feat(ui): adjust root page icons. --- HMCL/src/main/java/org/jackhuang/hmcl/ui/SVG.java | 6 ++++++ .../hmcl/ui/construct/AdvancedListItemSkin.java | 1 - .../java/org/jackhuang/hmcl/ui/main/RootPage.java | 14 +++++++------- .../hmcl/ui/multiplayer/MultiplayerPageSkin.java | 2 +- .../hmcl/ui/profile/ProfileListItemSkin.java | 2 +- .../jackhuang/hmcl/ui/versions/VersionPage.java | 4 +++- 6 files changed, 18 insertions(+), 11 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/SVG.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/SVG.java index 6d4e044b0..56b87b7fb 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/SVG.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/SVG.java @@ -508,4 +508,10 @@ public final class SVG { "M22,24L16.75,19L17.38,21H4.5A2.5,2.5 0 0,1 2,18.5V3.5A2.5,2.5 0 0,1 4.5,1H19.5A2.5,2.5 0 0,1 22,3.5V24M12,6.8C9.32,6.8 7.44,7.95 7.44,7.95C8.47,7.03 10.27,6.5 10.27,6.5L10.1,6.33C8.41,6.36 6.88,7.53 6.88,7.53C5.16,11.12 5.27,14.22 5.27,14.22C6.67,16.03 8.75,15.9 8.75,15.9L9.46,15C8.21,14.73 7.42,13.62 7.42,13.62C7.42,13.62 9.3,14.9 12,14.9C14.7,14.9 16.58,13.62 16.58,13.62C16.58,13.62 15.79,14.73 14.54,15L15.25,15.9C15.25,15.9 17.33,16.03 18.73,14.22C18.73,14.22 18.84,11.12 17.12,7.53C17.12,7.53 15.59,6.36 13.9,6.33L13.73,6.5C13.73,6.5 15.53,7.03 16.56,7.95C16.56,7.95 14.68,6.8 12,6.8M9.93,10.59C10.58,10.59 11.11,11.16 11.1,11.86C11.1,12.55 10.58,13.13 9.93,13.13C9.29,13.13 8.77,12.55 8.77,11.86C8.77,11.16 9.28,10.59 9.93,10.59M14.1,10.59C14.75,10.59 15.27,11.16 15.27,11.86C15.27,12.55 14.75,13.13 14.1,13.13C13.46,13.13 12.94,12.55 12.94,11.86C12.94,11.16 13.45,10.59 14.1,10.59Z", fill, width, height); } + + public static Node lan(ObjectBinding fill, double width, double height) { + return createSVGPath( + "M10,2C8.89,2 8,2.89 8,4V7C8,8.11 8.89,9 10,9H11V11H2V13H6V15H5C3.89,15 3,15.89 3,17V20C3,21.11 3.89,22 5,22H9C10.11,22 11,21.11 11,20V17C11,15.89 10.11,15 9,15H8V13H16V15H15C13.89,15 13,15.89 13,17V20C13,21.11 13.89,22 15,22H19C20.11,22 21,21.11 21,20V17C21,15.89 20.11,15 19,15H18V13H22V11H13V9H14C15.11,9 16,8.11 16,7V4C16,2.89 15.11,2 14,2H10M10,4H14V7H10V4M5,17H9V20H5V17M15,17H19V20H15V17Z", + fill, width, height); + } } diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/AdvancedListItemSkin.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/AdvancedListItemSkin.java index 148e74291..c9c6c7638 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/AdvancedListItemSkin.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/AdvancedListItemSkin.java @@ -41,7 +41,6 @@ public class AdvancedListItemSkin extends SkinBase { RipplerContainer container = new RipplerContainer(root); HBox left = new HBox(); - left.setAlignment(Pos.CENTER_LEFT); left.setMouseTransparent(true); TwoLineListItem item = new TwoLineListItem(); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/RootPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/RootPage.java index 72636a652..bfed711d4 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/RootPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/RootPage.java @@ -32,6 +32,7 @@ import org.jackhuang.hmcl.task.Schedulers; import org.jackhuang.hmcl.task.Task; import org.jackhuang.hmcl.ui.Controllers; import org.jackhuang.hmcl.ui.FXUtils; +import org.jackhuang.hmcl.ui.SVG; import org.jackhuang.hmcl.ui.account.AccountAdvancedListItem; import org.jackhuang.hmcl.ui.construct.AdvancedListBox; import org.jackhuang.hmcl.ui.construct.AdvancedListItem; @@ -54,6 +55,7 @@ import java.util.stream.Collectors; import static org.jackhuang.hmcl.ui.FXUtils.newImage; import static org.jackhuang.hmcl.ui.FXUtils.runInFX; +import static org.jackhuang.hmcl.ui.versions.VersionPage.wrap; import static org.jackhuang.hmcl.util.i18n.I18n.i18n; public class RootPage extends DecoratorTabPage { @@ -155,30 +157,28 @@ public class RootPage extends DecoratorTabPage { // third item in left sidebar AdvancedListItem gameItem = new AdvancedListItem(); - gameItem.setLeftGraphic(AdvancedListItem.createImageView(newImage("/assets/img/bookshelf.png")).getKey()); + gameItem.setLeftGraphic(wrap(SVG::viewList)); + gameItem.setActionButtonVisible(false); gameItem.setTitle(i18n("version.manage")); gameItem.setOnAction(e -> Controllers.navigate(Controllers.getGameListPage())); // forth item in left sidebar AdvancedListItem downloadItem = new AdvancedListItem(); - downloadItem - .setLeftGraphic(AdvancedListItem.createImageView(newImage("/assets/img/chest.png")).getKey()); + downloadItem.setLeftGraphic(wrap(SVG::downloadOutline)); downloadItem.setActionButtonVisible(false); downloadItem.setTitle(i18n("download")); downloadItem.setOnAction(e -> Controllers.navigate(Controllers.getDownloadPage())); // fifth item in left sidebar AdvancedListItem multiplayerItem = new AdvancedListItem(); - multiplayerItem - .setLeftGraphic(AdvancedListItem.createImageView(newImage("/assets/img/command.png")).getKey()); + multiplayerItem.setLeftGraphic(wrap(SVG::lan)); multiplayerItem.setActionButtonVisible(false); multiplayerItem.setTitle(i18n("multiplayer")); multiplayerItem.setOnAction(e -> Controllers.navigate(Controllers.getMultiplayerPage())); // sixth item in left sidebar AdvancedListItem launcherSettingsItem = new AdvancedListItem(); - launcherSettingsItem - .setLeftGraphic(AdvancedListItem.createImageView(newImage("/assets/img/command.png")).getKey()); + launcherSettingsItem.setLeftGraphic(wrap(SVG::gearOutline)); launcherSettingsItem.setActionButtonVisible(false); launcherSettingsItem.setTitle(i18n("settings")); launcherSettingsItem.setOnAction(e -> Controllers.navigate(Controllers.getSettingsPage())); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/multiplayer/MultiplayerPageSkin.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/multiplayer/MultiplayerPageSkin.java index 2b2ffeb8f..4592d4245 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/multiplayer/MultiplayerPageSkin.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/multiplayer/MultiplayerPageSkin.java @@ -288,7 +288,7 @@ public class MultiplayerPageSkin extends SkinBase { roomPane, ComponentList.createComponentListTitle(i18n("multiplayer.nat")), natDetectionPane, - ComponentList.createComponentListTitle(i18n("about.thanks_to")), + ComponentList.createComponentListTitle(i18n("settings")), thanksPane ); } diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/profile/ProfileListItemSkin.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/profile/ProfileListItemSkin.java index 828c89094..3713abb69 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/profile/ProfileListItemSkin.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/profile/ProfileListItemSkin.java @@ -51,7 +51,7 @@ public class ProfileListItemSkin extends SkinBase { getSkinnable().setSelected(true); }); - Node left = VersionPage.wrap(SVG.folderOutline(null, 24, 24)); + Node left = VersionPage.wrap(SVG::folderOutline); root.setLeft(left); BorderPane.setAlignment(left, Pos.CENTER_LEFT); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/VersionPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/VersionPage.java index 6eac6eb5a..35959d295 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/VersionPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/VersionPage.java @@ -22,6 +22,7 @@ import javafx.application.Platform; import javafx.beans.binding.Bindings; import javafx.beans.property.*; import javafx.geometry.Insets; +import javafx.geometry.Pos; import javafx.scene.Node; import javafx.scene.control.Control; import javafx.scene.control.SkinBase; @@ -316,9 +317,10 @@ public class VersionPage extends Control implements DecoratorPage { public static Node wrap(Node node) { StackPane stackPane = new StackPane(); + stackPane.setAlignment(Pos.CENTER); FXUtils.setLimitWidth(stackPane, 30); FXUtils.setLimitHeight(stackPane, 20); - stackPane.setPadding(new Insets(0, 10, 0, 0)); + stackPane.setPadding(new Insets(0, 0, 0, 0)); stackPane.getChildren().setAll(node); return stackPane; }