various minor ui improvements

This commit is contained in:
Craig Raw 2021-04-16 10:53:05 +02:00
parent 2c98c8606c
commit d52bade085
4 changed files with 27 additions and 5 deletions

View file

@ -110,7 +110,7 @@ public class PaymentController extends WalletFormController implements Initializ
}
revalidate(amount, amountListener);
maxButton.setDisable(!isValidRecipientAddress());
maxButton.setDisable(!isValidAddressAndLabel());
sendController.updateTransaction();
if(validationSupport != null) {
@ -119,6 +119,7 @@ public class PaymentController extends WalletFormController implements Initializ
});
label.textProperty().addListener((observable, oldValue, newValue) -> {
maxButton.setDisable(!isValidAddressAndLabel());
sendController.getCreateButton().setDisable(sendController.getWalletTransaction() == null || newValue == null || newValue.isEmpty() || sendController.isInsufficientFeeRate());
sendController.updateTransaction();
});
@ -136,7 +137,7 @@ public class PaymentController extends WalletFormController implements Initializ
}
});
maxButton.setDisable(!isValidRecipientAddress());
maxButton.setDisable(!isValidAddressAndLabel());
sendController.utxoLabelSelectionProperty().addListener((observable, oldValue, newValue) -> {
maxButton.setText("Max" + newValue);
});
@ -175,6 +176,10 @@ public class PaymentController extends WalletFormController implements Initializ
}
}
private boolean isValidAddressAndLabel() {
return isValidRecipientAddress() && !label.getText().isEmpty();
}
private Address getRecipientAddress() throws InvalidAddressException {
return Address.fromString(address.getText());
}

View file

@ -125,14 +125,19 @@ public class ReceiveController extends WalletFormController implements Initializ
if(AppServices.isConnected() && currentOutputs.isEmpty()) {
lastUsed.setText("Never");
lastUsed.setGraphic(getUnusedGlyph());
address.getStyleClass().remove("error");
} else if(!currentOutputs.isEmpty()) {
long count = currentOutputs.size();
BlockTransactionHashIndex lastUsedReference = currentOutputs.stream().skip(count - 1).findFirst().get();
lastUsed.setText(lastUsedReference.getHeight() <= 0 ? "Unconfirmed Transaction" : DATE_FORMAT.format(lastUsedReference.getDate()));
lastUsed.setGraphic(getWarningGlyph());
if(!address.getStyleClass().contains("error")) {
address.getStyleClass().add("error");
}
} else {
lastUsed.setText("Unknown");
lastUsed.setGraphic(null);
address.getStyleClass().remove("error");
}
}

View file

@ -15,6 +15,10 @@
-fx-pref-height: 25px;
}
.form .fieldset:horizontal .input-container {
-fx-alignment: center-left;
}
.form .input-container {
-fx-spacing: 2;
}

View file

@ -31,10 +31,18 @@
<Form GridPane.columnIndex="0" GridPane.rowIndex="0" GridPane.columnSpan="2">
<Fieldset inputGrow="ALWAYS">
<Field text="Pay to:">
<CopyableTextField fx:id="address" styleClass="address-text-field"/>
<CopyableTextField fx:id="address" styleClass="address-text-field">
<tooltip>
<Tooltip text="Address or bitcoin: URI"/>
</tooltip>
</CopyableTextField>
</Field>
<Field text="Label:">
<TextField fx:id="label" />
<TextField fx:id="label">
<tooltip>
<Tooltip text="Required to label the transaction (privately in this wallet)"/>
</tooltip>
</TextField>
</Field>
<Field text="Amount:">
<TextField fx:id="amount" styleClass="amount-field" />
@ -54,7 +62,7 @@
</Fieldset>
</Form>
<Form GridPane.columnIndex="2" GridPane.rowIndex="0">
<Fieldset inputGrow="ALWAYS" style="-fx-padding: 2 0 0 0">
<Fieldset inputGrow="ALWAYS" style="-fx-padding: 5 0 0 0">
<HBox>
<Button text="" onAction="#scanQrAddress" prefHeight="30">
<graphic>