Improve browser styling

This commit is contained in:
crschnick 2023-06-14 08:54:00 +00:00
parent 0f6616195a
commit c2ff618698
3 changed files with 25 additions and 2 deletions

View file

@ -18,6 +18,7 @@ import javafx.css.PseudoClass;
import javafx.geometry.Point2D; import javafx.geometry.Point2D;
import javafx.scene.AccessibleRole; import javafx.scene.AccessibleRole;
import javafx.scene.Node; import javafx.scene.Node;
import javafx.scene.control.OverrunStyle;
import javafx.scene.control.TreeCell; import javafx.scene.control.TreeCell;
import javafx.scene.control.TreeItem; import javafx.scene.control.TreeItem;
import javafx.scene.control.TreeView; import javafx.scene.control.TreeView;
@ -48,7 +49,7 @@ final class BrowserBookmarkList extends SimpleComp {
view.setShowRoot(false); view.setShowRoot(false);
view.getStyleClass().add("bookmark-list"); view.getStyleClass().add("bookmark-list");
view.setCellFactory(param -> { view.setCellFactory(param -> {
return new StoreCell(); return new StoreCell(view);
}); });
PlatformThread.sync(model.getSelected()).addListener((observable, oldValue, newValue) -> { PlatformThread.sync(model.getSelected()).addListener((observable, oldValue, newValue) -> {
@ -97,10 +98,11 @@ final class BrowserBookmarkList extends SimpleComp {
private final Node imageView = new PrettyImageComp(img, 20, 20).createRegion(); private final Node imageView = new PrettyImageComp(img, 20, 20).createRegion();
private final BooleanProperty busy = new SimpleBooleanProperty(false); private final BooleanProperty busy = new SimpleBooleanProperty(false);
private StoreCell() { private StoreCell(TreeView<?> t) {
disableProperty().bind(busy); disableProperty().bind(busy);
setAccessibleRole(AccessibleRole.BUTTON); setAccessibleRole(AccessibleRole.BUTTON);
setGraphic(imageView); setGraphic(imageView);
setTextOverrun(OverrunStyle.ELLIPSIS);
addEventHandler(DragEvent.DRAG_OVER, mouseEvent -> { addEventHandler(DragEvent.DRAG_OVER, mouseEvent -> {
if (getItem() == null) { if (getItem() == null) {
return; return;
@ -146,6 +148,14 @@ final class BrowserBookmarkList extends SimpleComp {
.styleClass("expand-button") .styleClass("expand-button")
.apply(struc -> struc.get().setFocusTraversable(false)); .apply(struc -> struc.get().setFocusTraversable(false));
setDisclosureNode(button.createRegion()); setDisclosureNode(button.createRegion());
indexProperty().addListener((observable, oldValue, newValue) -> {
if (newValue.intValue() == 0) {
getStyleClass().add("first");
} else {
getStyleClass().remove("first");
}
});
} }
@Override @Override

View file

@ -59,6 +59,7 @@ public class BrowserTransferModel {
item.finishedDownload.set(true); item.finishedDownload.set(true);
} catch (Throwable t) { } catch (Throwable t) {
ErrorEvent.fromThrowable(t).handle(); ErrorEvent.fromThrowable(t).handle();
items.remove(item);
} }
}); });
}); });

View file

@ -42,6 +42,18 @@
-fx-opacity: 0.5; -fx-opacity: 0.5;
} }
.bookmark-list .tree-cell {
-fx-background-radius: 5px;
-fx-padding: 8px 8px 8px 3px;
-fx-background-insets: 5px 5px 5px 5px;
}
.bookmark-list .tree-cell.first {
-fx-padding: 12px 8px 8px 3px;
-fx-background-insets: 9px 5px 5px 5px;
}
.browser .bookmark-list { .browser .bookmark-list {
-fx-border-width: 0; -fx-border-width: 0;
} }