diff --git a/desktop/src/main/java/bisq/desktop/main/market/offerbook/OfferBookChartView.java b/desktop/src/main/java/bisq/desktop/main/market/offerbook/OfferBookChartView.java index 0f0f6330567..66392ab4967 100644 --- a/desktop/src/main/java/bisq/desktop/main/market/offerbook/OfferBookChartView.java +++ b/desktop/src/main/java/bisq/desktop/main/market/offerbook/OfferBookChartView.java @@ -179,7 +179,6 @@ public void initialize() { tupleSell.second.setUserData(OfferPayload.Direction.SELL.name()); bottomHBox.getChildren().addAll(tupleBuy.second, tupleSell.second); - root.getChildren().addAll(currencyComboBoxTuple.first, chartPane, bottomHBox); } @@ -215,6 +214,7 @@ protected void activate() { volumeColumnLabel.set(Res.get("shared.amountWithCur", code)); xAxis.setTickLabelFormatter(new StringConverter<>() { int cryptoPrecision = 3; + @Override public String toString(Number object) { final double doubleValue = (double) object; @@ -374,18 +374,21 @@ private void updateChartData() { final Supplier> optionalMinSupplier = () -> Optional.of(new XYChart.Data<>(Double.MIN_VALUE, Double.MIN_VALUE)); + // Hide buy offers that are more than a factor 5 higher than the lowest buy offer final Optional buyMaxOptional = model.getBuyData().stream() + .filter(o -> (double) o.getXValue() < (double) buyMinOptional.get().getXValue() * 3) .max(Comparator.comparingDouble(o -> (double) o.getXValue())) .or(optionalMinSupplier); - final Optional sellMinOptional = model.getSellData().stream() - .min(Comparator.comparingDouble(o -> (double) o.getXValue())) - .or(optionalMaxSupplier); - final Optional sellMaxOptional = model.getSellData().stream() .max(Comparator.comparingDouble(o -> (double) o.getXValue())) .or(optionalMinSupplier); + final Optional sellMinOptional = model.getSellData().stream() + .filter(o -> (double) o.getXValue() > (double) sellMaxOptional.get().getXValue() / 3) + .min(Comparator.comparingDouble(o -> (double) o.getXValue())) + .or(optionalMaxSupplier); + final double minValue = Double.min((double) buyMinOptional.get().getXValue(), (double) sellMinOptional.get().getXValue()); final double maxValue = Double.max((double) buyMaxOptional.get().getXValue(), (double) sellMaxOptional.get().getXValue()); diff --git a/desktop/src/main/java/bisq/desktop/util/FormBuilder.java b/desktop/src/main/java/bisq/desktop/util/FormBuilder.java index 767590ee0f7..09ce2e8eb56 100644 --- a/desktop/src/main/java/bisq/desktop/util/FormBuilder.java +++ b/desktop/src/main/java/bisq/desktop/util/FormBuilder.java @@ -745,9 +745,14 @@ public static CheckBox addCheckBox(GridPane gridPane, int rowIndex, String check } public static CheckBox addCheckBox(GridPane gridPane, int rowIndex, String checkBoxTitle, double top) { + return addCheckBox(gridPane, rowIndex, 0, checkBoxTitle, 0); + } + + public static CheckBox addCheckBox(GridPane gridPane, int rowIndex, int colIndex, String checkBoxTitle, double top) { CheckBox checkBox = new AutoTooltipCheckBox(checkBoxTitle); GridPane.setMargin(checkBox, new Insets(top, 0, 0, 0)); GridPane.setRowIndex(checkBox, rowIndex); + GridPane.setColumnIndex(checkBox, colIndex); gridPane.getChildren().add(checkBox); return checkBox; }