mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-06-07 14:42:51 -04:00
fix nullpointer iwth root.scene(), reformat
This commit is contained in:
parent
e2a9a3701c
commit
489f834e1c
1 changed files with 28 additions and 14 deletions
|
@ -26,7 +26,9 @@ import io.bitsquare.trade.Trade;
|
||||||
import javafx.beans.property.ReadOnlyBooleanProperty;
|
import javafx.beans.property.ReadOnlyBooleanProperty;
|
||||||
import javafx.beans.property.ReadOnlyObjectWrapper;
|
import javafx.beans.property.ReadOnlyObjectWrapper;
|
||||||
import javafx.beans.value.ChangeListener;
|
import javafx.beans.value.ChangeListener;
|
||||||
|
import javafx.event.EventHandler;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
|
import javafx.scene.Scene;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.*;
|
||||||
import javafx.scene.control.cell.TextFieldTableCell;
|
import javafx.scene.control.cell.TextFieldTableCell;
|
||||||
import javafx.scene.input.KeyCode;
|
import javafx.scene.input.KeyCode;
|
||||||
|
@ -47,20 +49,28 @@ import java.util.Date;
|
||||||
public class PendingTradesView extends ActivatableViewAndModel<VBox, PendingTradesViewModel> {
|
public class PendingTradesView extends ActivatableViewAndModel<VBox, PendingTradesViewModel> {
|
||||||
|
|
||||||
private final TradeDetailsPopup tradeDetailsPopup;
|
private final TradeDetailsPopup tradeDetailsPopup;
|
||||||
@FXML TableView<PendingTradesListItem> table;
|
@FXML
|
||||||
@FXML TableColumn<PendingTradesListItem, Fiat> priceColumn;
|
TableView<PendingTradesListItem> table;
|
||||||
@FXML TableColumn<PendingTradesListItem, Fiat> tradeVolumeColumn;
|
@FXML
|
||||||
@FXML TableColumn<PendingTradesListItem, PendingTradesListItem> directionColumn;
|
TableColumn<PendingTradesListItem, Fiat> priceColumn;
|
||||||
|
@FXML
|
||||||
|
TableColumn<PendingTradesListItem, Fiat> tradeVolumeColumn;
|
||||||
|
@FXML
|
||||||
|
TableColumn<PendingTradesListItem, PendingTradesListItem> directionColumn;
|
||||||
@FXML
|
@FXML
|
||||||
TableColumn<PendingTradesListItem, PendingTradesListItem> idColumn;
|
TableColumn<PendingTradesListItem, PendingTradesListItem> idColumn;
|
||||||
@FXML TableColumn<PendingTradesListItem, Date> dateColumn;
|
@FXML
|
||||||
@FXML TableColumn<PendingTradesListItem, Coin> tradeAmountColumn;
|
TableColumn<PendingTradesListItem, Date> dateColumn;
|
||||||
|
@FXML
|
||||||
|
TableColumn<PendingTradesListItem, Coin> tradeAmountColumn;
|
||||||
|
|
||||||
private ChangeListener<PendingTradesListItem> selectedItemChangeListener;
|
private ChangeListener<PendingTradesListItem> selectedItemChangeListener;
|
||||||
private TradeSubView currentSubView;
|
private TradeSubView currentSubView;
|
||||||
private ChangeListener<Boolean> appFocusChangeListener;
|
private ChangeListener<Boolean> appFocusChangeListener;
|
||||||
private ReadOnlyBooleanProperty appFocusProperty;
|
private ReadOnlyBooleanProperty appFocusProperty;
|
||||||
private ChangeListener<Trade> currentTradeChangeListener;
|
private ChangeListener<Trade> currentTradeChangeListener;
|
||||||
|
private EventHandler<KeyEvent> keyEventEventHandler;
|
||||||
|
private Scene scene;
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -108,16 +118,17 @@ public class PendingTradesView extends ActivatableViewAndModel<VBox, PendingTrad
|
||||||
setNewSubView(newValue);
|
setNewSubView(newValue);
|
||||||
};
|
};
|
||||||
|
|
||||||
// we add hidden emergency shortcut to open support ticket
|
// we use a hidden emergency shortcut to open support ticket
|
||||||
root.getScene().addEventHandler(KeyEvent.KEY_RELEASED, event -> {
|
keyEventEventHandler = event -> {
|
||||||
if (new KeyCodeCombination(KeyCode.O, KeyCombination.SHORTCUT_DOWN).match(event))
|
if (new KeyCodeCombination(KeyCode.O, KeyCombination.SHORTCUT_DOWN).match(event))
|
||||||
new OpenEmergencyTicketPopup().onOpenTicket(() -> model.dataModel.onOpenSupportTicket()).show();
|
new OpenEmergencyTicketPopup().onOpenTicket(() -> model.dataModel.onOpenSupportTicket()).show();
|
||||||
});
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void activate() {
|
protected void activate() {
|
||||||
appFocusProperty = root.getScene().getWindow().focusedProperty();
|
scene = root.getScene();
|
||||||
|
appFocusProperty = scene.getWindow().focusedProperty();
|
||||||
appFocusProperty.addListener(appFocusChangeListener);
|
appFocusProperty.addListener(appFocusChangeListener);
|
||||||
model.currentTrade().addListener(currentTradeChangeListener);
|
model.currentTrade().addListener(currentTradeChangeListener);
|
||||||
setNewSubView(model.currentTrade().get());
|
setNewSubView(model.currentTrade().get());
|
||||||
|
@ -133,6 +144,8 @@ public class PendingTradesView extends ActivatableViewAndModel<VBox, PendingTrad
|
||||||
UserThread.execute(() -> table.getFocusModel().focus(index));
|
UserThread.execute(() -> table.getFocusModel().focus(index));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
scene.addEventHandler(KeyEvent.KEY_RELEASED, keyEventEventHandler);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -148,6 +161,9 @@ public class PendingTradesView extends ActivatableViewAndModel<VBox, PendingTrad
|
||||||
|
|
||||||
if (currentSubView != null)
|
if (currentSubView != null)
|
||||||
currentSubView.deactivate();
|
currentSubView.deactivate();
|
||||||
|
|
||||||
|
if (scene != null)
|
||||||
|
scene.removeEventHandler(KeyEvent.KEY_RELEASED, keyEventEventHandler);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -167,8 +183,7 @@ public class PendingTradesView extends ActivatableViewAndModel<VBox, PendingTrad
|
||||||
currentSubView = new BuyerSubView(model);
|
currentSubView = new BuyerSubView(model);
|
||||||
else
|
else
|
||||||
currentSubView = new SellerSubView(model);
|
currentSubView = new SellerSubView(model);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
if (model.isBuyOffer())
|
if (model.isBuyOffer())
|
||||||
currentSubView = new SellerSubView(model);
|
currentSubView = new SellerSubView(model);
|
||||||
else
|
else
|
||||||
|
@ -207,8 +222,7 @@ public class PendingTradesView extends ActivatableViewAndModel<VBox, PendingTrad
|
||||||
Tooltip.install(hyperlink, new Tooltip(model.formatTradeId(item.getId())));
|
Tooltip.install(hyperlink, new Tooltip(model.formatTradeId(item.getId())));
|
||||||
hyperlink.setOnAction(event -> tradeDetailsPopup.show(item.getTrade()));
|
hyperlink.setOnAction(event -> tradeDetailsPopup.show(item.getTrade()));
|
||||||
setGraphic(hyperlink);
|
setGraphic(hyperlink);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
setGraphic(null);
|
setGraphic(null);
|
||||||
setId(null);
|
setId(null);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue