From c6f1a86ec205e03b6ba8a8fbcf4ab2ca0618c13b Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Fri, 27 Oct 2017 13:55:23 +0200
Subject: [PATCH] Fixed #223 - settings tab is not refreshesd on command
 "switch"

---
 .../commandLine/commands/CommandSwitch.java   |  1 +
 .../ui/controller/Controller.java             |  5 +++
 .../ui/controller/SettingsController.java     | 33 +++++++++++--------
 3 files changed, 25 insertions(+), 14 deletions(-)

diff --git a/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/commandLine/commands/CommandSwitch.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/commandLine/commands/CommandSwitch.java
index 574820322..de02b9ba1 100644
--- a/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/commandLine/commands/CommandSwitch.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/commandLine/commands/CommandSwitch.java
@@ -63,6 +63,7 @@ public class CommandSwitch extends Command
 		
 		LanguageType previousLanguage = bundle.getParentController().getSettings().getLanguage();
 		bundle.getParentController().setSettings(FileHelper.loadSettings());
+		bundle.getParentController().getSettingsController().prefill();
 		RestartHandler restartHandler = new RestartHandler(bundle.getParentController());
 		restartHandler.handleRestart(previousLanguage);
 		bundle.getController().print(bundle.getString("switch.success"));
diff --git a/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/Controller.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/Controller.java
index c6a43ee97..25da0855b 100644
--- a/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/Controller.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/Controller.java
@@ -419,6 +419,11 @@ public class Controller extends BaseController
 	{
 		return updater;
 	}
+	
+	public SettingsController getSettingsController()
+	{
+		return settingsController;
+	}
 
 	public void setFilterSettings(FilterSettings filterSettings)
 	{
diff --git a/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/SettingsController.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/SettingsController.java
index 13a76e2a4..00ca4a417 100644
--- a/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/SettingsController.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/SettingsController.java
@@ -96,6 +96,25 @@ public class SettingsController implements Styleable
 		previousLanguage = LanguageType.ENGLISH;
 		checkboxEnableAutoUpdate.setSelected(true);
 		
+		prefill();
+		
+		applyStyle();
+
+		textFieldURL.setPromptText(Localization.getString(Strings.URL_PLACEHOLDER));
+		textFieldCurrency.setPromptText(Localization.getString(Strings.CURRENCY_PLACEHOLDER));
+		textAreaTrustedHosts.setPromptText(Localization.getString(Strings.TRUSTED_HOSTS_PLACEHOLDER));
+
+		ToggleGroup toggleGroup = new ToggleGroup();
+		radioButtonRestActivated.setToggleGroup(toggleGroup);
+		radioButtonRestDeactivated.setToggleGroup(toggleGroup);
+		
+		hboxSettings.prefWidthProperty().bind(scrollPane.widthProperty().subtract(25));
+		
+		refreshLabelsUpdate();
+	}
+	
+	public void prefill()
+	{
 		if(controller.getSettings().isComplete())
 		{
 			textFieldURL.setText(controller.getSettings().getUrl());
@@ -124,20 +143,6 @@ public class SettingsController implements Styleable
 		{
 			radioButtonRestDeactivated.setSelected(true);
 		}
-		
-		applyStyle();
-
-		textFieldURL.setPromptText(Localization.getString(Strings.URL_PLACEHOLDER));
-		textFieldCurrency.setPromptText(Localization.getString(Strings.CURRENCY_PLACEHOLDER));
-		textAreaTrustedHosts.setPromptText(Localization.getString(Strings.TRUSTED_HOSTS_PLACEHOLDER));
-
-		ToggleGroup toggleGroup = new ToggleGroup();
-		radioButtonRestActivated.setToggleGroup(toggleGroup);
-		radioButtonRestDeactivated.setToggleGroup(toggleGroup);
-		
-		hboxSettings.prefWidthProperty().bind(scrollPane.widthProperty().subtract(25));
-		
-		refreshLabelsUpdate();
 	}
 	
 	private void refreshLabelsUpdate()
-- 
GitLab