Renaming, cleanups

This commit is contained in:
Manfred Karrer 2018-08-06 00:52:13 +02:00
parent 85973ff50d
commit d897d5a3f3
No known key found for this signature in database
GPG key ID: 401250966A6B2C46
25 changed files with 157 additions and 250 deletions

View file

@ -15,7 +15,7 @@
* along with Bisq. If not, see <http://www.gnu.org/licenses/>. * along with Bisq. If not, see <http://www.gnu.org/licenses/>.
*/ */
package bisq.desktop.main.dao; package bisq.desktop.components;
import bisq.desktop.components.indicator.TxConfidenceIndicator; import bisq.desktop.components.indicator.TxConfidenceIndicator;
import bisq.desktop.util.GUIUtil; import bisq.desktop.util.GUIUtil;

View file

@ -26,7 +26,7 @@ import bisq.desktop.common.view.View;
import bisq.desktop.common.view.ViewLoader; import bisq.desktop.common.view.ViewLoader;
import bisq.desktop.main.MainView; import bisq.desktop.main.MainView;
import bisq.desktop.main.dao.bonding.BondingView; import bisq.desktop.main.dao.bonding.BondingView;
import bisq.desktop.main.dao.proposal.ProposalView; import bisq.desktop.main.dao.governance.GovernanceView;
import bisq.desktop.main.dao.wallet.BsqWalletView; import bisq.desktop.main.dao.wallet.BsqWalletView;
import bisq.desktop.main.dao.wallet.dashboard.BsqDashboardView; import bisq.desktop.main.dao.wallet.dashboard.BsqDashboardView;
@ -103,7 +103,7 @@ public class DaoView extends ActivatableViewAndModel<TabPane, Activatable> {
else else
navigation.navigateTo(MainView.class, DaoView.class, BsqWalletView.class, selectedViewClass); navigation.navigateTo(MainView.class, DaoView.class, BsqWalletView.class, selectedViewClass);
} else if (newValue == proposalsTab) { } else if (newValue == proposalsTab) {
navigation.navigateTo(MainView.class, DaoView.class, ProposalView.class); navigation.navigateTo(MainView.class, DaoView.class, GovernanceView.class);
} else if (newValue == bondingTab) { } else if (newValue == bondingTab) {
navigation.navigateTo(MainView.class, DaoView.class, BondingView.class); navigation.navigateTo(MainView.class, DaoView.class, BondingView.class);
} }
@ -120,7 +120,7 @@ public class DaoView extends ActivatableViewAndModel<TabPane, Activatable> {
if (selectedItem == bsqWalletTab) if (selectedItem == bsqWalletTab)
navigation.navigateTo(MainView.class, DaoView.class, BsqWalletView.class); navigation.navigateTo(MainView.class, DaoView.class, BsqWalletView.class);
else if (selectedItem == proposalsTab) else if (selectedItem == proposalsTab)
navigation.navigateTo(MainView.class, DaoView.class, ProposalView.class); navigation.navigateTo(MainView.class, DaoView.class, GovernanceView.class);
else if (selectedItem == bondingTab) else if (selectedItem == bondingTab)
navigation.navigateTo(MainView.class, DaoView.class, BondingView.class); navigation.navigateTo(MainView.class, DaoView.class, BondingView.class);
} }
@ -137,7 +137,7 @@ public class DaoView extends ActivatableViewAndModel<TabPane, Activatable> {
if (view instanceof BsqWalletView) { if (view instanceof BsqWalletView) {
selectedTab = bsqWalletTab; selectedTab = bsqWalletTab;
bsqWalletView = (BsqWalletView) view; bsqWalletView = (BsqWalletView) view;
} else if (view instanceof ProposalView) { } else if (view instanceof GovernanceView) {
selectedTab = proposalsTab; selectedTab = proposalsTab;
} else if (view instanceof BondingView) { } else if (view instanceof BondingView) {
selectedTab = bondingTab; selectedTab = bondingTab;

View file

@ -18,8 +18,8 @@
package bisq.desktop.main.dao.bonding.unlock; package bisq.desktop.main.dao.bonding.unlock;
import bisq.desktop.components.AutoTooltipButton; import bisq.desktop.components.AutoTooltipButton;
import bisq.desktop.components.TxConfidenceListItem;
import bisq.desktop.components.indicator.TxConfidenceIndicator; import bisq.desktop.components.indicator.TxConfidenceIndicator;
import bisq.desktop.main.dao.TxConfidenceListItem;
import bisq.core.btc.listeners.TxConfidenceListener; import bisq.core.btc.listeners.TxConfidenceListener;
import bisq.core.btc.wallet.BsqWalletService; import bisq.core.btc.wallet.BsqWalletService;

View file

@ -20,7 +20,7 @@
<?import javafx.scene.control.ScrollPane?> <?import javafx.scene.control.ScrollPane?>
<?import javafx.scene.layout.AnchorPane?> <?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.VBox?> <?import javafx.scene.layout.VBox?>
<AnchorPane fx:id="root" fx:controller="bisq.desktop.main.dao.proposal.ProposalView" <AnchorPane fx:id="root" fx:controller="bisq.desktop.main.dao.governance.GovernanceView"
xmlns:fx="http://javafx.com/fxml"> xmlns:fx="http://javafx.com/fxml">
<VBox fx:id="leftVBox" prefWidth="240" spacing="5" AnchorPane.bottomAnchor="20" AnchorPane.leftAnchor="15" <VBox fx:id="leftVBox" prefWidth="240" spacing="5" AnchorPane.bottomAnchor="20" AnchorPane.leftAnchor="15"

View file

@ -15,7 +15,7 @@
* along with Bisq. If not, see <http://www.gnu.org/licenses/>. * along with Bisq. If not, see <http://www.gnu.org/licenses/>.
*/ */
package bisq.desktop.main.dao.proposal; package bisq.desktop.main.dao.governance;
import bisq.desktop.Navigation; import bisq.desktop.Navigation;
import bisq.desktop.common.view.ActivatableViewAndModel; import bisq.desktop.common.view.ActivatableViewAndModel;
@ -27,10 +27,10 @@ import bisq.desktop.common.view.ViewPath;
import bisq.desktop.components.MenuItem; import bisq.desktop.components.MenuItem;
import bisq.desktop.main.MainView; import bisq.desktop.main.MainView;
import bisq.desktop.main.dao.DaoView; import bisq.desktop.main.dao.DaoView;
import bisq.desktop.main.dao.proposal.dashboard.ProposalDashboardView; import bisq.desktop.main.dao.governance.dashboard.ProposalDashboardView;
import bisq.desktop.main.dao.proposal.make.MakeProposalView; import bisq.desktop.main.dao.governance.make.MakeProposalView;
import bisq.desktop.main.dao.proposal.open.OpenProposalsView; import bisq.desktop.main.dao.governance.open.OpenProposalsView;
import bisq.desktop.main.dao.proposal.result.VoteResultView; import bisq.desktop.main.dao.governance.result.VoteResultView;
import bisq.core.dao.DaoFacade; import bisq.core.dao.DaoFacade;
import bisq.core.dao.state.period.DaoPhase; import bisq.core.dao.state.period.DaoPhase;
@ -52,7 +52,7 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
@FxmlView @FxmlView
public class ProposalView extends ActivatableViewAndModel { public class GovernanceView extends ActivatableViewAndModel {
private final ViewLoader viewLoader; private final ViewLoader viewLoader;
private final Navigation navigation; private final Navigation navigation;
@ -70,7 +70,7 @@ public class ProposalView extends ActivatableViewAndModel {
private ChangeListener<DaoPhase.Phase> phaseChangeListener; private ChangeListener<DaoPhase.Phase> phaseChangeListener;
@Inject @Inject
private ProposalView(CachingViewLoader viewLoader, Navigation navigation, DaoFacade daoFacade) { private GovernanceView(CachingViewLoader viewLoader, Navigation navigation, DaoFacade daoFacade) {
this.viewLoader = viewLoader; this.viewLoader = viewLoader;
this.navigation = navigation; this.navigation = navigation;
this.daoFacade = daoFacade; this.daoFacade = daoFacade;
@ -79,7 +79,7 @@ public class ProposalView extends ActivatableViewAndModel {
@Override @Override
public void initialize() { public void initialize() {
navigationListener = viewPath -> { navigationListener = viewPath -> {
if (viewPath.size() != 4 || viewPath.indexOf(ProposalView.class) != 2) if (viewPath.size() != 4 || viewPath.indexOf(GovernanceView.class) != 2)
return; return;
selectedViewClass = viewPath.tip(); selectedViewClass = viewPath.tip();
@ -94,7 +94,7 @@ public class ProposalView extends ActivatableViewAndModel {
}; };
ToggleGroup toggleGroup = new ToggleGroup(); ToggleGroup toggleGroup = new ToggleGroup();
final List<Class<? extends View>> baseNavPath = Arrays.asList(MainView.class, DaoView.class, ProposalView.class); final List<Class<? extends View>> baseNavPath = Arrays.asList(MainView.class, DaoView.class, GovernanceView.class);
dashboard = new MenuItem(navigation, toggleGroup, Res.get("shared.dashboard"), dashboard = new MenuItem(navigation, toggleGroup, Res.get("shared.dashboard"),
ProposalDashboardView.class, AwesomeIcon.DASHBOARD, baseNavPath); ProposalDashboardView.class, AwesomeIcon.DASHBOARD, baseNavPath);
make = new MenuItem(navigation, toggleGroup, Res.get("dao.proposal.menuItem.make"), make = new MenuItem(navigation, toggleGroup, Res.get("dao.proposal.menuItem.make"),
@ -117,14 +117,14 @@ public class ProposalView extends ActivatableViewAndModel {
navigation.addListener(navigationListener); navigation.addListener(navigationListener);
ViewPath viewPath = navigation.getCurrentPath(); ViewPath viewPath = navigation.getCurrentPath();
if (viewPath.size() == 3 && viewPath.indexOf(ProposalView.class) == 2 || if (viewPath.size() == 3 && viewPath.indexOf(GovernanceView.class) == 2 ||
viewPath.size() == 2 && viewPath.indexOf(DaoView.class) == 1) { viewPath.size() == 2 && viewPath.indexOf(DaoView.class) == 1) {
if (selectedViewClass == null) if (selectedViewClass == null)
selectedViewClass = MakeProposalView.class; selectedViewClass = MakeProposalView.class;
loadView(selectedViewClass); loadView(selectedViewClass);
} else if (viewPath.size() == 4 && viewPath.indexOf(ProposalView.class) == 2) { } else if (viewPath.size() == 4 && viewPath.indexOf(GovernanceView.class) == 2) {
selectedViewClass = viewPath.get(3); selectedViewClass = viewPath.get(3);
loadView(selectedViewClass); loadView(selectedViewClass);
} }

View file

@ -15,7 +15,7 @@
* along with Bisq. If not, see <http://www.gnu.org/licenses/>. * along with Bisq. If not, see <http://www.gnu.org/licenses/>.
*/ */
package bisq.desktop.main.dao.proposal; package bisq.desktop.main.dao.governance;
import bisq.desktop.components.SeparatedPhaseBars; import bisq.desktop.components.SeparatedPhaseBars;
import bisq.desktop.util.Layout; import bisq.desktop.util.Layout;
@ -43,14 +43,14 @@ import lombok.extern.slf4j.Slf4j;
import static bisq.desktop.util.FormBuilder.addTitledGroupBg; import static bisq.desktop.util.FormBuilder.addTitledGroupBg;
@Slf4j @Slf4j
public class CycleOverview implements BsqStateListener { public class PhasesView implements BsqStateListener {
private final DaoFacade daoFacade; private final DaoFacade daoFacade;
private SeparatedPhaseBars separatedPhaseBars; private SeparatedPhaseBars separatedPhaseBars;
private List<SeparatedPhaseBars.SeparatedPhaseBarsItem> phaseBarsItems; private List<SeparatedPhaseBars.SeparatedPhaseBarsItem> phaseBarsItems;
private Subscription phaseSubscription; private Subscription phaseSubscription;
@Inject @Inject
private CycleOverview(DaoFacade daoFacade) { private PhasesView(DaoFacade daoFacade) {
this.daoFacade = daoFacade; this.daoFacade = daoFacade;
} }

View file

@ -15,7 +15,7 @@
* along with Bisq. If not, see <http://www.gnu.org/licenses/>. * along with Bisq. If not, see <http://www.gnu.org/licenses/>.
*/ */
package bisq.desktop.main.dao.proposal; package bisq.desktop.main.dao.governance;
import bisq.desktop.components.HyperlinkWithIcon; import bisq.desktop.components.HyperlinkWithIcon;
import bisq.desktop.components.InputTextField; import bisq.desktop.components.InputTextField;
@ -122,11 +122,6 @@ public class ProposalDisplay {
private final ChangeListener<Boolean> focusOutListener; private final ChangeListener<Boolean> focusOutListener;
private final ChangeListener<Object> inputListener; private final ChangeListener<Object> inputListener;
// TODO get that warning at closing the window...
// javafx.scene.CssStyleHelper calculateValue
// WARNING: Could not resolve '-fx-accent' while resolving lookups for '-fx-text-fill' from rule '*.hyperlink' in stylesheet file:/Users/dev/idea/bisq/desktop/out/production/resources/bisq/desktop/bisq.css
public ProposalDisplay(GridPane gridPane, BsqFormatter bsqFormatter, BsqWalletService bsqWalletService, public ProposalDisplay(GridPane gridPane, BsqFormatter bsqFormatter, BsqWalletService bsqWalletService,
DaoFacade daoFacade) { DaoFacade daoFacade) {
this.gridPane = gridPane; this.gridPane = gridPane;

View file

@ -20,7 +20,7 @@
<?import javafx.scene.layout.AnchorPane?> <?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.ColumnConstraints?> <?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?> <?import javafx.scene.layout.GridPane?>
<GridPane fx:id="root" fx:controller="bisq.desktop.main.dao.proposal.dashboard.ProposalDashboardView" <GridPane fx:id="root" fx:controller="bisq.desktop.main.dao.governance.dashboard.ProposalDashboardView"
hgap="5.0" vgap="5.0" hgap="5.0" vgap="5.0"
AnchorPane.bottomAnchor="20.0" AnchorPane.leftAnchor="20.0" AnchorPane.bottomAnchor="20.0" AnchorPane.leftAnchor="20.0"
AnchorPane.rightAnchor="25.0" AnchorPane.topAnchor="20.0" AnchorPane.rightAnchor="25.0" AnchorPane.topAnchor="20.0"

View file

@ -15,11 +15,11 @@
* along with Bisq. If not, see <http://www.gnu.org/licenses/>. * along with Bisq. If not, see <http://www.gnu.org/licenses/>.
*/ */
package bisq.desktop.main.dao.proposal.dashboard; package bisq.desktop.main.dao.governance.dashboard;
import bisq.desktop.common.view.ActivatableView; import bisq.desktop.common.view.ActivatableView;
import bisq.desktop.common.view.FxmlView; import bisq.desktop.common.view.FxmlView;
import bisq.desktop.main.dao.proposal.CycleOverview; import bisq.desktop.main.dao.governance.PhasesView;
import bisq.desktop.util.Layout; import bisq.desktop.util.Layout;
import bisq.core.dao.DaoFacade; import bisq.core.dao.DaoFacade;
@ -46,7 +46,7 @@ import static bisq.desktop.util.FormBuilder.addTitledGroupBg;
@FxmlView @FxmlView
public class ProposalDashboardView extends ActivatableView<GridPane, Void> implements BsqStateListener { public class ProposalDashboardView extends ActivatableView<GridPane, Void> implements BsqStateListener {
private final DaoFacade daoFacade; private final DaoFacade daoFacade;
private final CycleOverview cycleOverview; private final PhasesView phasesView;
private final BSFormatter formatter; private final BSFormatter formatter;
private int gridRow = 0; private int gridRow = 0;
@ -58,15 +58,15 @@ public class ProposalDashboardView extends ActivatableView<GridPane, Void> imple
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
@Inject @Inject
public ProposalDashboardView(DaoFacade daoFacade, CycleOverview cycleOverview, BSFormatter formatter) { public ProposalDashboardView(DaoFacade daoFacade, PhasesView phasesView, BSFormatter formatter) {
this.daoFacade = daoFacade; this.daoFacade = daoFacade;
this.cycleOverview = cycleOverview; this.phasesView = phasesView;
this.formatter = formatter; this.formatter = formatter;
} }
@Override @Override
public void initialize() { public void initialize() {
gridRow = cycleOverview.addGroup(root, gridRow); gridRow = phasesView.addGroup(root, gridRow);
addTitledGroupBg(root, ++gridRow, 6, Res.get("dao.cycle.overview.headline"), Layout.GROUP_DISTANCE); addTitledGroupBg(root, ++gridRow, 6, Res.get("dao.cycle.overview.headline"), Layout.GROUP_DISTANCE);
currentBlockHeightTextField = addLabelTextField(root, gridRow, Res.get("dao.cycle.currentBlockHeight"), currentBlockHeightTextField = addLabelTextField(root, gridRow, Res.get("dao.cycle.currentBlockHeight"),
@ -85,7 +85,7 @@ public class ProposalDashboardView extends ActivatableView<GridPane, Void> imple
protected void activate() { protected void activate() {
super.activate(); super.activate();
cycleOverview.activate(); phasesView.activate();
daoFacade.addBsqStateListener(this); daoFacade.addBsqStateListener(this);
@ -96,7 +96,7 @@ public class ProposalDashboardView extends ActivatableView<GridPane, Void> imple
protected void deactivate() { protected void deactivate() {
super.deactivate(); super.deactivate();
cycleOverview.deactivate(); phasesView.deactivate();
daoFacade.removeBsqStateListener(this); daoFacade.removeBsqStateListener(this);
} }

View file

@ -20,7 +20,7 @@
<?import javafx.scene.layout.AnchorPane?> <?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.ColumnConstraints?> <?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?> <?import javafx.scene.layout.GridPane?>
<GridPane fx:id="root" fx:controller="bisq.desktop.main.dao.proposal.make.MakeProposalView" <GridPane fx:id="root" fx:controller="bisq.desktop.main.dao.governance.make.MakeProposalView"
hgap="5.0" vgap="5.0" hgap="5.0" vgap="5.0"
AnchorPane.bottomAnchor="20.0" AnchorPane.leftAnchor="20.0" AnchorPane.bottomAnchor="20.0" AnchorPane.leftAnchor="20.0"
AnchorPane.rightAnchor="25.0" AnchorPane.topAnchor="20.0" AnchorPane.rightAnchor="25.0" AnchorPane.topAnchor="20.0"

View file

@ -15,13 +15,13 @@
* along with Bisq. If not, see <http://www.gnu.org/licenses/>. * along with Bisq. If not, see <http://www.gnu.org/licenses/>.
*/ */
package bisq.desktop.main.dao.proposal.make; package bisq.desktop.main.dao.governance.make;
import bisq.desktop.common.view.ActivatableView; import bisq.desktop.common.view.ActivatableView;
import bisq.desktop.common.view.FxmlView; import bisq.desktop.common.view.FxmlView;
import bisq.desktop.components.InputTextField; import bisq.desktop.components.InputTextField;
import bisq.desktop.main.dao.proposal.CycleOverview; import bisq.desktop.main.dao.governance.PhasesView;
import bisq.desktop.main.dao.proposal.ProposalDisplay; import bisq.desktop.main.dao.governance.ProposalDisplay;
import bisq.desktop.main.overlays.popups.Popup; import bisq.desktop.main.overlays.popups.Popup;
import bisq.desktop.util.FormBuilder; import bisq.desktop.util.FormBuilder;
import bisq.desktop.util.GUIUtil; import bisq.desktop.util.GUIUtil;
@ -87,7 +87,7 @@ public class MakeProposalView extends ActivatableView<GridPane, Void> implements
private final BsqWalletService bsqWalletService; private final BsqWalletService bsqWalletService;
private final WalletsSetup walletsSetup; private final WalletsSetup walletsSetup;
private final P2PService p2PService; private final P2PService p2PService;
private final CycleOverview cycleOverview; private final PhasesView phasesView;
private final BSFormatter btcFormatter; private final BSFormatter btcFormatter;
private final BsqFormatter bsqFormatter; private final BsqFormatter bsqFormatter;
@ -111,14 +111,14 @@ public class MakeProposalView extends ActivatableView<GridPane, Void> implements
WalletsSetup walletsSetup, WalletsSetup walletsSetup,
P2PService p2PService, P2PService p2PService,
FeeService feeService, FeeService feeService,
CycleOverview cycleOverview, PhasesView phasesView,
BSFormatter btcFormatter, BSFormatter btcFormatter,
BsqFormatter bsqFormatter) { BsqFormatter bsqFormatter) {
this.daoFacade = daoFacade; this.daoFacade = daoFacade;
this.bsqWalletService = bsqWalletService; this.bsqWalletService = bsqWalletService;
this.walletsSetup = walletsSetup; this.walletsSetup = walletsSetup;
this.p2PService = p2PService; this.p2PService = p2PService;
this.cycleOverview = cycleOverview; this.phasesView = phasesView;
this.btcFormatter = btcFormatter; this.btcFormatter = btcFormatter;
this.bsqFormatter = bsqFormatter; this.bsqFormatter = bsqFormatter;
} }
@ -126,7 +126,7 @@ public class MakeProposalView extends ActivatableView<GridPane, Void> implements
@Override @Override
public void initialize() { public void initialize() {
gridRow = cycleOverview.addGroup(root, gridRow); gridRow = phasesView.addGroup(root, gridRow);
addTitledGroupBg(root, ++gridRow, 1, Res.get("dao.proposal.create.selectProposalType"), Layout.GROUP_DISTANCE); addTitledGroupBg(root, ++gridRow, 1, Res.get("dao.proposal.create.selectProposalType"), Layout.GROUP_DISTANCE);
proposalTypeComboBox = FormBuilder.<ProposalType>addLabelComboBox(root, gridRow, proposalTypeComboBox = FormBuilder.<ProposalType>addLabelComboBox(root, gridRow,
@ -160,7 +160,7 @@ public class MakeProposalView extends ActivatableView<GridPane, Void> implements
@Override @Override
protected void activate() { protected void activate() {
cycleOverview.activate(); phasesView.activate();
daoFacade.addBsqStateListener(this); daoFacade.addBsqStateListener(this);
@ -173,7 +173,7 @@ public class MakeProposalView extends ActivatableView<GridPane, Void> implements
@Override @Override
protected void deactivate() { protected void deactivate() {
cycleOverview.deactivate(); phasesView.deactivate();
daoFacade.removeBsqStateListener(this); daoFacade.removeBsqStateListener(this);

View file

@ -15,7 +15,7 @@
* along with Bisq. If not, see <http://www.gnu.org/licenses/>. * along with Bisq. If not, see <http://www.gnu.org/licenses/>.
*/ */
package bisq.desktop.main.dao.proposal.open; package bisq.desktop.main.dao.governance.open;
import bisq.desktop.components.indicator.TxConfidenceIndicator; import bisq.desktop.components.indicator.TxConfidenceIndicator;

View file

@ -21,7 +21,7 @@
<?import javafx.scene.layout.AnchorPane?> <?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.ColumnConstraints?> <?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?> <?import javafx.scene.layout.GridPane?>
<GridPane fx:id="root" fx:controller="bisq.desktop.main.dao.proposal.open.OpenProposalsView" <GridPane fx:id="root" fx:controller="bisq.desktop.main.dao.governance.open.OpenProposalsView"
hgap="5.0" vgap="5.0" hgap="5.0" vgap="5.0"
AnchorPane.bottomAnchor="20.0" AnchorPane.leftAnchor="20.0" AnchorPane.bottomAnchor="20.0" AnchorPane.leftAnchor="20.0"
AnchorPane.rightAnchor="25.0" AnchorPane.topAnchor="20.0" AnchorPane.rightAnchor="25.0" AnchorPane.topAnchor="20.0"

View file

@ -15,7 +15,7 @@
* along with Bisq. If not, see <http://www.gnu.org/licenses/>. * along with Bisq. If not, see <http://www.gnu.org/licenses/>.
*/ */
package bisq.desktop.main.dao.proposal.open; package bisq.desktop.main.dao.governance.open;
import bisq.desktop.common.view.ActivatableView; import bisq.desktop.common.view.ActivatableView;
import bisq.desktop.common.view.FxmlView; import bisq.desktop.common.view.FxmlView;
@ -27,9 +27,8 @@ import bisq.desktop.components.InputTextField;
import bisq.desktop.components.TableGroupHeadline; import bisq.desktop.components.TableGroupHeadline;
import bisq.desktop.components.TitledGroupBg; import bisq.desktop.components.TitledGroupBg;
import bisq.desktop.components.TxIdTextField; import bisq.desktop.components.TxIdTextField;
import bisq.desktop.main.dao.proposal.CycleOverview; import bisq.desktop.main.dao.governance.PhasesView;
import bisq.desktop.main.dao.proposal.ProposalDisplay; import bisq.desktop.main.dao.governance.ProposalDisplay;
import bisq.desktop.main.dao.proposal.ProposalWindow;
import bisq.desktop.main.overlays.popups.Popup; import bisq.desktop.main.overlays.popups.Popup;
import bisq.desktop.util.GUIUtil; import bisq.desktop.util.GUIUtil;
import bisq.desktop.util.Layout; import bisq.desktop.util.Layout;
@ -104,39 +103,36 @@ import static bisq.desktop.util.FormBuilder.*;
public class OpenProposalsView extends ActivatableView<GridPane, Void> implements BsqBalanceListener, BsqStateListener { public class OpenProposalsView extends ActivatableView<GridPane, Void> implements BsqBalanceListener, BsqStateListener {
private final DaoFacade daoFacade; private final DaoFacade daoFacade;
private final BsqWalletService bsqWalletService; private final BsqWalletService bsqWalletService;
private final CycleOverview cycleOverview; private final PhasesView phasesView;
private final VoteResultService voteResultService; private final VoteResultService voteResultService;
private final BsqFormatter bsqFormatter; private final BsqFormatter bsqFormatter;
private final BSFormatter btcFormatter; private final BSFormatter btcFormatter;
private final ObservableList<OpenProposalListItem> listItems = FXCollections.observableArrayList(); private final ObservableList<OpenProposalListItem> listItems = FXCollections.observableArrayList();
private final SortedList<OpenProposalListItem> sortedList = new SortedList<>(listItems); private final SortedList<OpenProposalListItem> sortedList = new SortedList<>(listItems);
private final List<Button> voteButtons = new ArrayList<>();
private final List<Node> voteFields = new ArrayList<>();
private TableView<OpenProposalListItem> tableView; private TableView<OpenProposalListItem> tableView;
private Subscription selectedProposalSubscription; private TitledGroupBg voteTitledGroupBg;
private ProposalDisplay proposalDisplay; private Label revealTxIdLabel, blindVoteTxIdLabel, voteButtonInfoLabel;
private int gridRow = 0; private TxIdTextField revealTxIdTextField, blindVoteTxIdTextField;
private OpenProposalListItem selectedItem; private TextField meritTextField;
private GridPane proposalDisplayGridPane;
private DaoPhase.Phase currentPhase;
private Subscription phaseSubscription;
private ScrollPane proposalDisplayView;
private boolean proposalDisplayInitialized;
private Button removeProposalButton, acceptButton, rejectButton, ignoreButton, voteButton; private Button removeProposalButton, acceptButton, rejectButton, ignoreButton, voteButton;
private InputTextField stakeInputTextField; private InputTextField stakeInputTextField;
private ScrollPane proposalDisplayView;
private GridPane proposalDisplayGridPane;
private BusyAnimation voteButtonBusyAnimation; private BusyAnimation voteButtonBusyAnimation;
private Label voteButtonInfoLabel; private ProposalDisplay proposalDisplay;
private int gridRow = 0;
private boolean proposalDisplayInitialized;
private OpenProposalListItem selectedItem;
private DaoPhase.Phase currentPhase;
private ListChangeListener<Proposal> proposalListChangeListener; private ListChangeListener<Proposal> proposalListChangeListener;
private ListChangeListener<Ballot> ballotListChangeListener; private ListChangeListener<Ballot> ballotListChangeListener;
private ChangeListener<String> stakeListener; private ChangeListener<String> stakeListener;
private final List<Button> voteButtons = new ArrayList<>(); private Subscription selectedProposalSubscription, phaseSubscription;
private final List<Node> voteFields = new ArrayList<>();
private TitledGroupBg voteTitledGroupBg;
private Label revealTxIdLabel;
private Label blindVoteTxIdLabel;
private TxIdTextField revealTxIdTextField, blindVoteTxIdTextField;
private TextField meritTextField;
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
@ -146,14 +142,13 @@ public class OpenProposalsView extends ActivatableView<GridPane, Void> implement
@Inject @Inject
private OpenProposalsView(DaoFacade daoFacade, private OpenProposalsView(DaoFacade daoFacade,
BsqWalletService bsqWalletService, BsqWalletService bsqWalletService,
CycleOverview cycleOverview, PhasesView phasesView,
VoteResultService voteResultService, VoteResultService voteResultService,
BsqFormatter bsqFormatter, BsqFormatter bsqFormatter,
BSFormatter btcFormatter) { BSFormatter btcFormatter) {
this.daoFacade = daoFacade; this.daoFacade = daoFacade;
this.bsqWalletService = bsqWalletService; this.bsqWalletService = bsqWalletService;
this.cycleOverview = cycleOverview; this.phasesView = phasesView;
this.voteResultService = voteResultService; this.voteResultService = voteResultService;
this.bsqFormatter = bsqFormatter; this.bsqFormatter = bsqFormatter;
this.btcFormatter = btcFormatter; this.btcFormatter = btcFormatter;
@ -165,7 +160,7 @@ public class OpenProposalsView extends ActivatableView<GridPane, Void> implement
root.getStyleClass().add("vote-root"); root.getStyleClass().add("vote-root");
gridRow = cycleOverview.addGroup(root, gridRow); gridRow = phasesView.addGroup(root, gridRow);
proposalDisplayGridPane = new GridPane(); proposalDisplayGridPane = new GridPane();
@ -176,13 +171,12 @@ public class OpenProposalsView extends ActivatableView<GridPane, Void> implement
ballotListChangeListener = c -> updateListItems(); ballotListChangeListener = c -> updateListItems();
proposalListChangeListener = c -> updateListItems(); proposalListChangeListener = c -> updateListItems();
// ballot
stakeListener = (observable, oldValue, newValue) -> updateViews(); stakeListener = (observable, oldValue, newValue) -> updateViews();
} }
@Override @Override
protected void activate() { protected void activate() {
cycleOverview.activate(); phasesView.activate();
phaseSubscription = EasyBind.subscribe(daoFacade.phaseProperty(), this::onPhaseChanged); phaseSubscription = EasyBind.subscribe(daoFacade.phaseProperty(), this::onPhaseChanged);
selectedProposalSubscription = EasyBind.subscribe(tableView.getSelectionModel().selectedItemProperty(), this::onSelectProposal); selectedProposalSubscription = EasyBind.subscribe(tableView.getSelectionModel().selectedItemProperty(), this::onSelectProposal);
@ -210,7 +204,7 @@ public class OpenProposalsView extends ActivatableView<GridPane, Void> implement
@Override @Override
protected void deactivate() { protected void deactivate() {
cycleOverview.deactivate(); phasesView.deactivate();
phaseSubscription.unsubscribe(); phaseSubscription.unsubscribe();
selectedProposalSubscription.unsubscribe(); selectedProposalSubscription.unsubscribe();
@ -521,7 +515,6 @@ public class OpenProposalsView extends ActivatableView<GridPane, Void> implement
}); });
} }
private void updateStateAfterVote() { private void updateStateAfterVote() {
updateViews(); updateViews();
tableView.refresh(); tableView.refresh();
@ -712,12 +705,13 @@ public class OpenProposalsView extends ActivatableView<GridPane, Void> implement
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
private void createProposalColumns() { private void createProposalColumns() {
TableColumn<OpenProposalListItem, OpenProposalListItem> dateColumn = new AutoTooltipTableColumn<>(Res.get("shared.dateTime")); TableColumn<OpenProposalListItem, OpenProposalListItem> column;
dateColumn.setMinWidth(190);
dateColumn.setMinWidth(190);
dateColumn.setCellValueFactory((item) -> new ReadOnlyObjectWrapper<>(item.getValue())); column = new AutoTooltipTableColumn<>(Res.get("shared.dateTime"));
dateColumn.setCellFactory( column.setMinWidth(190);
column.setMaxWidth(column.getMinWidth());
column.setCellValueFactory((item) -> new ReadOnlyObjectWrapper<>(item.getValue()));
column.setCellFactory(
new Callback<TableColumn<OpenProposalListItem, OpenProposalListItem>, TableCell<OpenProposalListItem, new Callback<TableColumn<OpenProposalListItem, OpenProposalListItem>, TableCell<OpenProposalListItem,
OpenProposalListItem>>() { OpenProposalListItem>>() {
@Override @Override
@ -735,15 +729,16 @@ public class OpenProposalsView extends ActivatableView<GridPane, Void> implement
}; };
} }
}); });
dateColumn.setComparator(Comparator.comparing(o3 -> o3.getProposal().getCreationDate())); column.setComparator(Comparator.comparing(o3 -> o3.getProposal().getCreationDate()));
dateColumn.setSortType(TableColumn.SortType.DESCENDING); column.setSortType(TableColumn.SortType.DESCENDING);
tableView.getColumns().add(dateColumn); tableView.getColumns().add(column);
tableView.getSortOrder().add(dateColumn); tableView.getSortOrder().add(column);
TableColumn<OpenProposalListItem, OpenProposalListItem> nameColumn = new AutoTooltipTableColumn<>(Res.get("shared.name"));
nameColumn.setMinWidth(60); column = new AutoTooltipTableColumn<>(Res.get("shared.name"));
nameColumn.setCellValueFactory((item) -> new ReadOnlyObjectWrapper<>(item.getValue())); column.setMinWidth(60);
nameColumn.setCellFactory( column.setCellValueFactory((item) -> new ReadOnlyObjectWrapper<>(item.getValue()));
column.setCellFactory(
new Callback<TableColumn<OpenProposalListItem, OpenProposalListItem>, TableCell<OpenProposalListItem, new Callback<TableColumn<OpenProposalListItem, OpenProposalListItem>, TableCell<OpenProposalListItem,
OpenProposalListItem>>() { OpenProposalListItem>>() {
@Override @Override
@ -761,13 +756,14 @@ public class OpenProposalsView extends ActivatableView<GridPane, Void> implement
}; };
} }
}); });
nameColumn.setComparator(Comparator.comparing(o2 -> o2.getProposal().getName())); column.setComparator(Comparator.comparing(o2 -> o2.getProposal().getName()));
tableView.getColumns().add(nameColumn); tableView.getColumns().add(column);
TableColumn<OpenProposalListItem, OpenProposalListItem> uidColumn = new AutoTooltipTableColumn<>(Res.get("shared.id"));
uidColumn.setMinWidth(60); column = new AutoTooltipTableColumn<>(Res.get("dao.proposal.table.header.link"));
uidColumn.setCellValueFactory((item) -> new ReadOnlyObjectWrapper<>(item.getValue())); column.setMinWidth(80);
uidColumn.setCellFactory( column.setCellValueFactory((item) -> new ReadOnlyObjectWrapper<>(item.getValue()));
column.setCellFactory(
new Callback<TableColumn<OpenProposalListItem, OpenProposalListItem>, TableCell<OpenProposalListItem, new Callback<TableColumn<OpenProposalListItem, OpenProposalListItem>, TableCell<OpenProposalListItem,
OpenProposalListItem>>() { OpenProposalListItem>>() {
@ -782,11 +778,9 @@ public class OpenProposalsView extends ActivatableView<GridPane, Void> implement
super.updateItem(item, empty); super.updateItem(item, empty);
if (item != null && !empty) { if (item != null && !empty) {
final Proposal proposal = item.getProposal(); final Proposal proposal = item.getProposal();
field = new HyperlinkWithIcon(proposal.getShortId()); field = new HyperlinkWithIcon(proposal.getLink());
field.setOnAction(event -> { field.setOnAction(event -> GUIUtil.openWebPage(Res.get("shared.openURL", proposal.getLink())));
new ProposalWindow(bsqFormatter, bsqWalletService, proposal, daoFacade).show(); field.setTooltip(new Tooltip(proposal.getLink()));
});
field.setTooltip(new Tooltip(Res.get("tooltip.openPopupForDetails")));
setGraphic(field); setGraphic(field);
} else { } else {
setGraphic(null); setGraphic(null);
@ -797,15 +791,15 @@ public class OpenProposalsView extends ActivatableView<GridPane, Void> implement
}; };
} }
}); });
uidColumn.setComparator(Comparator.comparing(o -> o.getProposal().getUid())); column.setComparator(Comparator.comparing(o -> o.getProposal().getUid()));
tableView.getColumns().add(uidColumn); tableView.getColumns().add(column);
TableColumn<OpenProposalListItem, OpenProposalListItem> confidenceColumn = new TableColumn<>(Res.get("shared.confirmations")); column = new TableColumn<>(Res.get("shared.confirmations"));
confidenceColumn.setMinWidth(130); column.setMinWidth(130);
confidenceColumn.setMaxWidth(confidenceColumn.getMinWidth()); column.setMaxWidth(column.getMinWidth());
confidenceColumn.setCellValueFactory((item) -> new ReadOnlyObjectWrapper<>(item.getValue())); column.setCellValueFactory((item) -> new ReadOnlyObjectWrapper<>(item.getValue()));
confidenceColumn.setCellFactory(new Callback<TableColumn<OpenProposalListItem, OpenProposalListItem>, column.setCellFactory(new Callback<TableColumn<OpenProposalListItem, OpenProposalListItem>,
TableCell<OpenProposalListItem, OpenProposalListItem>>() { TableCell<OpenProposalListItem, OpenProposalListItem>>() {
@Override @Override
@ -826,14 +820,14 @@ public class OpenProposalsView extends ActivatableView<GridPane, Void> implement
}; };
} }
}); });
confidenceColumn.setComparator(Comparator.comparing(OpenProposalListItem::getConfirmations)); column.setComparator(Comparator.comparing(OpenProposalListItem::getConfirmations));
tableView.getColumns().add(confidenceColumn); tableView.getColumns().add(column);
TableColumn<OpenProposalListItem, OpenProposalListItem> actionColumn = new TableColumn<>(); column = new TableColumn<>();
actionColumn.setMinWidth(40); column.setMinWidth(40);
actionColumn.setMaxWidth(actionColumn.getMinWidth()); column.setMaxWidth(column.getMinWidth());
actionColumn.setCellValueFactory((item) -> new ReadOnlyObjectWrapper<>(item.getValue())); column.setCellValueFactory((item) -> new ReadOnlyObjectWrapper<>(item.getValue()));
actionColumn.setCellFactory(new Callback<TableColumn<OpenProposalListItem, OpenProposalListItem>, column.setCellFactory(new Callback<TableColumn<OpenProposalListItem, OpenProposalListItem>,
TableCell<OpenProposalListItem, OpenProposalListItem>>() { TableCell<OpenProposalListItem, OpenProposalListItem>>() {
@Override @Override
@ -861,6 +855,6 @@ public class OpenProposalsView extends ActivatableView<GridPane, Void> implement
}; };
} }
}); });
tableView.getColumns().add(actionColumn); tableView.getColumns().add(column);
} }
} }

View file

@ -15,7 +15,7 @@
* along with Bisq. If not, see <http://www.gnu.org/licenses/>. * along with Bisq. If not, see <http://www.gnu.org/licenses/>.
*/ */
package bisq.desktop.main.dao.proposal.result; package bisq.desktop.main.dao.governance.result;
import bisq.core.dao.state.BsqStateService; import bisq.core.dao.state.BsqStateService;
import bisq.core.dao.voting.proposal.compensation.CompensationProposal; import bisq.core.dao.voting.proposal.compensation.CompensationProposal;
@ -37,9 +37,9 @@ public class CycleListItem {
@Getter @Getter
private ResultsOfCycle resultsOfCycle; private ResultsOfCycle resultsOfCycle;
public CycleListItem(ResultsOfCycle resultsOfCycle, CycleListItem(ResultsOfCycle resultsOfCycle,
BsqStateService bsqStateService, BsqStateService bsqStateService,
BsqFormatter bsqFormatter) { BsqFormatter bsqFormatter) {
this.resultsOfCycle = resultsOfCycle; this.resultsOfCycle = resultsOfCycle;
this.bsqStateService = bsqStateService; this.bsqStateService = bsqStateService;
this.bsqFormatter = bsqFormatter; this.bsqFormatter = bsqFormatter;

View file

@ -15,7 +15,7 @@
* along with Bisq. If not, see <http://www.gnu.org/licenses/>. * along with Bisq. If not, see <http://www.gnu.org/licenses/>.
*/ */
package bisq.desktop.main.dao.proposal.result; package bisq.desktop.main.dao.governance.result;
import bisq.core.dao.role.BondedRole; import bisq.core.dao.role.BondedRole;
import bisq.core.dao.voting.proposal.Proposal; import bisq.core.dao.voting.proposal.Proposal;
@ -43,7 +43,7 @@ public class ProposalListItem {
@Getter @Getter
private EvaluatedProposal evaluatedProposal; private EvaluatedProposal evaluatedProposal;
public ProposalListItem(EvaluatedProposal evaluatedProposal, BsqFormatter bsqFormatter) { ProposalListItem(EvaluatedProposal evaluatedProposal, BsqFormatter bsqFormatter) {
this.evaluatedProposal = evaluatedProposal; this.evaluatedProposal = evaluatedProposal;
proposalVoteResult = evaluatedProposal.getProposalVoteResult(); proposalVoteResult = evaluatedProposal.getProposalVoteResult();
this.bsqFormatter = bsqFormatter; this.bsqFormatter = bsqFormatter;

View file

@ -15,7 +15,7 @@
* along with Bisq. If not, see <http://www.gnu.org/licenses/>. * along with Bisq. If not, see <http://www.gnu.org/licenses/>.
*/ */
package bisq.desktop.main.dao.proposal.result; package bisq.desktop.main.dao.governance.result;
import bisq.core.dao.state.period.Cycle; import bisq.core.dao.state.period.Cycle;
import bisq.core.dao.voting.proposal.Proposal; import bisq.core.dao.voting.proposal.Proposal;
@ -30,7 +30,7 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j @Slf4j
@Data @Data
public class ResultsOfCycle { class ResultsOfCycle {
private final Cycle cycle; private final Cycle cycle;
private final int cycleIndex; private final int cycleIndex;
private final int numVotes, numAcceptedVotes, numRejectedVotes; private final int numVotes, numAcceptedVotes, numRejectedVotes;
@ -45,12 +45,12 @@ public class ResultsOfCycle {
private final List<DecryptedVote> decryptedVotesForCycle; private final List<DecryptedVote> decryptedVotesForCycle;
public ResultsOfCycle(Cycle cycle, ResultsOfCycle(Cycle cycle,
int cycleIndex, int cycleIndex,
long cycleStartTime, long cycleStartTime,
List<Proposal> proposals, List<Proposal> proposals,
List<EvaluatedProposal> evaluatedProposals, List<EvaluatedProposal> evaluatedProposals,
List<DecryptedVote> decryptedVotesForCycle) { List<DecryptedVote> decryptedVotesForCycle) {
this.cycle = cycle; this.cycle = cycle;
this.cycleIndex = cycleIndex; this.cycleIndex = cycleIndex;
this.cycleStartTime = cycleStartTime; this.cycleStartTime = cycleStartTime;

View file

@ -15,7 +15,7 @@
* along with Bisq. If not, see <http://www.gnu.org/licenses/>. * along with Bisq. If not, see <http://www.gnu.org/licenses/>.
*/ */
package bisq.desktop.main.dao.proposal.result; package bisq.desktop.main.dao.governance.result;
import bisq.core.dao.state.BsqStateService; import bisq.core.dao.state.BsqStateService;
import bisq.core.dao.voting.ballot.Ballot; import bisq.core.dao.voting.ballot.Ballot;
@ -50,10 +50,10 @@ public class VoteListItem {
@Getter @Getter
private String voteRevealTxId = ""; private String voteRevealTxId = "";
public VoteListItem(Proposal proposal, VoteListItem(Proposal proposal,
DecryptedVote decryptedVote, DecryptedVote decryptedVote,
BsqStateService bsqStateService, BsqStateService bsqStateService,
BsqFormatter bsqFormatter) { BsqFormatter bsqFormatter) {
this.decryptedVote = decryptedVote; this.decryptedVote = decryptedVote;
this.bsqFormatter = bsqFormatter; this.bsqFormatter = bsqFormatter;

View file

@ -21,7 +21,7 @@
<?import javafx.scene.layout.AnchorPane?> <?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.ColumnConstraints?> <?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?> <?import javafx.scene.layout.GridPane?>
<GridPane fx:id="root" fx:controller="bisq.desktop.main.dao.proposal.result.VoteResultView" <GridPane fx:id="root" fx:controller="bisq.desktop.main.dao.governance.result.VoteResultView"
hgap="5.0" vgap="5.0" hgap="5.0" vgap="5.0"
AnchorPane.bottomAnchor="20.0" AnchorPane.leftAnchor="20.0" AnchorPane.bottomAnchor="20.0" AnchorPane.leftAnchor="20.0"
AnchorPane.rightAnchor="25.0" AnchorPane.topAnchor="20.0" AnchorPane.rightAnchor="25.0" AnchorPane.topAnchor="20.0"

View file

@ -15,7 +15,7 @@
* along with Bisq. If not, see <http://www.gnu.org/licenses/>. * along with Bisq. If not, see <http://www.gnu.org/licenses/>.
*/ */
package bisq.desktop.main.dao.proposal.result; package bisq.desktop.main.dao.governance.result;
import bisq.desktop.common.view.ActivatableView; import bisq.desktop.common.view.ActivatableView;
import bisq.desktop.common.view.FxmlView; import bisq.desktop.common.view.FxmlView;
@ -23,8 +23,8 @@ import bisq.desktop.components.AutoTooltipLabel;
import bisq.desktop.components.AutoTooltipTableColumn; import bisq.desktop.components.AutoTooltipTableColumn;
import bisq.desktop.components.HyperlinkWithIcon; import bisq.desktop.components.HyperlinkWithIcon;
import bisq.desktop.components.TableGroupHeadline; import bisq.desktop.components.TableGroupHeadline;
import bisq.desktop.main.dao.proposal.CycleOverview; import bisq.desktop.main.dao.governance.PhasesView;
import bisq.desktop.main.dao.proposal.ProposalDisplay; import bisq.desktop.main.dao.governance.ProposalDisplay;
import bisq.desktop.util.GUIUtil; import bisq.desktop.util.GUIUtil;
import bisq.desktop.util.Layout; import bisq.desktop.util.Layout;
@ -84,7 +84,7 @@ import java.util.stream.Collectors;
@FxmlView @FxmlView
public class VoteResultView extends ActivatableView<GridPane, Void> implements BsqStateListener { public class VoteResultView extends ActivatableView<GridPane, Void> implements BsqStateListener {
private final DaoFacade daoFacade; private final DaoFacade daoFacade;
private final CycleOverview cycleOverview; private final PhasesView phasesView;
private final BsqStateService bsqStateService; private final BsqStateService bsqStateService;
private final CycleService cycleService; private final CycleService cycleService;
private final VoteResultService voteResultService; private final VoteResultService voteResultService;
@ -119,7 +119,7 @@ public class VoteResultView extends ActivatableView<GridPane, Void> implements B
@Inject @Inject
public VoteResultView(DaoFacade daoFacade, public VoteResultView(DaoFacade daoFacade,
CycleOverview cycleOverview, PhasesView phasesView,
BsqStateService bsqStateService, BsqStateService bsqStateService,
CycleService cycleService, CycleService cycleService,
VoteResultService voteResultService, VoteResultService voteResultService,
@ -128,7 +128,7 @@ public class VoteResultView extends ActivatableView<GridPane, Void> implements B
Preferences preferences, Preferences preferences,
BsqFormatter bsqFormatter) { BsqFormatter bsqFormatter) {
this.daoFacade = daoFacade; this.daoFacade = daoFacade;
this.cycleOverview = cycleOverview; this.phasesView = phasesView;
this.bsqStateService = bsqStateService; this.bsqStateService = bsqStateService;
this.cycleService = cycleService; this.cycleService = cycleService;
this.voteResultService = voteResultService; this.voteResultService = voteResultService;
@ -140,7 +140,7 @@ public class VoteResultView extends ActivatableView<GridPane, Void> implements B
@Override @Override
public void initialize() { public void initialize() {
gridRow = cycleOverview.addGroup(root, gridRow); gridRow = phasesView.addGroup(root, gridRow);
selectedVoteResultListItemListener = (observable, oldValue, newValue) -> onResultsListItemSelected(newValue); selectedVoteResultListItemListener = (observable, oldValue, newValue) -> onResultsListItemSelected(newValue);
createCyclesTable(); createCyclesTable();
@ -151,7 +151,7 @@ public class VoteResultView extends ActivatableView<GridPane, Void> implements B
protected void activate() { protected void activate() {
super.activate(); super.activate();
cycleOverview.activate(); phasesView.activate();
daoFacade.addBsqStateListener(this); daoFacade.addBsqStateListener(this);
cyclesTableView.getSelectionModel().selectedItemProperty().addListener(selectedVoteResultListItemListener); cyclesTableView.getSelectionModel().selectedItemProperty().addListener(selectedVoteResultListItemListener);
@ -165,7 +165,7 @@ public class VoteResultView extends ActivatableView<GridPane, Void> implements B
onResultsListItemSelected(null); onResultsListItemSelected(null);
cycleOverview.deactivate(); phasesView.deactivate();
daoFacade.removeBsqStateListener(this); daoFacade.removeBsqStateListener(this);
cyclesTableView.getSelectionModel().selectedItemProperty().removeListener(selectedVoteResultListItemListener); cyclesTableView.getSelectionModel().selectedItemProperty().removeListener(selectedVoteResultListItemListener);

View file

@ -1,89 +0,0 @@
/*
* This file is part of Bisq.
*
* Bisq is free software: you can redistribute it and/or modify it
* under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or (at
* your option) any later version.
*
* Bisq is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
* License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with Bisq. If not, see <http://www.gnu.org/licenses/>.
*/
package bisq.desktop.main.dao.proposal;
import bisq.desktop.main.overlays.Overlay;
import bisq.desktop.util.Layout;
import bisq.core.btc.wallet.BsqWalletService;
import bisq.core.dao.DaoFacade;
import bisq.core.dao.voting.proposal.Proposal;
import bisq.core.locale.Res;
import bisq.core.util.BsqFormatter;
import javafx.geometry.Insets;
import static bisq.desktop.util.FormBuilder.addButtonAfterGroup;
public class ProposalWindow extends Overlay<ProposalWindow> {
private final BsqFormatter bsqFormatter;
private final BsqWalletService bsqWalletService;
private final Proposal proposal;
private final DaoFacade daoFacade;
private ProposalDisplay proposalDisplay;
///////////////////////////////////////////////////////////////////////////////////////////
// Public API
///////////////////////////////////////////////////////////////////////////////////////////
public ProposalWindow(BsqFormatter bsqFormatter, BsqWalletService bsqWalletService, Proposal proposal,
DaoFacade daoFacade) {
this.bsqFormatter = bsqFormatter;
this.bsqWalletService = bsqWalletService;
this.proposal = proposal;
this.daoFacade = daoFacade;
type = Type.Confirmation;
width = 950;
}
public void show() {
createGridPane();
proposalDisplay = new ProposalDisplay(gridPane, bsqFormatter, bsqWalletService, daoFacade);
proposalDisplay.createAllFields(Res.get("dao.proposal.details"), 1, Layout.GROUP_DISTANCE,
proposal.getType(), false);
proposalDisplay.setEditable(false);
proposalDisplay.applyProposalPayload(proposal);
closeButton = addButtonAfterGroup(gridPane, proposalDisplay.incrementAndGetGridRow(), Res.get("shared.close"));
closeButton.setOnAction(e -> doClose());
display();
}
///////////////////////////////////////////////////////////////////////////////////////////
// Protected
///////////////////////////////////////////////////////////////////////////////////////////
@Override
protected void cleanup() {
proposalDisplay.clearForm();
}
@Override
protected void createGridPane() {
super.createGridPane();
gridPane.setPadding(new Insets(-10, 40, 30, 40));
gridPane.getStyleClass().add("grid-pane");
}
}

View file

@ -57,40 +57,47 @@ public class BsqBalanceUtil implements BsqBalanceListener {
public int addGroup(GridPane gridPane, int gridRow) { public int addGroup(GridPane gridPane, int gridRow) {
addTitledGroupBg(gridPane, gridRow, 6, Res.get("shared.balance")); addTitledGroupBg(gridPane, gridRow, 6, Res.get("shared.balance"));
availableBalanceTextField = addLabelTextField(gridPane, gridRow, Res.getWithCol("shared.availableBsqBalance"), availableBalanceTextField = addLabelTextField(gridPane, gridRow,
Res.getWithCol("dao.availableBsqBalance"),
Layout.FIRST_ROW_DISTANCE).second; Layout.FIRST_ROW_DISTANCE).second;
availableBalanceTextField.setMouseTransparent(false); availableBalanceTextField.setMouseTransparent(false);
availableNonBsqBalanceTextField = addLabelTextField(gridPane, ++gridRow, Res.getWithCol("shared.availableNonBsqBalance")).second; availableNonBsqBalanceTextField = addLabelTextField(gridPane, ++gridRow,
Res.getWithCol("dao.availableNonBsqBalance")).second;
availableNonBsqBalanceTextField.setMouseTransparent(false); availableNonBsqBalanceTextField.setMouseTransparent(false);
unverifiedBalanceTextField = addLabelTextField(gridPane, ++gridRow, Res.getWithCol("shared.unverifiedBsqBalance")).second; unverifiedBalanceTextField = addLabelTextField(gridPane, ++gridRow,
Res.getWithCol("dao.unverifiedBsqBalance")).second;
unverifiedBalanceTextField.setMouseTransparent(false); unverifiedBalanceTextField.setMouseTransparent(false);
lockedForVoteBalanceTextField = addLabelTextField(gridPane, ++gridRow, Res.getWithCol("shared" + lockedForVoteBalanceTextField = addLabelTextField(gridPane, ++gridRow,
".lockedForVoteBalance")).second; Res.getWithCol("dao.lockedForVoteBalance")).second;
lockedForVoteBalanceTextField.setMouseTransparent(false); lockedForVoteBalanceTextField.setMouseTransparent(false);
lockedInBondsBalanceTextField = addLabelTextField(gridPane, ++gridRow, Res.getWithCol( lockedInBondsBalanceTextField = addLabelTextField(gridPane, ++gridRow, Res.getWithCol(
"shared.lockedInBonds")).second; "dao.lockedInBonds")).second;
lockedInBondsBalanceTextField.setMouseTransparent(false); lockedInBondsBalanceTextField.setMouseTransparent(false);
// TODO add unlockingBondsBalanceTextField // TODO add unlockingBondsBalanceTextField
totalBalanceTextField = addLabelTextField(gridPane, ++gridRow, Res.getWithCol("shared.totalBsqBalance")).second; totalBalanceTextField = addLabelTextField(gridPane, ++gridRow,
Res.getWithCol("dao.totalBsqBalance")).second;
totalBalanceTextField.setMouseTransparent(false); totalBalanceTextField.setMouseTransparent(false);
return gridRow; return gridRow;
} }
public int addBondBalanceGroup(GridPane gridPane, int gridRow) { public int addBondBalanceGroup(GridPane gridPane, int gridRow) {
addTitledGroupBg(gridPane, ++gridRow, 2, Res.get("dao.bonding.dashboard.bondsHeadline"), Layout.GROUP_DISTANCE); addTitledGroupBg(gridPane, ++gridRow, 2,
Res.get("dao.bonding.dashboard.bondsHeadline"), Layout.GROUP_DISTANCE);
lockupAmountTextField = addLabelTextField(gridPane, gridRow, Res.get("dao.bonding.dashboard.lockupAmount"), lockupAmountTextField = addLabelTextField(gridPane, gridRow,
Res.get("dao.bonding.dashboard.lockupAmount"),
Layout.FIRST_ROW_DISTANCE + Layout.GROUP_DISTANCE).second; Layout.FIRST_ROW_DISTANCE + Layout.GROUP_DISTANCE).second;
lockupAmountTextField.setMouseTransparent(false); lockupAmountTextField.setMouseTransparent(false);
unlockingAmountTextField = addLabelTextField(gridPane, ++gridRow, Res.get("dao.bonding.dashboard.unlockingAmount")).second; unlockingAmountTextField = addLabelTextField(gridPane, ++gridRow,
Res.get("dao.bonding.dashboard.unlockingAmount")).second;
unlockingAmountTextField.setMouseTransparent(false); unlockingAmountTextField.setMouseTransparent(false);
return gridRow; return gridRow;

View file

@ -17,7 +17,7 @@
package bisq.desktop.main.dao.wallet.tx; package bisq.desktop.main.dao.wallet.tx;
import bisq.desktop.main.dao.TxConfidenceListItem; import bisq.desktop.components.TxConfidenceListItem;
import bisq.core.btc.wallet.BsqWalletService; import bisq.core.btc.wallet.BsqWalletService;
import bisq.core.btc.wallet.BtcWalletService; import bisq.core.btc.wallet.BtcWalletService;

View file

@ -873,7 +873,7 @@ public abstract class MutableOfferViewModel<M extends MutableOfferDataModel> ext
if (dataModel.isCurrencyForMakerFeeBtc()) if (dataModel.isCurrencyForMakerFeeBtc())
return GUIUtil.getPercentage(makerFeeAsCoin, dataModel.getAmount().get(), btcFormatter); return GUIUtil.getPercentage(makerFeeAsCoin, dataModel.getAmount().get(), btcFormatter);
else else
return Res.get("shared.paidWithBsq"); return Res.get("dao.paidWithBsq");
} }
public String getTotalToPayInfo() { public String getTotalToPayInfo() {

View file

@ -609,7 +609,7 @@ class TakeOfferViewModel extends ActivatableWithDataModel<TakeOfferDataModel> im
if (dataModel.isCurrencyForTakerFeeBtc()) if (dataModel.isCurrencyForTakerFeeBtc())
return GUIUtil.getPercentage(makerFeeAsCoin, dataModel.getAmount().get(), btcFormatter); return GUIUtil.getPercentage(makerFeeAsCoin, dataModel.getAmount().get(), btcFormatter);
else else
return Res.get("shared.paidWithBsq"); return Res.get("dao.paidWithBsq");
} }
public String getTotalToPayInfo() { public String getTotalToPayInfo() {