From 9071ecf5a845cf13db39dc9f7e21ef8f20ea38ab Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Sat, 1 Jul 2017 15:25:52 +0200
Subject: [PATCH] -worker shutdown on close request -moved "no settings"-alert
 after disabling tabs -fixed bug in saving of client secret -preselect rest
 radio buttons if no settings found

---
 .../budgetmaster/main/_de.properties          |  4 ++--
 .../budgetmaster/ui/Controller.java           |  7 +++++-
 .../budgetmaster/ui/SettingsController.java   | 24 ++++++++++++++++---
 .../budgetmasterserver/main/_de.properties    |  4 ++--
 4 files changed, 31 insertions(+), 8 deletions(-)

diff --git a/src/de/deadlocker8/budgetmaster/main/_de.properties b/src/de/deadlocker8/budgetmaster/main/_de.properties
index 888ab9545..aa5fe6ec9 100644
--- a/src/de/deadlocker8/budgetmaster/main/_de.properties
+++ b/src/de/deadlocker8/budgetmaster/main/_de.properties
@@ -1,6 +1,6 @@
 app.name=BudgetMaster
-version.code=3
-version.name=1.2.0
+version.code=4
+version.name=1.3.0_alpha
 version.date=25.05.17
 author=Robert Goldmann
 
diff --git a/src/de/deadlocker8/budgetmaster/ui/Controller.java b/src/de/deadlocker8/budgetmaster/ui/Controller.java
index f7b1ee0fd..48cc6b9e0 100644
--- a/src/de/deadlocker8/budgetmaster/ui/Controller.java
+++ b/src/de/deadlocker8/budgetmaster/ui/Controller.java
@@ -76,6 +76,11 @@ public class Controller
 		this.bundle = bundle;
 		this.settings = settings;
 		
+		stage.setOnCloseRequest((event)->{
+			Worker.shutdown();
+			System.exit(0);
+		});
+		
 		currentDate = DateTime.now();
 		labelMonth.setText(currentDate.toString("MMMM yyyy"));
 		
@@ -149,9 +154,9 @@ public class Controller
 		if(!settings.isComplete())
 		{			
 			Platform.runLater(() -> {
-				AlertGenerator.showAlert(AlertType.INFORMATION, "Hinweis", "", "Vor der ersten Benutzung musst du deine Serverdaten eingeben.", icon, stage, null, false);
 				toggleAllTabsExceptSettings(true);
 				tabPane.getSelectionModel().select(tabSettings);
+				AlertGenerator.showAlert(AlertType.INFORMATION, "Hinweis", "", "Vor der ersten Benutzung musst du deine Serverdaten eingeben.", icon, stage, null, false);
 			});
 		}
 		else
diff --git a/src/de/deadlocker8/budgetmaster/ui/SettingsController.java b/src/de/deadlocker8/budgetmaster/ui/SettingsController.java
index cef54faba..265c3abf5 100644
--- a/src/de/deadlocker8/budgetmaster/ui/SettingsController.java
+++ b/src/de/deadlocker8/budgetmaster/ui/SettingsController.java
@@ -61,6 +61,7 @@ public class SettingsController
 		this.controller = controller;
 		
 		textFieldClientSecret.setText("******");
+		radioButtonRestDeactivated.setSelected(true);
 		
 		if(controller.getSettings().isComplete())
 		{
@@ -162,6 +163,7 @@ public class SettingsController
 		{
 			if(!clientSecret.equals("******"))
 			{
+				System.out.println(clientSecret);
 				controller.getSettings().setClientSecret(HashUtils.hash(clientSecret, Helpers.SALT));
 			}
 			
@@ -177,9 +179,25 @@ public class SettingsController
 		else
 		{
 			Settings settings = new Settings();
-			settings.setClientSecret(HashUtils.hash(clientSecret, Helpers.SALT));
-			settings.setUrl(url);
-			settings.setSecret(HashUtils.hash(secret, Helpers.SALT));
+			
+			if(!clientSecret.equals("******"))
+			{
+				settings.setClientSecret(HashUtils.hash(clientSecret, Helpers.SALT));
+			}
+			else
+			{
+				settings.setClientSecret(controller.getSettings().getClientSecret());
+			}
+			
+			if(!secret.equals("******"))
+			{
+				settings.setSecret(HashUtils.hash(secret, Helpers.SALT));
+			}
+			else
+			{
+				settings.setSecret(controller.getSettings().getSecret());
+			}
+			settings.setUrl(url);			
 			settings.setCurrency(currency);
 			settings.setRestActivated(radioButtonRestActivated.isSelected());
 			settings.setTrustedHosts(trustedHosts);
diff --git a/src/de/deadlocker8/budgetmasterserver/main/_de.properties b/src/de/deadlocker8/budgetmasterserver/main/_de.properties
index a3d846700..8f72a12b5 100644
--- a/src/de/deadlocker8/budgetmasterserver/main/_de.properties
+++ b/src/de/deadlocker8/budgetmasterserver/main/_de.properties
@@ -1,5 +1,5 @@
 app.name=BudgetMasterServer
-version.code=3
-version.name=1.2.0
+version.code=4
+version.name=1.3.0_alpha
 version.date=25.05.17
 author=Robert Goldmann
\ No newline at end of file
-- 
GitLab