rename preferences to settings

This commit is contained in:
Craig Raw
2025-01-31 11:41:20 +02:00
parent 8b47701dbe
commit 8f438cd0bc
28 changed files with 113 additions and 115 deletions
@@ -23,8 +23,8 @@ import com.sparrowwallet.sparrow.io.bbqr.BBQR;
import com.sparrowwallet.sparrow.io.bbqr.BBQRType;
import com.sparrowwallet.sparrow.net.ElectrumServer;
import com.sparrowwallet.sparrow.net.ServerType;
import com.sparrowwallet.sparrow.preferences.PreferenceGroup;
import com.sparrowwallet.sparrow.preferences.PreferencesDialog;
import com.sparrowwallet.sparrow.settings.SettingsGroup;
import com.sparrowwallet.sparrow.settings.SettingsDialog;
import com.sparrowwallet.sparrow.paynym.PayNymDialog;
import com.sparrowwallet.sparrow.transaction.TransactionController;
import com.sparrowwallet.sparrow.transaction.TransactionData;
@@ -456,11 +456,11 @@ public class AppController implements Initializable {
OsType osType = OsType.getCurrent();
if(osType == OsType.MACOS) {
MenuToolkit tk = MenuToolkit.toolkit();
MenuItem preferences = new MenuItem("Settings...");
preferences.setOnAction(this::openPreferences);
preferences.setAccelerator(new KeyCodeCombination(KeyCode.COMMA, KeyCombination.META_DOWN));
MenuItem settings = new MenuItem("Settings...");
settings.setOnAction(this::openSettings);
settings.setAccelerator(new KeyCodeCombination(KeyCode.COMMA, KeyCombination.META_DOWN));
Menu defaultApplicationMenu = new Menu("Apple", null, tk.createAboutMenuItem(SparrowWallet.APP_NAME, getAboutStage()), new SeparatorMenuItem(),
preferences, new SeparatorMenuItem(),
settings, new SeparatorMenuItem(),
tk.createHideMenuItem(SparrowWallet.APP_NAME), tk.createHideOthersMenuItem(), tk.createUnhideAllMenuItem(), new SeparatorMenuItem(),
tk.createQuitMenuItem(SparrowWallet.APP_NAME));
tk.setApplicationMenu(defaultApplicationMenu);
@@ -498,7 +498,7 @@ public class AppController implements Initializable {
welcomeDialog.initOwner(rootStack.getScene().getWindow());
Optional<Mode> optionalMode = welcomeDialog.showAndWait();
if(optionalMode.isPresent() && optionalMode.get().equals(Mode.ONLINE)) {
openPreferences(PreferenceGroup.SERVER);
openSettings(SettingsGroup.SERVER);
}
}
@@ -1387,18 +1387,18 @@ public class AppController implements Initializable {
}
}
public void openPreferences(ActionEvent event) {
openPreferences(PreferenceGroup.GENERAL);
public void openSettings(ActionEvent event) {
openSettings(SettingsGroup.GENERAL);
}
public void openServerPreferences(ActionEvent event) {
openPreferences(PreferenceGroup.SERVER);
public void openServerSettings(ActionEvent event) {
openSettings(SettingsGroup.SERVER);
}
private void openPreferences(PreferenceGroup preferenceGroup) {
PreferencesDialog preferencesDialog = new PreferencesDialog(preferenceGroup);
preferencesDialog.initOwner(rootStack.getScene().getWindow());
preferencesDialog.showAndWait();
private void openSettings(SettingsGroup settingsGroup) {
SettingsDialog settingsDialog = new SettingsDialog(settingsGroup);
settingsDialog.initOwner(rootStack.getScene().getWindow());
settingsDialog.showAndWait();
configureSwitchServer();
serverToggle.setDisable(!Config.get().hasServer());
}
@@ -2758,8 +2758,8 @@ public class AppController implements Initializable {
@Subscribe
public void connectionFailed(ConnectionFailedEvent event) {
String status = CONNECTION_FAILED_PREFIX + event.getMessage();
Hyperlink hyperlink = new Hyperlink("Server Preferences");
hyperlink.setOnAction(this::openServerPreferences);
Hyperlink hyperlink = new Hyperlink("Server Settings");
hyperlink.setOnAction(this::openServerSettings);
statusUpdated(new StatusEvent(status, hyperlink));
serverToggleStopAnimation();
setTorIcon();
@@ -10,8 +10,8 @@ import com.sparrowwallet.sparrow.io.Config;
import com.sparrowwallet.sparrow.io.Storage;
import com.sparrowwallet.sparrow.net.PublicElectrumServer;
import com.sparrowwallet.sparrow.net.ServerType;
import com.sparrowwallet.sparrow.preferences.PreferenceGroup;
import com.sparrowwallet.sparrow.preferences.PreferencesDialog;
import com.sparrowwallet.sparrow.settings.SettingsGroup;
import com.sparrowwallet.sparrow.settings.SettingsDialog;
import javafx.application.Application;
import javafx.scene.text.Font;
import javafx.stage.Stage;
@@ -57,8 +57,8 @@ public class SparrowDesktop extends Application {
Config.get().setMode(mode);
if(mode.equals(Mode.ONLINE)) {
PreferencesDialog preferencesDialog = new PreferencesDialog(PreferenceGroup.SERVER, true);
Optional<Boolean> optNewWallet = preferencesDialog.showAndWait();
SettingsDialog settingsDialog = new SettingsDialog(SettingsGroup.SERVER, true);
Optional<Boolean> optNewWallet = settingsDialog.showAndWait();
createNewWallet = optNewWallet.isPresent() && optNewWallet.get();
} else if(Network.get() == Network.MAINNET) {
Config.get().setServerType(ServerType.PUBLIC_ELECTRUM_SERVER);
@@ -1178,7 +1178,7 @@ public class ElectrumServer {
if(bwtStartException != null) {
Matcher walletLoadingMatcher = RPC_WALLET_LOADING_PATTERN.matcher(bwtStartException.getMessage());
if(bwtStartException.getMessage().contains("Wallet file not specified")) {
throw new ServerException("Bitcoin Core requires Multi-Wallet to be enabled in the Server Preferences");
throw new ServerException("Bitcoin Core requires Multi-Wallet to be enabled in the Server Settings");
} else if(bwtStartException.getMessage().contains("Upgrade Bitcoin Core to v24 or later for Taproot wallet support")) {
throw new ServerException(bwtStartException.getMessage());
} else if(bwtStartException.getMessage().contains("Wallet file verification failed. Refusing to load database.")) {
@@ -1,5 +0,0 @@
package com.sparrowwallet.sparrow.preferences;
public enum PreferenceGroup {
GENERAL, SERVER;
}
@@ -1,20 +0,0 @@
package com.sparrowwallet.sparrow.preferences;
import com.sparrowwallet.sparrow.io.Config;
import javafx.fxml.Initializable;
public abstract class PreferencesDetailController {
private PreferencesController masterController;
public PreferencesController getMasterController() {
return masterController;
}
void setMasterController(PreferencesController masterController) {
this.masterController = masterController;
}
public void initializeView(Config config) {
}
}
@@ -1,4 +1,4 @@
package com.sparrowwallet.sparrow.preferences;
package com.sparrowwallet.sparrow.settings;
import com.sparrowwallet.drongo.wallet.Wallet;
import com.sparrowwallet.sparrow.AppServices;
@@ -29,8 +29,8 @@ import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
public class GeneralPreferencesController extends PreferencesDetailController {
private static final Logger log = LoggerFactory.getLogger(GeneralPreferencesController.class);
public class GeneralSettingsController extends SettingsDetailController {
private static final Logger log = LoggerFactory.getLogger(GeneralSettingsController.class);
private static final Server CUSTOM_BLOCK_EXPLORER = new Server("http://custom.block.explorer");
@@ -1,4 +1,4 @@
package com.sparrowwallet.sparrow.preferences;
package com.sparrowwallet.sparrow.settings;
import com.sparrowwallet.sparrow.AppServices;
import com.sparrowwallet.sparrow.glyphfont.FontAwesome5;
@@ -1,4 +1,4 @@
package com.sparrowwallet.sparrow.preferences;
package com.sparrowwallet.sparrow.settings;
import com.github.arteam.simplejsonrpc.client.exception.JsonRpcException;
import com.google.common.base.Throwables;
@@ -52,8 +52,8 @@ import java.util.List;
import java.util.Optional;
import java.util.Random;
public class ServerPreferencesController extends PreferencesDetailController {
private static final Logger log = LoggerFactory.getLogger(ServerPreferencesController.class);
public class ServerSettingsController extends SettingsDetailController {
private static final Logger log = LoggerFactory.getLogger(ServerSettingsController.class);
private static final Server MANAGE_ALIASES_SERVER = new Server("tcp://localhost", "Manage Aliases...");
private static final Server SCAN_QR_SERVER = new Server("ssl://localhost", "Scan QR...");
@@ -1,4 +1,4 @@
package com.sparrowwallet.sparrow.preferences;
package com.sparrowwallet.sparrow.settings;
import com.sparrowwallet.sparrow.AppServices;
import com.sparrowwallet.sparrow.io.Config;
@@ -18,14 +18,14 @@ import java.net.URL;
import java.util.Locale;
import java.util.ResourceBundle;
public class PreferencesController implements Initializable {
public class SettingsController implements Initializable {
private Config config;
@FXML
private ToggleGroup preferencesMenu;
private ToggleGroup settingsMenu;
@FXML
private StackPane preferencesPane;
private StackPane settingsPane;
private final BooleanProperty closing = new SimpleBooleanProperty(false);
@@ -42,22 +42,22 @@ public class PreferencesController implements Initializable {
public void initializeView(Config config) {
this.config = config;
preferencesMenu.selectedToggleProperty().addListener((observable, oldValue, selectedToggle) -> {
settingsMenu.selectedToggleProperty().addListener((observable, oldValue, selectedToggle) -> {
if(selectedToggle == null) {
oldValue.setSelected(true);
return;
}
PreferenceGroup preferenceGroup = (PreferenceGroup) selectedToggle.getUserData();
String fxmlName = preferenceGroup.toString().toLowerCase(Locale.ROOT);
SettingsGroup settingsGroup = (SettingsGroup) selectedToggle.getUserData();
String fxmlName = settingsGroup.toString().toLowerCase(Locale.ROOT);
setPreferencePane(fxmlName);
});
}
public void selectGroup(PreferenceGroup preferenceGroup) {
for(Toggle toggle : preferencesMenu.getToggles()) {
if(toggle.getUserData().equals(preferenceGroup)) {
Platform.runLater(() -> preferencesMenu.selectToggle(toggle));
public void selectGroup(SettingsGroup settingsGroup) {
for(Toggle toggle : settingsMenu.getToggles()) {
if(toggle.getUserData().equals(settingsGroup)) {
Platform.runLater(() -> settingsMenu.selectToggle(toggle));
return;
}
}
@@ -76,17 +76,17 @@ public class PreferencesController implements Initializable {
}
FXMLLoader setPreferencePane(String fxmlName) {
preferencesPane.getChildren().removeAll(preferencesPane.getChildren());
settingsPane.getChildren().removeAll(settingsPane.getChildren());
try {
FXMLLoader preferencesDetailLoader = new FXMLLoader(AppServices.class.getResource("preferences/" + fxmlName + ".fxml"));
Node preferenceGroupNode = preferencesDetailLoader.load();
PreferencesDetailController controller = preferencesDetailLoader.getController();
FXMLLoader settingsDetailLoader = new FXMLLoader(AppServices.class.getResource("settings/" + fxmlName + ".fxml"));
Node preferenceGroupNode = settingsDetailLoader.load();
SettingsDetailController controller = settingsDetailLoader.getController();
controller.setMasterController(this);
controller.initializeView(config);
preferencesPane.getChildren().add(preferenceGroupNode);
settingsPane.getChildren().add(preferenceGroupNode);
return preferencesDetailLoader;
return settingsDetailLoader;
} catch (IOException e) {
throw new IllegalStateException("Can't find pane", e);
}
@@ -0,0 +1,19 @@
package com.sparrowwallet.sparrow.settings;
import com.sparrowwallet.sparrow.io.Config;
public abstract class SettingsDetailController {
private SettingsController masterController;
public SettingsController getMasterController() {
return masterController;
}
void setMasterController(SettingsController masterController) {
this.masterController = masterController;
}
public void initializeView(Config config) {
}
}
@@ -1,10 +1,9 @@
package com.sparrowwallet.sparrow.preferences;
package com.sparrowwallet.sparrow.settings;
import com.sparrowwallet.sparrow.AppServices;
import com.sparrowwallet.sparrow.EventManager;
import com.sparrowwallet.sparrow.event.RequestConnectEvent;
import com.sparrowwallet.sparrow.io.Config;
import com.sparrowwallet.sparrow.net.ElectrumServer;
import javafx.fxml.FXMLLoader;
import javafx.scene.control.ButtonBar;
import javafx.scene.control.ButtonType;
@@ -14,28 +13,28 @@ import org.controlsfx.tools.Borders;
import java.io.IOException;
public class PreferencesDialog extends Dialog<Boolean> {
public PreferencesDialog() {
public class SettingsDialog extends Dialog<Boolean> {
public SettingsDialog() {
this(null);
}
public PreferencesDialog(PreferenceGroup initialGroup) {
public SettingsDialog(SettingsGroup initialGroup) {
this(initialGroup, false);
}
public PreferencesDialog(PreferenceGroup initialGroup, boolean initialSetup) {
public SettingsDialog(SettingsGroup initialGroup, boolean initialSetup) {
final DialogPane dialogPane = getDialogPane();
AppServices.setStageIcon(dialogPane.getScene().getWindow());
try {
FXMLLoader preferencesLoader = new FXMLLoader(AppServices.class.getResource("preferences/preferences.fxml"));
dialogPane.setContent(Borders.wrap(preferencesLoader.load()).emptyBorder().buildAll());
PreferencesController preferencesController = preferencesLoader.getController();
preferencesController.initializeView(Config.get());
FXMLLoader settingsLoader = new FXMLLoader(AppServices.class.getResource("settings/settings.fxml"));
dialogPane.setContent(Borders.wrap(settingsLoader.load()).emptyBorder().buildAll());
SettingsController settingsController = settingsLoader.getController();
settingsController.initializeView(Config.get());
if(initialGroup != null) {
preferencesController.selectGroup(initialGroup);
settingsController.selectGroup(initialGroup);
} else {
preferencesController.selectGroup(PreferenceGroup.GENERAL);
settingsController.selectGroup(SettingsGroup.GENERAL);
}
final ButtonType closeButtonType = new javafx.scene.control.ButtonType("Close", ButtonBar.ButtonData.CANCEL_CLOSE);
@@ -51,10 +50,10 @@ public class PreferencesDialog extends Dialog<Boolean> {
dialogPane.setMinHeight(dialogPane.getPrefHeight());
AppServices.moveToActiveWindowScreen(this);
preferencesController.reconnectOnClosingProperty().set(AppServices.isConnecting() || AppServices.isConnected());
settingsController.reconnectOnClosingProperty().set(AppServices.isConnecting() || AppServices.isConnected());
setOnCloseRequest(event -> {
preferencesController.closingProperty().set(true);
if(preferencesController.isReconnectOnClosing() && !(AppServices.isConnecting() || AppServices.isConnected())) {
settingsController.closingProperty().set(true);
if(settingsController.isReconnectOnClosing() && !(AppServices.isConnecting() || AppServices.isConnected())) {
EventManager.get().post(new RequestConnectEvent());
}
});
@@ -0,0 +1,5 @@
package com.sparrowwallet.sparrow.settings;
public enum SettingsGroup {
GENERAL, SERVER;
}
@@ -14,9 +14,9 @@ import com.sparrowwallet.sparrow.event.StorageEvent;
import com.sparrowwallet.sparrow.event.TimedEvent;
import com.sparrowwallet.sparrow.io.Config;
import com.sparrowwallet.sparrow.io.Storage;
import com.sparrowwallet.sparrow.terminal.preferences.GeneralDialog;
import com.sparrowwallet.sparrow.terminal.preferences.ServerStatusDialog;
import com.sparrowwallet.sparrow.terminal.preferences.ServerTypeDialog;
import com.sparrowwallet.sparrow.terminal.settings.GeneralDialog;
import com.sparrowwallet.sparrow.terminal.settings.ServerStatusDialog;
import com.sparrowwallet.sparrow.terminal.settings.ServerTypeDialog;
import com.sparrowwallet.sparrow.terminal.wallet.Bip39Dialog;
import com.sparrowwallet.sparrow.terminal.wallet.LoadWallet;
import com.sparrowwallet.sparrow.terminal.wallet.WatchOnlyDialog;
@@ -71,9 +71,9 @@ public class MasterActionListBox extends ActionListBox {
builder.build().showDialog(SparrowTerminal.get().getGui());
});
addItem("Preferences", () -> {
addItem("Settings", () -> {
new ActionListDialogBuilder()
.setTitle("Preferences")
.setTitle("Settings")
.addAction("General", () -> {
GeneralDialog generalDialog = new GeneralDialog();
generalDialog.showDialog(sparrowTerminal.getGui());
@@ -1,4 +1,4 @@
package com.sparrowwallet.sparrow.terminal.preferences;
package com.sparrowwallet.sparrow.terminal.settings;
import com.googlecode.lanterna.TerminalSize;
import com.googlecode.lanterna.gui2.*;
@@ -1,4 +1,4 @@
package com.sparrowwallet.sparrow.terminal.preferences;
package com.sparrowwallet.sparrow.terminal.settings;
import com.googlecode.lanterna.TerminalSize;
import com.googlecode.lanterna.gui2.*;
@@ -41,7 +41,7 @@ public class GeneralDialog extends DialogWindow {
};
public GeneralDialog() {
super("General Preferences");
super("General Settings");
setHints(List.of(Hint.CENTERED));
@@ -1,4 +1,4 @@
package com.sparrowwallet.sparrow.terminal.preferences;
package com.sparrowwallet.sparrow.terminal.settings;
import com.googlecode.lanterna.TerminalSize;
import com.googlecode.lanterna.gui2.*;
@@ -1,4 +1,4 @@
package com.sparrowwallet.sparrow.terminal.preferences;
package com.sparrowwallet.sparrow.terminal.settings;
import com.googlecode.lanterna.TerminalSize;
import com.googlecode.lanterna.gui2.*;
@@ -1,4 +1,4 @@
package com.sparrowwallet.sparrow.terminal.preferences;
package com.sparrowwallet.sparrow.terminal.settings;
import com.google.common.net.HostAndPort;
import com.googlecode.lanterna.TerminalSize;
@@ -1,4 +1,4 @@
package com.sparrowwallet.sparrow.terminal.preferences;
package com.sparrowwallet.sparrow.terminal.settings;
import com.googlecode.lanterna.TerminalSize;
import com.googlecode.lanterna.gui2.*;
@@ -17,7 +17,7 @@ public class ServerStatusDialog extends DialogWindow {
private final ComboBox<String> connect;
public ServerStatusDialog() {
super("Server Preferences");
super("Server Settings");
setHints(List.of(Hint.CENTERED));
@@ -1,4 +1,4 @@
package com.sparrowwallet.sparrow.terminal.preferences;
package com.sparrowwallet.sparrow.terminal.settings;
import com.google.common.eventbus.Subscribe;
import com.googlecode.lanterna.TerminalSize;
@@ -1,4 +1,4 @@
package com.sparrowwallet.sparrow.terminal.preferences;
package com.sparrowwallet.sparrow.terminal.settings;
import com.googlecode.lanterna.TerminalSize;
import com.googlecode.lanterna.gui2.*;
@@ -1,4 +1,4 @@
package com.sparrowwallet.sparrow.terminal.preferences;
package com.sparrowwallet.sparrow.terminal.settings;
import com.google.common.net.HostAndPort;
import com.googlecode.lanterna.TerminalSize;