mirror of
https://github.com/boldsuck/haveno.git
synced 2024-12-23 04:29:22 +00:00
fix open offers scrolling
This commit is contained in:
parent
a476181594
commit
379ac6d265
5 changed files with 32 additions and 11 deletions
|
@ -19,13 +19,15 @@
|
||||||
|
|
||||||
<?import haveno.desktop.components.list.FilterBox?>
|
<?import haveno.desktop.components.list.FilterBox?>
|
||||||
<?import javafx.geometry.Insets?>
|
<?import javafx.geometry.Insets?>
|
||||||
|
<?import javafx.scene.control.ScrollPane?>
|
||||||
<?import javafx.scene.control.TableColumn?>
|
<?import javafx.scene.control.TableColumn?>
|
||||||
<?import javafx.scene.control.TableView?>
|
<?import javafx.scene.control.TableView?>
|
||||||
|
<?import javafx.scene.layout.AnchorPane?>
|
||||||
<?import javafx.scene.layout.VBox?>
|
<?import javafx.scene.layout.VBox?>
|
||||||
<VBox fx:id="root" fx:controller="haveno.desktop.main.portfolio.pendingtrades.PendingTradesView"
|
<VBox fx:id="root" fx:controller="haveno.desktop.main.portfolio.pendingtrades.PendingTradesView"
|
||||||
spacing="20" xmlns:fx="http://javafx.com/fxml">
|
spacing="20" xmlns:fx="http://javafx.com/fxml">
|
||||||
<padding>
|
<padding>
|
||||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0"/>
|
<Insets bottom="0.0" left="15.0" right="15.0" top="15.0"/>
|
||||||
</padding>
|
</padding>
|
||||||
<FilterBox fx:id="filterBox" />
|
<FilterBox fx:id="filterBox" />
|
||||||
<TableView fx:id="tableView" VBox.vgrow="SOMETIMES">
|
<TableView fx:id="tableView" VBox.vgrow="SOMETIMES">
|
||||||
|
@ -43,4 +45,8 @@
|
||||||
<TableColumn fx:id="moveTradeToFailedColumn" minWidth="80" maxWidth="80"/>
|
<TableColumn fx:id="moveTradeToFailedColumn" minWidth="80" maxWidth="80"/>
|
||||||
</columns>
|
</columns>
|
||||||
</TableView>
|
</TableView>
|
||||||
|
<ScrollPane fx:id="scrollView" fitToWidth="true" hbarPolicy="NEVER"
|
||||||
|
AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0"
|
||||||
|
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"/>
|
||||||
|
|
||||||
</VBox>
|
</VBox>
|
||||||
|
|
|
@ -75,6 +75,7 @@ import javafx.scene.Scene;
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.control.ContextMenu;
|
import javafx.scene.control.ContextMenu;
|
||||||
import javafx.scene.control.MenuItem;
|
import javafx.scene.control.MenuItem;
|
||||||
|
import javafx.scene.control.ScrollPane;
|
||||||
import javafx.scene.control.TableCell;
|
import javafx.scene.control.TableCell;
|
||||||
import javafx.scene.control.TableColumn;
|
import javafx.scene.control.TableColumn;
|
||||||
import javafx.scene.control.TableRow;
|
import javafx.scene.control.TableRow;
|
||||||
|
@ -84,7 +85,6 @@ import javafx.scene.input.KeyCode;
|
||||||
import javafx.scene.input.KeyEvent;
|
import javafx.scene.input.KeyEvent;
|
||||||
import javafx.scene.layout.AnchorPane;
|
import javafx.scene.layout.AnchorPane;
|
||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
import javafx.scene.layout.Priority;
|
|
||||||
import javafx.scene.layout.StackPane;
|
import javafx.scene.layout.StackPane;
|
||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
import javafx.scene.text.Text;
|
import javafx.scene.text.Text;
|
||||||
|
@ -117,6 +117,8 @@ public class PendingTradesView extends ActivatableViewAndModel<VBox, PendingTrad
|
||||||
@FXML
|
@FXML
|
||||||
TableColumn<PendingTradesListItem, PendingTradesListItem> priceColumn, volumeColumn, amountColumn, avatarColumn,
|
TableColumn<PendingTradesListItem, PendingTradesListItem> priceColumn, volumeColumn, amountColumn, avatarColumn,
|
||||||
marketColumn, roleColumn, paymentMethodColumn, tradeIdColumn, dateColumn, chatColumn, moveTradeToFailedColumn;
|
marketColumn, roleColumn, paymentMethodColumn, tradeIdColumn, dateColumn, chatColumn, moveTradeToFailedColumn;
|
||||||
|
@FXML
|
||||||
|
ScrollPane scrollView;
|
||||||
private FilteredList<PendingTradesListItem> filteredList;
|
private FilteredList<PendingTradesListItem> filteredList;
|
||||||
private SortedList<PendingTradesListItem> sortedList;
|
private SortedList<PendingTradesListItem> sortedList;
|
||||||
private TradeSubView selectedSubView;
|
private TradeSubView selectedSubView;
|
||||||
|
@ -275,6 +277,8 @@ public class PendingTradesView extends ActivatableViewAndModel<VBox, PendingTrad
|
||||||
sortedList = new SortedList<>(filteredList);
|
sortedList = new SortedList<>(filteredList);
|
||||||
sortedList.comparatorProperty().bind(tableView.comparatorProperty());
|
sortedList.comparatorProperty().bind(tableView.comparatorProperty());
|
||||||
tableView.setItems(sortedList);
|
tableView.setItems(sortedList);
|
||||||
|
tableView.setPrefHeight(100);
|
||||||
|
tableView.setMaxHeight(200);
|
||||||
|
|
||||||
filterBox.initialize(filteredList, tableView); // here because filteredList is instantiated here
|
filterBox.initialize(filteredList, tableView); // here because filteredList is instantiated here
|
||||||
filterBox.activate();
|
filterBox.activate();
|
||||||
|
@ -295,13 +299,13 @@ public class PendingTradesView extends ActivatableViewAndModel<VBox, PendingTrad
|
||||||
selectedSubView = model.dataModel.tradeManager.isBuyer(model.dataModel.getOffer()) ?
|
selectedSubView = model.dataModel.tradeManager.isBuyer(model.dataModel.getOffer()) ?
|
||||||
new BuyerSubView(model) : new SellerSubView(model);
|
new BuyerSubView(model) : new SellerSubView(model);
|
||||||
|
|
||||||
selectedSubView.setMinHeight(460);
|
//selectedSubView.setMinHeight(460);
|
||||||
VBox.setVgrow(selectedSubView, Priority.ALWAYS);
|
//VBox.setVgrow(selectedSubView, Priority.SOMETIMES);
|
||||||
if (root.getChildren().size() == 2)
|
if (root.getChildren().size() == 2)
|
||||||
root.getChildren().add(selectedSubView);
|
root.getChildren().add(scrollView);
|
||||||
else if (root.getChildren().size() == 3)
|
else if (root.getChildren().size() == 3)
|
||||||
root.getChildren().set(2, selectedSubView);
|
root.getChildren().set(2, scrollView);
|
||||||
|
scrollView.setContent(selectedSubView);
|
||||||
// create and register a callback so we can be notified when the subview
|
// create and register a callback so we can be notified when the subview
|
||||||
// wants to open the chat window
|
// wants to open the chat window
|
||||||
ChatCallback chatCallback = this::openChat;
|
ChatCallback chatCallback = this::openChat;
|
||||||
|
|
|
@ -61,7 +61,7 @@ public abstract class TradeSubView extends HBox {
|
||||||
|
|
||||||
public TradeSubView(PendingTradesViewModel model) {
|
public TradeSubView(PendingTradesViewModel model) {
|
||||||
this.model = model;
|
this.model = model;
|
||||||
|
HBox.setHgrow(this, Priority.ALWAYS);
|
||||||
setSpacing(Layout.PADDING_WINDOW);
|
setSpacing(Layout.PADDING_WINDOW);
|
||||||
buildViews();
|
buildViews();
|
||||||
}
|
}
|
||||||
|
|
|
@ -100,8 +100,10 @@ import haveno.desktop.main.overlays.popups.Popup;
|
||||||
import haveno.desktop.main.portfolio.pendingtrades.PendingTradesViewModel;
|
import haveno.desktop.main.portfolio.pendingtrades.PendingTradesViewModel;
|
||||||
import haveno.desktop.main.portfolio.pendingtrades.steps.TradeStepView;
|
import haveno.desktop.main.portfolio.pendingtrades.steps.TradeStepView;
|
||||||
import haveno.desktop.util.Layout;
|
import haveno.desktop.util.Layout;
|
||||||
|
import javafx.geometry.Insets;
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.control.TextArea;
|
||||||
import javafx.scene.layout.GridPane;
|
import javafx.scene.layout.GridPane;
|
||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
import javafx.scene.layout.Priority;
|
import javafx.scene.layout.Priority;
|
||||||
|
@ -217,6 +219,7 @@ public class BuyerStep2View extends TradeStepView {
|
||||||
|
|
||||||
addTradeInfoBlock();
|
addTradeInfoBlock();
|
||||||
|
|
||||||
|
|
||||||
PaymentAccountPayload paymentAccountPayload = model.dataModel.getSellersPaymentAccountPayload();
|
PaymentAccountPayload paymentAccountPayload = model.dataModel.getSellersPaymentAccountPayload();
|
||||||
String paymentMethodId = paymentAccountPayload != null ? paymentAccountPayload.getPaymentMethodId() : "<missing payment account payload>";
|
String paymentMethodId = paymentAccountPayload != null ? paymentAccountPayload.getPaymentMethodId() : "<missing payment account payload>";
|
||||||
TitledGroupBg accountTitledGroupBg = addTitledGroupBg(gridPane, ++gridRow, 4,
|
TitledGroupBg accountTitledGroupBg = addTitledGroupBg(gridPane, ++gridRow, 4,
|
||||||
|
@ -228,6 +231,14 @@ public class BuyerStep2View extends TradeStepView {
|
||||||
Layout.COMPACT_FIRST_ROW_AND_GROUP_DISTANCE).second;
|
Layout.COMPACT_FIRST_ROW_AND_GROUP_DISTANCE).second;
|
||||||
field.setCopyWithoutCurrencyPostFix(true);
|
field.setCopyWithoutCurrencyPostFix(true);
|
||||||
|
|
||||||
|
//preland: this fixes a textarea layout glitch
|
||||||
|
TextArea uiHack = new TextArea();
|
||||||
|
uiHack.setMaxHeight(1);
|
||||||
|
GridPane.setRowIndex(uiHack, 1);
|
||||||
|
GridPane.setMargin(uiHack, new Insets(0, 0, 0, 0));
|
||||||
|
uiHack.setVisible(false);
|
||||||
|
gridPane.getChildren().add(uiHack);
|
||||||
|
|
||||||
switch (paymentMethodId) {
|
switch (paymentMethodId) {
|
||||||
case PaymentMethod.UPHOLD_ID:
|
case PaymentMethod.UPHOLD_ID:
|
||||||
gridRow = UpholdForm.addFormForBuyer(gridPane, gridRow, paymentAccountPayload);
|
gridRow = UpholdForm.addFormForBuyer(gridPane, gridRow, paymentAccountPayload);
|
||||||
|
|
|
@ -645,7 +645,7 @@ public class FormBuilder {
|
||||||
TextArea textArea = new HavenoTextArea();
|
TextArea textArea = new HavenoTextArea();
|
||||||
textArea.setPromptText(prompt);
|
textArea.setPromptText(prompt);
|
||||||
textArea.setWrapText(true);
|
textArea.setWrapText(true);
|
||||||
|
textArea.setPrefHeight(100);
|
||||||
final Tuple2<Label, VBox> topLabelWithVBox = addTopLabelWithVBox(gridPane, rowIndex, title, textArea, top);
|
final Tuple2<Label, VBox> topLabelWithVBox = addTopLabelWithVBox(gridPane, rowIndex, title, textArea, top);
|
||||||
GridPane.setColumnIndex(topLabelWithVBox.second, colIndex);
|
GridPane.setColumnIndex(topLabelWithVBox.second, colIndex);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue