From 787674538296c09f7e3b2a86974091c426a61592 Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Tue, 7 Nov 2017 17:45:15 +0100
Subject: [PATCH] Fixed #227 - language in settings tab is not prefilled if
 settings are not complete

---
 .../ui/controller/SettingsController.java     | 34 ++++++++-----------
 .../ui/controller/SplashScreenController.java |  2 --
 .../budgetmaster/logic/Settings.java          |  6 ++--
 .../budgetmaster/logic/utils/FileHelper.java  |  2 +-
 4 files changed, 19 insertions(+), 25 deletions(-)

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 00ca4a417..c481192e7 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
@@ -119,30 +119,26 @@ public class SettingsController implements Styleable
 		{
 			textFieldURL.setText(controller.getSettings().getUrl());
 			textFieldSecret.setText("******");
-			textFieldCurrency.setText(controller.getSettings().getCurrency());
-			if(controller.getSettings().isRestActivated())
-			{
-				radioButtonRestActivated.setSelected(true);
-			}
-			else
-			{
-				radioButtonRestDeactivated.setSelected(true);
-			}
-			setTextAreaTrustedHosts(controller.getSettings().getTrustedHosts());
-			
-			if(controller.getSettings().getLanguage() != null)
-			{
-				LanguageType language = controller.getSettings().getLanguage();
-				comboBoxLanguage.setValue(language);
-				previousLanguage = language;
-			}
-			
-			checkboxEnableAutoUpdate.setSelected(controller.getSettings().isAutoUpdateCheckEnabled());
+			textFieldCurrency.setText(controller.getSettings().getCurrency());		
+		}
+		
+		if(controller.getSettings().isRestActivated())
+		{
+			radioButtonRestActivated.setSelected(true);
 		}
 		else
 		{
 			radioButtonRestDeactivated.setSelected(true);
+		}		
+		setTextAreaTrustedHosts(controller.getSettings().getTrustedHosts());
+		if(controller.getSettings().getLanguage() != null)
+		{
+			LanguageType language = controller.getSettings().getLanguage();
+			comboBoxLanguage.setValue(language);
+			previousLanguage = language;
 		}
+		
+		checkboxEnableAutoUpdate.setSelected(controller.getSettings().isAutoUpdateCheckEnabled());
 	}
 	
 	private void refreshLabelsUpdate()
diff --git a/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/SplashScreenController.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/SplashScreenController.java
index 930e2539f..28071b535 100644
--- a/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/SplashScreenController.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/SplashScreenController.java
@@ -6,7 +6,6 @@ import de.deadlocker8.budgetmaster.logic.Settings;
 import de.deadlocker8.budgetmaster.logic.utils.Colors;
 import de.deadlocker8.budgetmaster.logic.utils.FileHelper;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
-import de.deadlocker8.budgetmaster.logic.utils.LanguageType;
 import de.deadlocker8.budgetmaster.logic.utils.Strings;
 import de.deadlocker8.budgetmasterclient.ui.Styleable;
 import de.deadlocker8.budgetmasterclient.ui.customAlert.CustomAlertController;
@@ -98,7 +97,6 @@ public class SplashScreenController extends BaseController implements Styleable
 		if(settings == null)
 		{	
 			settings = new Settings();
-			settings.setLanguage(LanguageType.ENGLISH);
 			//first start of budgetmaster
 			Platform.runLater(() -> {
 				AlertGenerator.showAlert(AlertType.INFORMATION, 
diff --git a/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/Settings.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/Settings.java
index aede2c726..a0dbe9f2a 100644
--- a/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/Settings.java
+++ b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/Settings.java
@@ -22,10 +22,10 @@ public class Settings
 	private String url;
 	private String secret;
 	private String currency;
-	private boolean restActivated;
+	private boolean restActivated = true;
 	private ArrayList<String> trustedHosts;
-	private LanguageType language;
-	private boolean autoUpdateCheckEnabled;
+	private LanguageType language = LanguageType.ENGLISH;
+	private boolean autoUpdateCheckEnabled = true;
 	
 	public Settings()
 	{
diff --git a/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/utils/FileHelper.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/utils/FileHelper.java
index 1f4353564..e5fc1cdd2 100644
--- a/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/utils/FileHelper.java
+++ b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/utils/FileHelper.java
@@ -34,7 +34,7 @@ public class FileHelper
 			reader.close();
 			return settings;
 		}
-		catch(IOException e)
+		catch(Exception e)
 		{
 			return null;
 		}
-- 
GitLab