From f9850f16dd676e8a845c42634ed9f497cccfa42e Mon Sep 17 00:00:00 2001
From: Adriaan Renting <renting@astron.nl>
Date: Wed, 18 May 2016 09:47:57 +0000
Subject: [PATCH] Task #9398: Small bugfix for when saving settings files.

---
 SAS/Scheduler/src/Controller.cpp  | 18 +++++++++++++-----
 SAS/Scheduler/src/DataHandler.cpp | 10 ++++++----
 2 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/SAS/Scheduler/src/Controller.cpp b/SAS/Scheduler/src/Controller.cpp
index 5993c92f810..c93933922fd 100644
--- a/SAS/Scheduler/src/Controller.cpp
+++ b/SAS/Scheduler/src/Controller.cpp
@@ -1191,11 +1191,19 @@ bool Controller::updateProjects(void) {
 void Controller::saveSettings(void) {
 	QString filename = gui->fileDialog(tr("Save Settings"), "set", tr("Settings files (*.set)"),1);
 	if (!filename.isEmpty()) {
-		itsDataHandler->saveSettings(filename);
-		//set status string
-		std::string statStr = "Settings saved to file ";
-		statStr += filename.toStdString();
-		gui->setStatusText(statStr.c_str());
+        if (itsDataHandler->saveSettings(filename))
+        {
+            //set status string
+            std::string statStr = "Settings saved to file ";
+            statStr += filename.toStdString();
+            gui->setStatusText(statStr.c_str());
+        }
+        else {
+            //set status string
+            std::string statStr = "Failed to save settings to file ";
+            statStr += filename.toStdString();
+            gui->setStatusText(statStr.c_str());
+        }
 	}
 }
 
diff --git a/SAS/Scheduler/src/DataHandler.cpp b/SAS/Scheduler/src/DataHandler.cpp
index bbd0d5908b9..195d4bfe844 100644
--- a/SAS/Scheduler/src/DataHandler.cpp
+++ b/SAS/Scheduler/src/DataHandler.cpp
@@ -521,18 +521,20 @@ bool DataHandler::saveProgramPreferences(void) {
 
 bool DataHandler::saveSettings(const QString &filename) const
 {
-    QFile file(QDir::currentPath() + filename);
+    QFile file(filename);
     if (file.open(QIODevice::WriteOnly))
     {
 		QDataStream out(&file);
 		out << (unsigned)FILE_WRITE_VERSION;
 		out << Controller::theSchedulerSettings;
 		file.close();
-		debugInfo("ss","Wrote settings to file: ", filename.toStdString().c_str());
+        debugInfo("ss","Wrote settings to file: ", (filename.toStdString().c_str()));
 		return true;
 	}
-	else
-		return false;
+    else {
+        debugInfo("ss","Failed to write to file: ", (filename.toStdString().c_str()));
+        return false;
+    }
 }
 
 bool DataHandler::loadSettings(const QString &filename) {
-- 
GitLab