make offerbook table in market view not selectable and show only top 3 offers, remove show effects option

This commit is contained in:
Manfred Karrer 2016-03-09 13:40:32 +01:00
parent 93d89cadaa
commit d015df43cb
11 changed files with 19 additions and 61 deletions

View file

@ -108,7 +108,6 @@ public final class Preferences implements Persistable {
// Observable wrappers
transient private final StringProperty btcDenominationProperty = new SimpleStringProperty(btcDenomination);
transient private final BooleanProperty useAnimationsProperty = new SimpleBooleanProperty(useAnimations);
transient private final BooleanProperty useEffectsProperty = new SimpleBooleanProperty(useEffects);
transient private final ObservableList<FiatCurrency> fiatCurrenciesAsObservable = FXCollections.observableArrayList();
transient private final ObservableList<CryptoCurrency> cryptoCurrenciesAsObservable = FXCollections.observableArrayList();
transient private final ObservableList<TradeCurrency> tradeCurrenciesAsObservable = FXCollections.observableArrayList();
@ -128,7 +127,6 @@ public final class Preferences implements Persistable {
if (persisted != null) {
setBtcDenomination(persisted.btcDenomination);
setUseAnimations(persisted.useAnimations);
setUseEffects(persisted.useEffects);
setFiatCurrencies(persisted.fiatCurrencies);
fiatCurrencies = new ArrayList<>(fiatCurrenciesAsObservable);
@ -189,10 +187,6 @@ public final class Preferences implements Persistable {
useAnimations = useAnimationsProperty.get();
storage.queueUpForSave(2000);
});
useEffectsProperty.addListener((ov) -> {
useEffects = useEffectsProperty.get();
storage.queueUpForSave(2000);
});
fiatCurrenciesAsObservable.addListener((Observable ov) -> {
fiatCurrencies.clear();
fiatCurrencies.addAll(fiatCurrenciesAsObservable);
@ -241,10 +235,6 @@ public final class Preferences implements Persistable {
this.useAnimationsProperty.set(useAnimationsProperty);
}
public void setUseEffects(boolean useEffectsProperty) {
this.useEffectsProperty.set(useEffectsProperty);
}
public void setBitcoinNetwork(BitcoinNetwork bitcoinNetwork) {
if (this.bitcoinNetwork != bitcoinNetwork)
bitsquareEnvironment.saveBitcoinNetwork(bitcoinNetwork);
@ -358,10 +348,6 @@ public final class Preferences implements Persistable {
return btcDenominationProperty.get();
}
public boolean getUseEffects() {
return useEffectsProperty.get();
}
public boolean getUseAnimations() {
return useAnimationsProperty.get();
}
@ -374,10 +360,6 @@ public final class Preferences implements Persistable {
return useAnimationsProperty;
}
public BooleanProperty useEffectsPropertyProperty() {
return useEffectsProperty;
}
public BitcoinNetwork getBitcoinNetwork() {
return bitcoinNetwork;
}

View file

@ -130,7 +130,7 @@ public class AccountView extends ActivatableView<TabPane, AccountViewModel> {
if (view instanceof AccountSettingsView) {
selectedTab = accountSettingsTab;
accountSettingsView = (AccountSettingsView) view;
selectedTab.setText("Account settings");
selectedTab.setText("Account");
if (arbitratorRegistrationTab != null) {
arbitratorRegistrationTab.setDisable(false);
if (arbitratorRegistrationView != null)

View file

@ -154,7 +154,7 @@ public class AltCoinAccountsView extends ActivatableViewAndModel<GridPane, AltCo
private void buildForm() {
addTitledGroupBg(root, gridRow, 2, "Manage accounts");
Tuple2<Label, ListView> tuple = addLabelListView(root, gridRow, "Your accounts:", Layout.FIRST_ROW_DISTANCE);
Tuple2<Label, ListView> tuple = addLabelListView(root, gridRow, "Your cryptocurrency accounts:", Layout.FIRST_ROW_DISTANCE);
GridPane.setValignment(tuple.first, VPos.TOP);
paymentAccountsListView = tuple.second;
paymentAccountsListView.setPrefHeight(2 * Layout.LIST_ROW_HEIGHT + 14);

View file

@ -206,7 +206,7 @@ public class ArbitratorSelectionView extends ActivatableViewAndModel<GridPane, A
dateColumn.setMinWidth(130);
dateColumn.setMaxWidth(130);
TableColumn<ArbitratorListItem, String> nameColumn = new TableColumn("Public key");
TableColumn<ArbitratorListItem, String> nameColumn = new TableColumn("Onion address");
nameColumn.setCellValueFactory(param -> new ReadOnlyObjectWrapper(param.getValue().getAddressString()));
nameColumn.setMinWidth(90);

View file

@ -156,7 +156,7 @@ public class FiatAccountsView extends ActivatableViewAndModel<GridPane, FiatAcco
private void buildForm() {
addTitledGroupBg(root, gridRow, 2, "Manage accounts");
Tuple2<Label, ListView> tuple = addLabelListView(root, gridRow, "Your accounts:", Layout.FIRST_ROW_DISTANCE);
Tuple2<Label, ListView> tuple = addLabelListView(root, gridRow, "Your national currency accounts:", Layout.FIRST_ROW_DISTANCE);
GridPane.setValignment(tuple.first, VPos.TOP);
paymentAccountsListView = tuple.second;
paymentAccountsListView.setPrefHeight(2 * Layout.LIST_ROW_HEIGHT + 14);

View file

@ -143,28 +143,6 @@ public class DisputesView extends ActivatableViewAndModel<TabPane, Activatable>
})
.dontShowAgainId(key, preferences)
.show();
/*
.backgroundInfo("Bitsquare is not a company and not operating any kind of customer support.\n\n" +
"If there are disputes in the trade process (e.g. one trader does not follow the trade protocol) " +
"the application will display a \"Open dispute\" button after the trade period is over " +
"for contacting the arbitrator.\n" +
"In cases of software bugs or network problems, which are detected by the application there will " +
"be displayed a \"Open support ticket\" button to contact the arbitrator who will forward the issue " +
"to the developers.\n\n" +
"In cases where a user got stuck by a bug without getting displayed that \"Open support ticket\" button, " +
"you can open here a support ticket manually.\n\n" +
"Please use that only if you are sure that the software is not working like expected. " +
"If you have problems how to use Bitsquare of questions please review the FAQ at the " +
"Bitsquare.io web page or contact the Bitsquare over " +
"any of the communication channels offered " +
"at the Bitsquare.io web page.")
.closeButtonText("Open Bitsquare.io web page")
.onClose(() -> Utilities.openWebPage("https://bitsquare.io"))
.actionButtonText("I understand")
.onAction(() -> {
})
.dontShowAgainId(key, preferences)
.show();*/
}
@Override

View file

@ -155,13 +155,16 @@ public class MarketsChartsView extends ActivatableViewAndModel<VBox, MarketsChar
private Tuple3<TableView<Offer>, VBox, Button> getOfferTable(Offer.Direction direction) {
TableView<Offer> tableView = new TableView<>();
tableView.setMinHeight(100);
tableView.setMinHeight(99);
tableView.setMaxHeight(99);
tableView.setMinWidth(390);
tableView.setMouseTransparent(true);
// price
TableColumn<Offer, Offer> priceColumn = new TableColumn<>();
priceColumn.textProperty().bind(priceColumnLabel);
priceColumn.setMinWidth(120);
priceColumn.setSortable(false);
priceColumn.setCellValueFactory((offer) -> new ReadOnlyObjectWrapper<>(offer.getValue()));
priceColumn.setCellFactory(
new Callback<TableColumn<Offer, Offer>, TableCell<Offer, Offer>>() {
@ -185,6 +188,7 @@ public class MarketsChartsView extends ActivatableViewAndModel<VBox, MarketsChar
TableColumn<Offer, Offer> amountColumn = new TableColumn<>("Amount (BTC)");
amountColumn.setText("Amount (BTC)");
amountColumn.setMinWidth(120);
amountColumn.setSortable(false);
amountColumn.setCellValueFactory((offer) -> new ReadOnlyObjectWrapper<>(offer.getValue()));
amountColumn.setCellFactory(
new Callback<TableColumn<Offer, Offer>, TableCell<Offer, Offer>>() {
@ -207,6 +211,7 @@ public class MarketsChartsView extends ActivatableViewAndModel<VBox, MarketsChar
// volume
TableColumn<Offer, Offer> volumeColumn = new TableColumn<>("Amount (BTC)");
volumeColumn.setMinWidth(120);
volumeColumn.setSortable(false);
volumeColumn.textProperty().bind(volumeColumnLabel);
volumeColumn.setCellValueFactory((offer) -> new ReadOnlyObjectWrapper<>(offer.getValue()));
volumeColumn.setCellFactory(
@ -231,9 +236,8 @@ public class MarketsChartsView extends ActivatableViewAndModel<VBox, MarketsChar
Label placeholder = new Label("Currently there are no offers available");
placeholder.setWrapText(true);
tableView.setPlaceholder(placeholder);
tableView.getSelectionModel().setCellSelectionEnabled(false);
Label titleLabel = new Label(direction.equals(Offer.Direction.BUY) ? "Offers for buying bitcoin (bid)" : "Offers for selling bitcoin (ask)");
Label titleLabel = new Label(direction.equals(Offer.Direction.BUY) ? "Top 3 offers for buying bitcoin (bid)" : "Top 3 offers for selling bitcoin (ask)");
titleLabel.setStyle("-fx-font-weight: bold; -fx-font-size: 16; -fx-alignment: center");
UserThread.execute(() -> titleLabel.prefWidthProperty().bind(tableView.widthProperty()));
@ -251,7 +255,7 @@ public class MarketsChartsView extends ActivatableViewAndModel<VBox, MarketsChar
VBox vBox = new VBox();
vBox.setSpacing(10);
vBox.setFillWidth(true);
vBox.setMinHeight(120);
vBox.setMinHeight(180);
vBox.getChildren().addAll(titleLabel, tableView, button);
button.prefWidthProperty().bind(vBox.widthProperty());

View file

@ -100,6 +100,7 @@ class MarketsChartsViewModel extends ActivatableViewModel {
return 0;
})
.collect(Collectors.toList()));
buyOfferList.subList(0, Math.min(3, buyOfferList.size()));
iterateBuyOffers(buyOfferList, Offer.Direction.BUY, buyData);
sellOfferList.clear();
@ -115,6 +116,7 @@ class MarketsChartsViewModel extends ActivatableViewModel {
return 0;
})
.collect(Collectors.toList()));
sellOfferList.subList(0, Math.min(3, sellOfferList.size()));
iterateBuyOffers(sellOfferList, Offer.Direction.SELL, sellData);
}

View file

@ -108,7 +108,6 @@ public class PendingTradesView extends ActivatableViewAndModel<VBox, PendingTrad
.onAction(() -> popup.hide())
.show();
}
//new OpenSupportTicketWindow().onOpenTicket(model.dataModel::onOpenSupportTicket).show();
};
}

View file

@ -25,6 +25,6 @@
AnchorPane.rightAnchor="0" AnchorPane.topAnchor="0"
xmlns:fx="http://javafx.com/fxml">
<Tab fx:id="preferencesTab" text="Preferences" closable="false"/>
<Tab fx:id="preferencesTab" text="Settings" closable="false"/>
<Tab fx:id="networkSettingsTab" text="Network info" closable="false"/>
</TabPane>

View file

@ -57,7 +57,7 @@ public class PreferencesView extends ActivatableViewAndModel<GridPane, Activatab
private ComboBox<String> userLanguageComboBox;
private ComboBox<TradeCurrency> preferredTradeCurrencyComboBox;
private CheckBox useAnimationsCheckBox, useEffectsCheckBox, autoSelectArbitratorsCheckBox;
private CheckBox useAnimationsCheckBox, autoSelectArbitratorsCheckBox;
private int gridRow = 0;
//private InputTextField transactionFeeInputTextField;
private ChangeListener<Boolean> transactionFeeFocusedListener;
@ -130,7 +130,7 @@ public class PreferencesView extends ActivatableViewAndModel<GridPane, Activatab
///////////////////////////////////////////////////////////////////////////////////////////
private void initializeDisplayCurrencies() {
TitledGroupBg titledGroupBg = addTitledGroupBg(root, gridRow, 3, "Currencies");
TitledGroupBg titledGroupBg = addTitledGroupBg(root, gridRow, 3, "Currencies to get displayed in list");
GridPane.setColumnSpan(titledGroupBg, 4);
preferredTradeCurrencyComboBox = addLabelComboBox(root, gridRow, "Preferred currency:", Layout.FIRST_ROW_DISTANCE).second;
@ -275,7 +275,7 @@ public class PreferencesView extends ActivatableViewAndModel<GridPane, Activatab
}
private void initializeOtherOptions() {
TitledGroupBg titledGroupBg = addTitledGroupBg(root, ++gridRow, 3, "Options", Layout.GROUP_DISTANCE);
TitledGroupBg titledGroupBg = addTitledGroupBg(root, ++gridRow, 3, "General preferences", Layout.GROUP_DISTANCE);
GridPane.setColumnSpan(titledGroupBg, 4);
userLanguageComboBox = addLabelComboBox(root, gridRow, "Language:", Layout.FIRST_ROW_AND_GROUP_DISTANCE).second;
// btcDenominationComboBox = addLabelComboBox(root, ++gridRow, "Bitcoin denomination:").second;
@ -290,10 +290,9 @@ public class PreferencesView extends ActivatableViewAndModel<GridPane, Activatab
}
private void initializeDisplayOptions() {
TitledGroupBg titledGroupBg = addTitledGroupBg(root, ++gridRow, 4, "Display options", Layout.GROUP_DISTANCE);
TitledGroupBg titledGroupBg = addTitledGroupBg(root, ++gridRow, 2, "Display options", Layout.GROUP_DISTANCE);
GridPane.setColumnSpan(titledGroupBg, 4);
useAnimationsCheckBox = addLabelCheckBox(root, gridRow, "Use animations:", "", Layout.FIRST_ROW_AND_GROUP_DISTANCE).second;
useEffectsCheckBox = addLabelCheckBox(root, ++gridRow, "Use effects:", "").second;
resetDontShowAgainButton = addLabelButton(root, ++gridRow, "Reset all don't show again flags:", "Reset", 0).second;
}
@ -395,9 +394,6 @@ public class PreferencesView extends ActivatableViewAndModel<GridPane, Activatab
useAnimationsCheckBox.setSelected(preferences.getUseAnimations());
useAnimationsCheckBox.setOnAction(e -> preferences.setUseAnimations(useAnimationsCheckBox.isSelected()));
useEffectsCheckBox.setSelected(preferences.getUseEffects());
useEffectsCheckBox.setOnAction(e -> preferences.setUseEffects(useEffectsCheckBox.isSelected()));
resetDontShowAgainButton.setOnAction(e -> preferences.resetDontShowAgainForType());
autoSelectArbitratorsCheckBox.setSelected(preferences.getAutoSelectArbitrators());
@ -423,10 +419,7 @@ public class PreferencesView extends ActivatableViewAndModel<GridPane, Activatab
private void deactivateDisplayPreferences() {
useAnimationsCheckBox.setOnAction(null);
useEffectsCheckBox.setOnAction(null);
autoSelectArbitratorsCheckBox.setOnAction(null);
resetDontShowAgainButton.setOnAction(null);
}
}