diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/MDListCell.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/MDListCell.java index bf62346f034..9efe8aed6c6 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/MDListCell.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/MDListCell.java @@ -27,16 +27,18 @@ public abstract class MDListCell extends ListCell { private static final PseudoClass SELECTED = PseudoClass.getPseudoClass("selected"); + protected static final PseudoClass WARNING = PseudoClass.getPseudoClass("warning"); private final StackPane container = new StackPane(); private final StackPane root = new StackPane(); public MDListCell(JFXListView listView) { + getStyleClass().add("md-list-cell"); setText(null); setGraphic(null); - root.getStyleClass().add("md-list-cell"); + root.getStyleClass().add("root-container"); RipplerContainer ripplerContainer = new RipplerContainer(container); root.getChildren().setAll(ripplerContainer); @@ -73,9 +75,7 @@ protected StackPane getContainer() { } protected void setSelectable() { - FXUtils.onChangeAndOperate(selectedProperty(), selected -> { - root.pseudoClassStateChanged(SELECTED, selected); - }); + FXUtils.onChangeAndOperate(selectedProperty(), selected -> pseudoClassStateChanged(SELECTED, selected)); } protected abstract void updateControl(T item, boolean empty); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/instances/ModListPageSkin.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/instances/ModListPageSkin.java index 154705397d1..44bac68692e 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/instances/ModListPageSkin.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/instances/ModListPageSkin.java @@ -26,7 +26,6 @@ import javafx.beans.property.ObjectProperty; import javafx.beans.property.SimpleBooleanProperty; import javafx.collections.ListChangeListener; -import javafx.css.PseudoClass; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.Node; @@ -543,7 +542,6 @@ final class ModInfoDialog extends JFXDialogLayout { private static final Lazy popup = new Lazy<>(() -> new JFXPopup(menu.get())); final class ModInfoListCell extends MDListCell { - private static final PseudoClass WARNING = PseudoClass.getPseudoClass("warning"); JFXCheckBox checkBox = new JFXCheckBox(); ImageContainer imageContainer = new ImageContainer(32); @@ -558,8 +556,6 @@ final class ModInfoListCell extends MDListCell { ModInfoListCell(JFXListView listView) { super(listView); - this.getStyleClass().add("mod-info-list-cell"); - HBox container = new HBox(8); container.setPickOnBounds(false); container.setAlignment(Pos.CENTER_LEFT); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/instances/ResourcePackListPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/instances/ResourcePackListPage.java index f98fa0fc46e..e79be31362f 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/instances/ResourcePackListPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/instances/ResourcePackListPage.java @@ -23,7 +23,6 @@ import javafx.beans.binding.Bindings; import javafx.beans.property.BooleanProperty; import javafx.beans.property.SimpleBooleanProperty; -import javafx.css.PseudoClass; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.Node; @@ -493,7 +492,6 @@ Image getIcon() { } private static final class ResourcePackListCell extends MDListCell { - private static final PseudoClass WARNING = PseudoClass.getPseudoClass("warning"); private final ResourcePackListPage page; @@ -511,8 +509,6 @@ public ResourcePackListCell(JFXListView listView, Resour super(listView); this.page = page; - getStyleClass().add("resource-pack-list-cell"); - HBox root = new HBox(8); root.setPickOnBounds(false); root.setAlignment(Pos.CENTER_LEFT); diff --git a/HMCL/src/main/resources/assets/css/root.css b/HMCL/src/main/resources/assets/css/root.css index 6b1cf2c8920..3cf4169d6ca 100644 --- a/HMCL/src/main/resources/assets/css/root.css +++ b/HMCL/src/main/resources/assets/css/root.css @@ -1096,20 +1096,16 @@ -fx-spacing: 10; } -.md-list-cell { +.md-list-cell .root-container { -fx-border-color: -monet-outline-variant; -fx-border-width: 0 0 1 0; } -.md-list-cell:selected { +.md-list-cell:selected .root-container { -fx-background-color: -monet-secondary-container; } -.mod-info-list-cell:warning { - -fx-background-color: -monet-error-container; -} - -.resource-pack-list-cell:warning { +.md-list-cell:warning .root-container { -fx-background-color: -monet-error-container; }