mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-08-14 01:15:44 -04:00
sync notifications to FX thread only in desktop app (#60)
daemon starting and stopping without exceptions
This commit is contained in:
parent
fcdc627d00
commit
55f62f92dd
4 changed files with 94 additions and 100 deletions
|
@ -29,6 +29,8 @@ import org.fxmisc.easybind.EasyBind;
|
|||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import javafx.application.Platform;
|
||||
|
||||
@Slf4j
|
||||
public class BuyerSubView extends TradeSubView {
|
||||
private TradeWizardItem step1;
|
||||
|
@ -74,40 +76,44 @@ public class BuyerSubView extends TradeSubView {
|
|||
protected void onViewStateChanged(PendingTradesViewModel.State viewState) {
|
||||
super.onViewStateChanged(viewState);
|
||||
|
||||
if (viewState != null) {
|
||||
PendingTradesViewModel.BuyerState buyerState = (PendingTradesViewModel.BuyerState) viewState;
|
||||
Platform.runLater(new Runnable() {
|
||||
@Override public void run() {
|
||||
if (viewState != null) {
|
||||
PendingTradesViewModel.BuyerState buyerState = (PendingTradesViewModel.BuyerState) viewState;
|
||||
|
||||
step1.setDisabled();
|
||||
step2.setDisabled();
|
||||
step3.setDisabled();
|
||||
step4.setDisabled();
|
||||
step1.setDisabled();
|
||||
step2.setDisabled();
|
||||
step3.setDisabled();
|
||||
step4.setDisabled();
|
||||
|
||||
switch (buyerState) {
|
||||
case UNDEFINED:
|
||||
break;
|
||||
case STEP1:
|
||||
showItem(step1);
|
||||
break;
|
||||
case STEP2:
|
||||
step1.setCompleted();
|
||||
showItem(step2);
|
||||
break;
|
||||
case STEP3:
|
||||
step1.setCompleted();
|
||||
step2.setCompleted();
|
||||
showItem(step3);
|
||||
break;
|
||||
case STEP4:
|
||||
step1.setCompleted();
|
||||
step2.setCompleted();
|
||||
step3.setCompleted();
|
||||
showItem(step4);
|
||||
break;
|
||||
default:
|
||||
log.warn("unhandled buyerState " + buyerState);
|
||||
break;
|
||||
switch (buyerState) {
|
||||
case UNDEFINED:
|
||||
break;
|
||||
case STEP1:
|
||||
showItem(step1);
|
||||
break;
|
||||
case STEP2:
|
||||
step1.setCompleted();
|
||||
showItem(step2);
|
||||
break;
|
||||
case STEP3:
|
||||
step1.setCompleted();
|
||||
step2.setCompleted();
|
||||
showItem(step3);
|
||||
break;
|
||||
case STEP4:
|
||||
step1.setCompleted();
|
||||
step2.setCompleted();
|
||||
step3.setCompleted();
|
||||
showItem(step4);
|
||||
break;
|
||||
default:
|
||||
log.warn("unhandled buyerState " + buyerState);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -93,7 +93,7 @@ import javafx.geometry.Pos;
|
|||
|
||||
import org.fxmisc.easybind.EasyBind;
|
||||
import org.fxmisc.easybind.Subscription;
|
||||
|
||||
import javafx.application.Platform;
|
||||
import javafx.beans.binding.Bindings;
|
||||
import javafx.beans.property.ReadOnlyObjectWrapper;
|
||||
import javafx.beans.value.ChangeListener;
|
||||
|
@ -618,7 +618,11 @@ public class PendingTradesView extends ActivatableViewAndModel<VBox, PendingTrad
|
|||
|
||||
if (item != null && !empty) {
|
||||
trade = item.getTrade();
|
||||
listener = (observable, oldValue, newValue) -> update();
|
||||
listener = (observable, oldValue, newValue) -> Platform.runLater(new Runnable() {
|
||||
@Override public void run() {
|
||||
update();
|
||||
}
|
||||
});
|
||||
trade.stateProperty().addListener(listener);
|
||||
update();
|
||||
} else {
|
||||
|
@ -932,7 +936,11 @@ public class PendingTradesView extends ActivatableViewAndModel<VBox, PendingTrad
|
|||
super.updateItem(newItem, empty);
|
||||
if (!empty && newItem != null) {
|
||||
trade = newItem.getTrade();
|
||||
listener = (observable, oldValue, newValue) -> update();
|
||||
listener = (observable, oldValue, newValue) -> Platform.runLater(new Runnable() {
|
||||
@Override public void run() {
|
||||
update();
|
||||
}
|
||||
});
|
||||
trade.stateProperty().addListener(listener);
|
||||
update();
|
||||
} else {
|
||||
|
|
|
@ -29,6 +29,8 @@ import org.fxmisc.easybind.EasyBind;
|
|||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import javafx.application.Platform;
|
||||
|
||||
@Slf4j
|
||||
public class SellerSubView extends TradeSubView {
|
||||
private TradeWizardItem step1;
|
||||
|
@ -74,40 +76,44 @@ public class SellerSubView extends TradeSubView {
|
|||
protected void onViewStateChanged(PendingTradesViewModel.State viewState) {
|
||||
super.onViewStateChanged(viewState);
|
||||
|
||||
if (viewState != null) {
|
||||
PendingTradesViewModel.SellerState sellerState = (PendingTradesViewModel.SellerState) viewState;
|
||||
Platform.runLater(new Runnable() {
|
||||
@Override public void run() {
|
||||
if (viewState != null) {
|
||||
PendingTradesViewModel.SellerState sellerState = (PendingTradesViewModel.SellerState) viewState;
|
||||
|
||||
step1.setDisabled();
|
||||
step2.setDisabled();
|
||||
step3.setDisabled();
|
||||
step4.setDisabled();
|
||||
step1.setDisabled();
|
||||
step2.setDisabled();
|
||||
step3.setDisabled();
|
||||
step4.setDisabled();
|
||||
|
||||
switch (sellerState) {
|
||||
case UNDEFINED:
|
||||
break;
|
||||
case STEP1:
|
||||
showItem(step1);
|
||||
break;
|
||||
case STEP2:
|
||||
step1.setCompleted();
|
||||
showItem(step2);
|
||||
break;
|
||||
case STEP3:
|
||||
step1.setCompleted();
|
||||
step2.setCompleted();
|
||||
showItem(step3);
|
||||
break;
|
||||
case STEP4:
|
||||
step1.setCompleted();
|
||||
step2.setCompleted();
|
||||
step3.setCompleted();
|
||||
showItem(step4);
|
||||
break;
|
||||
default:
|
||||
log.warn("unhandled viewState " + sellerState);
|
||||
break;
|
||||
switch (sellerState) {
|
||||
case UNDEFINED:
|
||||
break;
|
||||
case STEP1:
|
||||
showItem(step1);
|
||||
break;
|
||||
case STEP2:
|
||||
step1.setCompleted();
|
||||
showItem(step2);
|
||||
break;
|
||||
case STEP3:
|
||||
step1.setCompleted();
|
||||
step2.setCompleted();
|
||||
showItem(step3);
|
||||
break;
|
||||
case STEP4:
|
||||
step1.setCompleted();
|
||||
step2.setCompleted();
|
||||
step3.setCompleted();
|
||||
showItem(step4);
|
||||
break;
|
||||
default:
|
||||
log.warn("unhandled viewState " + sellerState);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue