toggle fee rate selection on send, dont show zero total rate series

This commit is contained in:
Craig Raw
2020-11-19 12:33:33 +02:00
parent 2b55b5feb3
commit 44ac7f3c0e
3 changed files with 62 additions and 8 deletions
@@ -6,7 +6,6 @@ import com.sparrowwallet.sparrow.wallet.SendController;
import javafx.application.Platform;
import javafx.beans.NamedArg;
import javafx.collections.FXCollections;
import javafx.geometry.Pos;
import javafx.scene.Cursor;
import javafx.scene.Node;
import javafx.scene.chart.*;
@@ -67,6 +66,7 @@ public class MempoolSizeFeeRatesChart extends StackedAreaChart<String, Number> {
}
categoryAxis.setGapStartAndEnd(false);
categoryAxis.setTickLabelRotation(0);
categoryAxis.setOnMouseMoved(mouseEvent -> {
String category = categoryAxis.getValueForDisplay(mouseEvent.getX());
if(category != null) {
@@ -92,6 +92,7 @@ public class MempoolSizeFeeRatesChart extends StackedAreaChart<String, Number> {
for(Long feeRate : SendController.FEE_RATES_RANGE) {
XYChart.Series<String, Number> series = new XYChart.Series<>();
series.setName(feeRate + "+ vB");
long seriesTotalVSize = 0;
for(Date date : periodRateSizes.keySet()) {
Set<MempoolRateSize> rateSizes = periodRateSizes.get(date);
@@ -103,10 +104,14 @@ public class MempoolSizeFeeRatesChart extends StackedAreaChart<String, Number> {
}
series.getData().add(new XYChart.Data<>(dateFormatter.format(date), totalVSize));
seriesTotalVSize += totalVSize;
}
if(seriesTotalVSize > 0) {
getData().add(series);
}
previousFeeRate = feeRate;
getData().add(series);
}
if(categories.iterator().hasNext()) {
@@ -55,6 +55,15 @@ public class SendController extends WalletFormController implements Initializabl
@FXML
private TabPane paymentTabs;
@FXML
private ToggleGroup feeSelectionToggleGroup;
@FXML
private ToggleButton targetBlocksToggle;
@FXML
private ToggleButton mempoolSizeToggle;
@FXML
private Field targetBlocksField;
@@ -260,7 +269,14 @@ public class SendController extends WalletFormController implements Initializabl
mempoolSizeFeeRatesChart.update(mempoolHistogram);
}
updateFeeRateSelection(Config.get().getFeeRateSelection());
FeeRateSelection feeRateSelection = Config.get().getFeeRateSelection();
updateFeeRateSelection(feeRateSelection);
feeSelectionToggleGroup.selectToggle(feeRateSelection == FeeRateSelection.BLOCK_TARGET ? targetBlocksToggle : mempoolSizeToggle);
feeSelectionToggleGroup.selectedToggleProperty().addListener((observable, oldValue, newValue) -> {
FeeRateSelection newFeeRateSelection = (FeeRateSelection)newValue.getUserData();
Config.get().setFeeRateSelection(newFeeRateSelection);
EventManager.get().post(new FeeRateSelectionChangedEvent(newFeeRateSelection));
});
fee.setTextFormatter(new CoinTextFormatter());
fee.textProperty().addListener(feeListener);