diff --git a/src/main/java/io/bitsquare/gui/ViewCB.java b/src/main/java/io/bitsquare/gui/ViewCB.java index 66db9407ec..fe72339927 100644 --- a/src/main/java/io/bitsquare/gui/ViewCB.java +++ b/src/main/java/io/bitsquare/gui/ViewCB.java @@ -103,5 +103,4 @@ public class ViewCB implements Initializable { "= " + navigationItem); return null; } - } diff --git a/src/main/java/io/bitsquare/gui/main/funds/transactions/TransactionsViewCB.java b/src/main/java/io/bitsquare/gui/main/funds/transactions/TransactionsViewCB.java index c8a299c97f..bcaae5852e 100644 --- a/src/main/java/io/bitsquare/gui/main/funds/transactions/TransactionsViewCB.java +++ b/src/main/java/io/bitsquare/gui/main/funds/transactions/TransactionsViewCB.java @@ -80,14 +80,6 @@ public class TransactionsViewCB extends CachedViewCB { setConfidenceColumnCellFactory(); } - @Override - public void deactivate() { - super.deactivate(); - - for (TransactionsListItem transactionsListItem : transactionsListItems) - transactionsListItem.cleanup(); - } - @Override public void activate() { super.activate(); @@ -100,10 +92,12 @@ public class TransactionsViewCB extends CachedViewCB { table.setItems(transactionsListItems); } - @SuppressWarnings("EmptyMethod") @Override - public void terminate() { - super.terminate(); + public void deactivate() { + super.deactivate(); + + for (TransactionsListItem transactionsListItem : transactionsListItems) + transactionsListItem.cleanup(); } diff --git a/src/main/java/io/bitsquare/gui/main/portfolio/PortfolioView.fxml b/src/main/java/io/bitsquare/gui/main/portfolio/PortfolioView.fxml index fcb47a78e4..d1821d98a4 100644 --- a/src/main/java/io/bitsquare/gui/main/portfolio/PortfolioView.fxml +++ b/src/main/java/io/bitsquare/gui/main/portfolio/PortfolioView.fxml @@ -20,12 +20,12 @@ - - - + + + diff --git a/src/main/java/io/bitsquare/gui/main/portfolio/PortfolioViewCB.java b/src/main/java/io/bitsquare/gui/main/portfolio/PortfolioViewCB.java index 9628618e4e..a1054d8ff7 100644 --- a/src/main/java/io/bitsquare/gui/main/portfolio/PortfolioViewCB.java +++ b/src/main/java/io/bitsquare/gui/main/portfolio/PortfolioViewCB.java @@ -48,6 +48,8 @@ public class PortfolioViewCB extends CachedViewCB { private ChangeListener tabChangeListener; @FXML Tab offersTab, openTradesTab, closedTradesTab; + private Parent currentView; + private Tab currentTab; /////////////////////////////////////////////////////////////////////////////////////////// @@ -107,6 +109,7 @@ public class PortfolioViewCB extends CachedViewCB { ((TabPane) root).getSelectionModel().selectedItemProperty().removeListener(tabChangeListener); navigation.removeListener(navigationListener); + currentTab = null; } @SuppressWarnings("EmptyMethod") @@ -122,24 +125,27 @@ public class PortfolioViewCB extends CachedViewCB { @Override protected Initializable loadView(Navigation.Item navigationItem) { + // we want to get activate/deactivate called, so we remove the old view on tab change + if (currentTab != null) + currentTab.setContent(null); + super.loadView(navigationItem); final ViewLoader loader = new ViewLoader(navigationItem); - Parent view = loader.load(); - Tab tab = null; + currentView = loader.load(); switch (navigationItem) { case OFFERS: - tab = offersTab; + currentTab = offersTab; break; case PENDING_TRADES: - tab = openTradesTab; + currentTab = openTradesTab; break; case CLOSED_TRADES: - tab = closedTradesTab; + currentTab = closedTradesTab; break; } - tab.setContent(view); - ((TabPane) root).getSelectionModel().select(tab); + currentTab.setContent(currentView); + ((TabPane) root).getSelectionModel().select(currentTab); Initializable childController = loader.getController(); ((ViewCB) childController).setParent(this);