diff --git a/src/main/java/com/sparrowwallet/sparrow/AppController.java b/src/main/java/com/sparrowwallet/sparrow/AppController.java index 382adc02..b396bbe1 100644 --- a/src/main/java/com/sparrowwallet/sparrow/AppController.java +++ b/src/main/java/com/sparrowwallet/sparrow/AppController.java @@ -230,6 +230,9 @@ public class AppController implements Initializable { onlineProperty().addListener((observable, oldValue, newValue) -> { Platform.runLater(() -> setServerToggleTooltip(getCurrentBlockHeight())); }); + serverToggle.addEventHandler(MouseEvent.MOUSE_CLICKED, event -> { + Config.get().setMode(serverToggle.isSelected() ? Mode.ONLINE : Mode.OFFLINE); + }); openTransactionIdItem.disableProperty().bind(onlineProperty().not()); } diff --git a/src/main/java/com/sparrowwallet/sparrow/AppServices.java b/src/main/java/com/sparrowwallet/sparrow/AppServices.java index 812523d5..5f75fdbb 100644 --- a/src/main/java/com/sparrowwallet/sparrow/AppServices.java +++ b/src/main/java/com/sparrowwallet/sparrow/AppServices.java @@ -84,7 +84,6 @@ public class AppServices { private final ChangeListener onlineServicesListener = new ChangeListener<>() { @Override public void changed(ObservableValue observable, Boolean oldValue, Boolean online) { - Config.get().setMode(online ? Mode.ONLINE : Mode.OFFLINE); if(online) { restartService(connectionService); diff --git a/src/main/java/com/sparrowwallet/sparrow/MainApp.java b/src/main/java/com/sparrowwallet/sparrow/MainApp.java index db230679..83213f8e 100644 --- a/src/main/java/com/sparrowwallet/sparrow/MainApp.java +++ b/src/main/java/com/sparrowwallet/sparrow/MainApp.java @@ -62,7 +62,7 @@ public class MainApp extends Application { } } - if(Config.get().getServerType() == null) { + if(Config.get().getServerType() == null && Config.get().getCoreServer() == null && Config.get().getElectrumServer() != null) { Config.get().setServerType(ServerType.ELECTRUM_SERVER); } diff --git a/src/main/java/com/sparrowwallet/sparrow/preferences/ServerPreferencesController.java b/src/main/java/com/sparrowwallet/sparrow/preferences/ServerPreferencesController.java index fad6995f..c5af5d14 100644 --- a/src/main/java/com/sparrowwallet/sparrow/preferences/ServerPreferencesController.java +++ b/src/main/java/com/sparrowwallet/sparrow/preferences/ServerPreferencesController.java @@ -5,6 +5,7 @@ import com.google.common.net.HostAndPort; import com.sparrowwallet.drongo.Network; import com.sparrowwallet.sparrow.AppServices; import com.sparrowwallet.sparrow.EventManager; +import com.sparrowwallet.sparrow.Mode; import com.sparrowwallet.sparrow.control.TextFieldValidator; import com.sparrowwallet.sparrow.control.UnlabeledToggleSwitch; import com.sparrowwallet.sparrow.event.*; @@ -371,6 +372,7 @@ public class ServerPreferencesController extends PreferencesDetailController { ConnectionEvent connectionEvent = (ConnectionEvent)connectionService.getValue(); showConnectionSuccess(connectionEvent.getServerVersion(), connectionEvent.getServerBanner()); getMasterController().reconnectOnClosingProperty().set(true); + Config.get().setMode(Mode.ONLINE); connectionService.cancel(); }); connectionService.setOnFailed(workerStateEvent -> {