From aee9c9bb3245f661415cedc47c3d272d755e90a7 Mon Sep 17 00:00:00 2001 From: huanghongxun Date: Tue, 7 Apr 2020 14:37:56 +0800 Subject: [PATCH] alt: dialog covers title bar now --- .../org/jackhuang/hmcl/ui/Controllers.java | 4 +- .../org/jackhuang/hmcl/ui/InstallerItem.java | 3 +- .../hmcl/ui/account/AccountListItemSkin.java | 2 +- .../hmcl/ui/construct/FloatListCell.java | 3 +- .../hmcl/ui/decorator/DecoratorSkin.java | 97 +++++++++++-------- .../hmcl/ui/download/InstallersPage.java | 3 +- .../org/jackhuang/hmcl/ui/main/MainPage.java | 8 +- .../hmcl/ui/profile/ProfileListItemSkin.java | 2 +- .../hmcl/ui/versions/GameListItemSkin.java | 2 +- .../hmcl/ui/versions/ModListPageSkin.java | 3 +- .../hmcl/ui/versions/VersionPage.java | 16 +-- .../hmcl/ui/versions/WorldListItemSkin.java | 2 +- HMCL/src/main/resources/assets/css/root.css | 92 +++++++++++------- .../assets/fxml/download/modpack-source.fxml | 4 +- 14 files changed, 131 insertions(+), 110 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/Controllers.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/Controllers.java index fcd035d6f..eda9e3bbb 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/Controllers.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/Controllers.java @@ -110,7 +110,9 @@ public final class Controllers { Task.runAsync(JavaVersion::initialize).start(); - scene = new Scene(decorator.getDecorator(), 800, 480); + scene = new Scene(decorator.getDecorator(), 802, 482); + stage.setMinHeight(482); + stage.setMinWidth(802); decorator.getDecorator().prefWidthProperty().bind(scene.widthProperty()); decorator.getDecorator().prefHeightProperty().bind(scene.heightProperty()); scene.getStylesheets().setAll(config().getTheme().getStylesheets()); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/InstallerItem.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/InstallerItem.java index ef3503ae3..28e935fa6 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/InstallerItem.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/InstallerItem.java @@ -41,8 +41,7 @@ import static org.jackhuang.hmcl.util.i18n.I18n.i18n; public class InstallerItem extends BorderPane { public InstallerItem(String libraryId, String libraryVersion, @Nullable Runnable upgrade, @Nullable Consumer deleteCallback) { - getStyleClass().add("two-line-list-item"); - setStyle("-fx-background-radius: 2; -fx-background-color: white; -fx-padding: 8;"); + getStyleClass().addAll("two-line-list-item", "card"); JFXDepthManager.setDepth(this, 1); String[] urls = new String[]{"/assets/img/grass.png", "/assets/img/fabric.png", "/assets/img/forge.png", "/assets/img/chicken.png", "/assets/img/command.png"}; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/AccountListItemSkin.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/AccountListItemSkin.java index b64243059..6b04d251f 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/AccountListItemSkin.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/AccountListItemSkin.java @@ -102,7 +102,7 @@ public class AccountListItemSkin extends SkinBase { root.setRight(right); root.getStyleClass().add("card"); - root.setPadding(new Insets(8, 8, 8, 0)); + root.setStyle("-fx-padding: 8 8 8 0;"); JFXDepthManager.setDepth(root, 1); getChildren().setAll(root); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/FloatListCell.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/FloatListCell.java index 383f9322d..24e09372b 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/FloatListCell.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/FloatListCell.java @@ -36,8 +36,7 @@ public abstract class FloatListCell extends ListCell { pane.getStyleClass().add("card"); pane.setCursor(Cursor.HAND); - pane.setPadding(new Insets(8)); - setPadding(new Insets(5)); + setPadding(new Insets(9, 9, 0, 9)); JFXDepthManager.setDepth(pane, 1); FXUtils.onChangeAndOperate(selectedProperty(), selected -> { diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/decorator/DecoratorSkin.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/decorator/DecoratorSkin.java index 238c4f9ae..907349313 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/decorator/DecoratorSkin.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/decorator/DecoratorSkin.java @@ -30,6 +30,7 @@ import javafx.scene.Node; import javafx.scene.control.Label; import javafx.scene.control.SkinBase; import javafx.scene.input.MouseEvent; +import javafx.scene.layout.AnchorPane; import javafx.scene.layout.BorderPane; import javafx.scene.layout.HBox; import javafx.scene.layout.StackPane; @@ -49,7 +50,7 @@ public class DecoratorSkin extends SkinBase { private static final SVGGlyph minus = Lang.apply(new SVGGlyph(0, "MINUS", "M804.571 420.571v109.714q0 22.857-16 38.857t-38.857 16h-694.857q-22.857 0-38.857-16t-16-38.857v-109.714q0-22.857 16-38.857t38.857-16h694.857q22.857 0 38.857 16t16 38.857z", Color.WHITE), glyph -> { glyph.setSize(12, 2); glyph.setTranslateY(4); }); - private final BorderPane root; + private final StackPane parent; private final StackPane titleContainer; private final Stage primaryStage; private final TransitionPane navBarPane; @@ -72,14 +73,15 @@ public class DecoratorSkin extends SkinBase { minus.fillProperty().bind(Theme.foregroundFillBinding()); Decorator skinnable = getSkinnable(); - StackPane parent = new StackPane(); + parent = new StackPane(); + parent.getStyleClass().add("window"); parent.backgroundProperty().bind(skinnable.backgroundProperty()); parent.setPickOnBounds(false); parent.prefHeightProperty().bind(control.prefHeightProperty()); parent.prefWidthProperty().bind(control.prefWidthProperty()); - - root = new BorderPane(); - root.getStyleClass().addAll("jfx-decorator", "resize-border"); + parent.setOnMouseReleased(this::onMouseReleased); + parent.setOnMouseDragged(this::onMouseDragged); + parent.setOnMouseMoved(this::onMouseMoved); // animation layer at bottom { @@ -89,12 +91,17 @@ public class DecoratorSkin extends SkinBase { leftPane.getStyleClass().add("jfx-decorator-drawer"); layer.getChildren().setAll(leftPane); parent.getChildren().add(layer); - parent.getChildren().add(root); } + StackPane wrapper = new StackPane(); + BorderPane root = new BorderPane(); + root.getStyleClass().addAll("jfx-decorator"); + wrapper.getChildren().setAll(root); + skinnable.setDrawerWrapper(wrapper); + parent.getChildren().add(wrapper); + // center node with a animation layer at bottom, a container layer at middle and a "welcome" layer at top. StackPane container = new StackPane(); - skinnable.setDrawerWrapper(container); FXUtils.setOverflowHidden(container); // content layer at middle @@ -128,11 +135,7 @@ public class DecoratorSkin extends SkinBase { root.setCenter(container); titleContainer = new StackPane(); - root.setOnMouseReleased(this::onMouseReleased); - root.setOnMouseDragged(this::onMouseDragged); - root.setOnMouseMoved(this::onMouseMoved); titleContainer.setPickOnBounds(false); - titleContainer.setMinHeight(40); titleContainer.getStyleClass().addAll("jfx-tool-bar"); titleContainer.addEventHandler(MouseEvent.MOUSE_ENTERED, e -> allowMove = true); titleContainer.addEventHandler(MouseEvent.MOUSE_EXITED, e -> { @@ -151,6 +154,8 @@ public class DecoratorSkin extends SkinBase { rectangle.widthProperty().bind(titleContainer.widthProperty()); rectangle.heightProperty().bind(titleContainer.heightProperty().add(100)); titleContainer.setClip(rectangle); + + Rectangle buttonsContainerPlaceHolder = new Rectangle(); { navBarPane = new TransitionPane(); FXUtils.onChangeAndOperate(skinnable.stateProperty(), s -> { @@ -170,11 +175,14 @@ public class DecoratorSkin extends SkinBase { s.isAnimate() ? Duration.millis(160) : null, leftPane.prefWidthProperty(), null, s.getLeftPaneWidth(), FXUtils.SINE); }); titleBar.setCenter(navBarPane); + titleBar.setRight(buttonsContainerPlaceHolder); + } + root.setTop(titleContainer); + { HBox buttonsContainer = new HBox(); - buttonsContainer.setStyle("-fx-background-color: transparent;"); - buttonsContainer.setAlignment(Pos.CENTER_RIGHT); - buttonsContainer.setPadding(new Insets(4)); + buttonsContainer.setAlignment(Pos.TOP_RIGHT); + buttonsContainer.setMaxHeight(40); { JFXButton btnMin = new JFXButton(); StackPane pane = new StackPane(minus); @@ -190,9 +198,14 @@ public class DecoratorSkin extends SkinBase { buttonsContainer.getChildren().setAll(btnMin, btnClose); } - titleBar.setRight(buttonsContainer); + AnchorPane layer = new AnchorPane(); + layer.setPickOnBounds(false); + layer.getChildren().add(buttonsContainer); + AnchorPane.setTopAnchor(buttonsContainer, 0.0); + AnchorPane.setRightAnchor(buttonsContainer, 0.0); + buttonsContainerPlaceHolder.widthProperty().bind(buttonsContainer.widthProperty()); + parent.getChildren().add(layer); } - root.setTop(titleContainer); getChildren().add(parent); } @@ -277,19 +290,19 @@ public class DecoratorSkin extends SkinBase { } private boolean isRightEdge(double x, double y, Bounds boundsInParent) { - return x < root.getWidth() && x >= root.getWidth() - root.snappedLeftInset(); + return x < parent.getWidth() && x >= parent.getWidth() - parent.snappedLeftInset(); } private boolean isTopEdge(double x, double y, Bounds boundsInParent) { - return y >= 0 && y <= root.snappedTopInset(); + return y >= 0 && y <= parent.snappedTopInset(); } private boolean isBottomEdge(double x, double y, Bounds boundsInParent) { - return y < root.getHeight() && y >= root.getHeight() - root.snappedLeftInset(); + return y < parent.getHeight() && y >= parent.getHeight() - parent.snappedLeftInset(); } private boolean isLeftEdge(double x, double y, Bounds boundsInParent) { - return x >= 0 && x <= root.snappedLeftInset(); + return x >= 0 && x <= parent.snappedLeftInset(); } private boolean setStageWidth(double width) { @@ -325,48 +338,48 @@ public class DecoratorSkin extends SkinBase { updateInitMouseValues(mouseEvent); if (primaryStage.isResizable()) { double x = mouseEvent.getX(), y = mouseEvent.getY(); - Bounds boundsInParent = root.getBoundsInParent(); - if (root.getBorder() != null && root.getBorder().getStrokes().size() > 0) { - double diagonalSize = root.snappedLeftInset() + 10; + Bounds boundsInParent = parent.getBoundsInParent(); + if (parent.getBorder() != null && parent.getBorder().getStrokes().size() > 0) { + double diagonalSize = parent.snappedLeftInset() + 10; if (this.isRightEdge(x, y, boundsInParent)) { if (y < diagonalSize) { - root.setCursor(Cursor.NE_RESIZE); - } else if (y > root.getHeight() - diagonalSize) { - root.setCursor(Cursor.SE_RESIZE); + parent.setCursor(Cursor.NE_RESIZE); + } else if (y > parent.getHeight() - diagonalSize) { + parent.setCursor(Cursor.SE_RESIZE); } else { - root.setCursor(Cursor.E_RESIZE); + parent.setCursor(Cursor.E_RESIZE); } } else if (this.isLeftEdge(x, y, boundsInParent)) { if (y < diagonalSize) { - root.setCursor(Cursor.NW_RESIZE); - } else if (y > root.getHeight() - diagonalSize) { - root.setCursor(Cursor.SW_RESIZE); + parent.setCursor(Cursor.NW_RESIZE); + } else if (y > parent.getHeight() - diagonalSize) { + parent.setCursor(Cursor.SW_RESIZE); } else { - root.setCursor(Cursor.W_RESIZE); + parent.setCursor(Cursor.W_RESIZE); } } else if (this.isTopEdge(x, y, boundsInParent)) { if (x < diagonalSize) { - root.setCursor(Cursor.NW_RESIZE); - } else if (x > root.getWidth() - diagonalSize) { - root.setCursor(Cursor.NE_RESIZE); + parent.setCursor(Cursor.NW_RESIZE); + } else if (x > parent.getWidth() - diagonalSize) { + parent.setCursor(Cursor.NE_RESIZE); } else { - root.setCursor(Cursor.N_RESIZE); + parent.setCursor(Cursor.N_RESIZE); } } else if (this.isBottomEdge(x, y, boundsInParent)) { if (x < diagonalSize) { - root.setCursor(Cursor.SW_RESIZE); - } else if (x > root.getWidth() - diagonalSize) { - root.setCursor(Cursor.SE_RESIZE); + parent.setCursor(Cursor.SW_RESIZE); + } else if (x > parent.getWidth() - diagonalSize) { + parent.setCursor(Cursor.SE_RESIZE); } else { - root.setCursor(Cursor.S_RESIZE); + parent.setCursor(Cursor.S_RESIZE); } } else { - root.setCursor(Cursor.DEFAULT); + parent.setCursor(Cursor.DEFAULT); } } } } else { - root.setCursor(Cursor.DEFAULT); + parent.setCursor(Cursor.DEFAULT); } } @@ -382,7 +395,7 @@ public class DecoratorSkin extends SkinBase { this.newY = mouseEvent.getScreenY(); double deltaX = this.newX - this.initX; double deltaY = this.newY - this.initY; - Cursor cursor = root.getCursor(); + Cursor cursor = parent.getCursor(); if (Cursor.E_RESIZE == cursor) { this.setStageWidth(this.primaryStage.getWidth() + deltaX); mouseEvent.consume(); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/InstallersPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/InstallersPage.java index 51cb5fa81..b40924973 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/InstallersPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/InstallersPage.java @@ -153,7 +153,6 @@ public class InstallersPage extends Control implements WizardPage { final Label label; InstallersPageItemSkin(String imageUrl, InstallerPageItem item, boolean clickable) { - setPadding(new Insets(8)); getStyleClass().add("card"); setLeft(FXUtils.limitingSize(imageView = new ImageView(new Image(imageUrl, 32, 32, true, true)), 32, 32)); @@ -200,7 +199,7 @@ public class InstallersPage extends Control implements WizardPage { HBox versionNamePane = new HBox(8); versionNamePane.setAlignment(Pos.CENTER_LEFT); versionNamePane.getStyleClass().add("card"); - versionNamePane.setPadding(new Insets(20, 8, 20, 16)); + versionNamePane.setStyle("-fx-padding: 20 8 20 16"); versionNamePane.getChildren().add(new Label(i18n("archive.name"))); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/MainPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/MainPage.java index 62c741537..507c24157 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/MainPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/MainPage.java @@ -115,6 +115,7 @@ public final class MainPage extends StackPane implements DecoratorPage { } StackPane launchPane = new StackPane(); + launchPane.getStyleClass().add("launch-pane"); launchPane.setMaxWidth(230); launchPane.setMaxHeight(55); launchPane.setOnScroll(event -> { @@ -134,8 +135,7 @@ public final class MainPage extends StackPane implements DecoratorPage { JFXButton launchButton = new JFXButton(); launchButton.setPrefWidth(230); launchButton.setPrefHeight(55); - launchButton.setButtonType(JFXButton.ButtonType.RAISED); - launchButton.getStyleClass().add("jfx-button-raised"); + //launchButton.setButtonType(JFXButton.ButtonType.RAISED); launchButton.setOnAction(e -> launch()); launchButton.setDefaultButton(true); launchButton.setClip(new Rectangle(-100, -100, 310, 200)); @@ -161,7 +161,6 @@ public final class MainPage extends StackPane implements DecoratorPage { } Rectangle separator = new Rectangle(); - separator.getStyleClass().add("darker-fill"); separator.setWidth(1); separator.setHeight(57); separator.setTranslateX(95); @@ -170,8 +169,7 @@ public final class MainPage extends StackPane implements DecoratorPage { menuButton = new JFXButton(); menuButton.setPrefHeight(55); menuButton.setPrefWidth(230); - menuButton.setButtonType(JFXButton.ButtonType.RAISED); - menuButton.getStyleClass().add("jfx-button-raised"); + //menuButton.setButtonType(JFXButton.ButtonType.RAISED); menuButton.setStyle("-fx-font-size: 15px;"); menuButton.setOnMouseClicked(e -> onMenu()); menuButton.setClip(new Rectangle(211, -100, 100, 200)); 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 fa5f67958..48e61af60 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 @@ -75,7 +75,7 @@ public class ProfileListItemSkin extends SkinBase { root.setRight(right); root.getStyleClass().add("card"); - root.setPadding(new Insets(8, 8, 8, 0)); + root.setStyle("-fx-padding: 8 8 8 0"); JFXDepthManager.setDepth(root, 1); item.titleProperty().bind(skinnable.titleProperty()); item.subtitleProperty().bind(skinnable.subtitleProperty()); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/GameListItemSkin.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/GameListItemSkin.java index a23336dc7..d0d2a3c7a 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/GameListItemSkin.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/GameListItemSkin.java @@ -99,7 +99,7 @@ public class GameListItemSkin extends SkinBase { root.setRight(right); root.getStyleClass().add("card"); - root.setPadding(new Insets(8, 8, 8, 0)); + root.setStyle("-fx-padding: 8 8 8 0"); JFXDepthManager.setDepth(root, 1); getChildren().setAll(root); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPageSkin.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPageSkin.java index 99ab9090d..e46607dea 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPageSkin.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPageSkin.java @@ -87,13 +87,12 @@ class ModListPageSkin extends SkinBase { BooleanProperty booleanProperty; { + Region clippedContainer = (Region)listView.lookup(".clipped-container"); setPrefWidth(0); HBox container = new HBox(8); - container.setPadding(new Insets(0, 0, 0, 6)); container.setAlignment(Pos.CENTER_LEFT); pane.getChildren().add(container); - pane.setPadding(new Insets(8, 8, 8, 0)); if (clippedContainer != null) { maxWidthProperty().bind(clippedContainer.widthProperty()); prefWidthProperty().bind(clippedContainer.widthProperty()); 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 290c62de4..d85cd8f7d 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 @@ -318,8 +318,6 @@ public class VersionPage extends Control implements DecoratorPage { ); JFXButton upgradeButton = new JFXButton(); - FXUtils.setLimitWidth(upgradeButton, 40); - FXUtils.setLimitHeight(upgradeButton, 40); upgradeButton.setGraphic(SVG.update(Theme.whiteFillBinding(), 20, 20)); upgradeButton.getStyleClass().add("jfx-decorator-button"); upgradeButton.ripplerFillProperty().bind(Theme.whiteFillBinding()); @@ -328,8 +326,6 @@ public class VersionPage extends Control implements DecoratorPage { FXUtils.installFastTooltip(upgradeButton, i18n("version.update")); JFXButton testGameButton = new JFXButton(); - FXUtils.setLimitWidth(testGameButton, 40); - FXUtils.setLimitHeight(testGameButton, 40); testGameButton.setGraphic(SVG.launch(Theme.whiteFillBinding(), 20, 20)); testGameButton.getStyleClass().add("jfx-decorator-button"); testGameButton.ripplerFillProperty().bind(Theme.whiteFillBinding()); @@ -337,8 +333,6 @@ public class VersionPage extends Control implements DecoratorPage { FXUtils.installFastTooltip(testGameButton, i18n("version.launch.test")); JFXButton browseMenuButton = new JFXButton(); - FXUtils.setLimitWidth(browseMenuButton, 40); - FXUtils.setLimitHeight(browseMenuButton, 40); browseMenuButton.setGraphic(SVG.folderOpen(Theme.whiteFillBinding(), 20, 20)); browseMenuButton.getStyleClass().add("jfx-decorator-button"); browseMenuButton.ripplerFillProperty().bind(Theme.whiteFillBinding()); @@ -347,7 +341,7 @@ public class VersionPage extends Control implements DecoratorPage { JFXButton managementMenuButton = new JFXButton(); FXUtils.setLimitWidth(managementMenuButton, 40); - FXUtils.setLimitHeight(managementMenuButton, 40);; + FXUtils.setLimitHeight(managementMenuButton, 40); managementMenuButton.setGraphic(SVG.wrench(Theme.whiteFillBinding(), 20, 20)); managementMenuButton.getStyleClass().add("jfx-decorator-button"); managementMenuButton.ripplerFillProperty().bind(Theme.whiteFillBinding()); @@ -362,11 +356,9 @@ public class VersionPage extends Control implements DecoratorPage { titleBar.setRight(toolBar); control.state.set(new State(i18n("version.manage.manage"), titleBar, true, false, true, false, 200)); - control.transitionPane.getStyleClass().add("gray-background"); - FXUtils.setOverflowHidden(control.transitionPane, 8); - StackPane wrapper = new StackPane(control.transitionPane); - wrapper.setPadding(new Insets(4)); - root.setCenter(wrapper); + //control.transitionPane.getStyleClass().add("gray-background"); + //FXUtils.setOverflowHidden(control.transitionPane, 8); + root.setCenter(control.transitionPane); spinnerPane.loadingProperty().bind(control.loading); spinnerPane.setContent(root); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/WorldListItemSkin.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/WorldListItemSkin.java index d59a1b208..1f0b8cf67 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/WorldListItemSkin.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/WorldListItemSkin.java @@ -85,7 +85,7 @@ public class WorldListItemSkin extends SkinBase { root.setRight(right); root.getStyleClass().add("card"); - root.setPadding(new Insets(8, 8, 8, 0)); + root.setStyle("-fx-padding: 8 8 8 0"); JFXDepthManager.setDepth(root, 1); getChildren().setAll(root); diff --git a/HMCL/src/main/resources/assets/css/root.css b/HMCL/src/main/resources/assets/css/root.css index e96b15872..d7b8e74a1 100644 --- a/HMCL/src/main/resources/assets/css/root.css +++ b/HMCL/src/main/resources/assets/css/root.css @@ -18,22 +18,6 @@ .root { } -.jfx-list-view .scroll-bar { - -fx-skin: "org.jackhuang.hmcl.ui.construct.FloatScrollBarSkin"; -} - -.jfx-list-view .scroll-bar .track { - -fx-fill: transparent; -} - -.scroll-pane .scroll-bar { - -fx-skin: "org.jackhuang.hmcl.ui.construct.FloatScrollBarSkin"; -} - -.scroll-pane .scroll-bar .track { - -fx-fill: transparent; -} - .scroll-bar .thumb { -fx-fill: rgba(255, 255, 255, 0.5); -fx-arc-width: 5px; @@ -44,13 +28,6 @@ -fx-text-fill: rgba(0, 0, 0, 0.5); } -.side-menu { - -fx-padding: 20.0, 10.0; - -fx-font-size: 15.0; - -fx-font-weight: NORMAL; - -fx-text-fill: #444; -} - .title-label { -fx-font-size: 16.0px; -fx-padding: 14.0px; @@ -153,10 +130,6 @@ -fx-text-fill: white; } -.darker-fill { - -fx-fill: -fx-base-darker-color; -} - .sponsor-pane { -fx-padding: 16; -fx-cursor: hand; @@ -166,6 +139,32 @@ -fx-wrap-text: true; } +/******************************************************************************* + * * + * Main Page * + * * + ******************************************************************************/ + +.launch-pane .jfx-button { + -fx-background-color: -fx-base-color; + -fx-cursor: hand; +} + +.launch-pane .jfx-button .jfx-rippler { + -jfx-rippler-fill: white; + -jfx-mask-type: CIRCLE; + -fx-padding: 0.0; +} + +.launch-pane .jfx-button, .jfx-button * { + -fx-text-fill: -fx-base-text-fill; + -fx-font-size: 14px; +} + +.launch-pane Rectangle { + -fx-fill: -fx-base-darker-color; +} + /******************************************************************************* * * * JFX Tab Pane * @@ -370,7 +369,9 @@ -fx-font-size: 13.0; -fx-font-weight: BOLD; -fx-pref-width: 100.0%; - -fx-pref-height: 32.0px; + -fx-min-height: 40px; + -fx-max-height: 40px; + -fx-pref-height: 40px; } .jfx-tool-bar .background { @@ -383,6 +384,12 @@ } .jfx-tool-bar .jfx-decorator-button { + -fx-min-width: 40px; + -fx-max-width: 40px; + -fx-pref-width: 40px; + -fx-min-height: 40px; + -fx-max-height: 40px; + -fx-pref-height: 40px; -fx-cursor: hand; } @@ -436,9 +443,9 @@ } .jfx-decorator-button { - -fx-max-width: 35px; + -fx-max-width: 40px; -fx-background-radius: 5px; - -fx-max-height: 35px; + -fx-max-height: 40px; -fx-background-color: transparent; -jfx-toggle-color: rgba(128, 128, 255, 0.2); -jfx-untoggle-color: transparent; @@ -671,6 +678,14 @@ -fx-background-color: transparent; } +.jfx-list-view .scroll-bar { + -fx-skin: "org.jackhuang.hmcl.ui.construct.FloatScrollBarSkin"; +} + +.jfx-list-view .scroll-bar .track { + -fx-fill: transparent; +} + .jfx-list-view-float { -fx-padding: 5; -fx-background-insets: 0.0; @@ -689,6 +704,7 @@ .card { -fx-background-color: WHITE; -fx-background-radius: 4; + -fx-padding: 8px; } .card:selected { @@ -1097,7 +1113,7 @@ } .jfx-decorator-drawer { - -fx-background-color: rgba(244, 244, 244, 0.55); + -fx-background-color: rgba(244, 244, 244, 0.5); } .jfx-decorator-title { @@ -1118,7 +1134,7 @@ -fx-text-fill: -fx-base-text-fill; } -.resize-border { +.window { -fx-border-color: black; -fx-border-width: 1; } @@ -1132,10 +1148,6 @@ -fx-background-color: rgba(244, 244, 244, 0.5); } -.drawer-background { - -fx-background-color: #FAFAFA; -} - .gray-background { -fx-background-color: rgba(244, 244, 244, 0.5); } @@ -1325,6 +1337,14 @@ -fx-background-color: null; } +.scroll-pane .scroll-bar { + -fx-skin: "org.jackhuang.hmcl.ui.construct.FloatScrollBarSkin"; +} + +.scroll-pane .scroll-bar .track { + -fx-fill: transparent; +} + /******************************************************************************* * * * Error Facade * diff --git a/HMCL/src/main/resources/assets/fxml/download/modpack-source.fxml b/HMCL/src/main/resources/assets/fxml/download/modpack-source.fxml index d39751a58..8b9fe41cd 100644 --- a/HMCL/src/main/resources/assets/fxml/download/modpack-source.fxml +++ b/HMCL/src/main/resources/assets/fxml/download/modpack-source.fxml @@ -13,7 +13,7 @@