From 1be4a536275a49d83b990096046341a8de90192d Mon Sep 17 00:00:00 2001
From: Uriziel <urizieli@gmail.com>
Date: Fri, 25 Jan 2013 23:23:29 +0100
Subject: [PATCH] Some fixes for config getter, GUI always shows up when no
 file selected

---
 syncplay/ui/ConfigurationGetter.py | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/syncplay/ui/ConfigurationGetter.py b/syncplay/ui/ConfigurationGetter.py
index 4cccb92..40aaf49 100644
--- a/syncplay/ui/ConfigurationGetter.py
+++ b/syncplay/ui/ConfigurationGetter.py
@@ -191,20 +191,26 @@ class ConfigurationGetter(object):
         if(changed):
             parser.write(codecs.open(iniPath, "wb", "utf_8_sig"))
         
+
+    def _forceGuiPrompt(self):
+        try:
+            self._validateArguments()
+        except InvalidConfigValue:
+            pass
+        try:
+            for key, value in self._promptForMissingArguments().items():
+                self._config[key] = value
+        except:
+            sys.exit()
+
     def getConfiguration(self):
         iniPath = self._getConfigurationFilePath()
         self._parseConfigFile(iniPath)
         args = self._argparser.parse_args()
         self._overrideConfigWithArgs(args)
-        if(self._config['forceGuiPrompt']):
-            try:
-                self._validateArguments()
-            except InvalidConfigValue:
-                pass
-            try:
-                self._promptForMissingArguments()
-            except:
-                sys.exit()
+        #Arguments not validated yet - booleans are still text values
+        if(self._config['forceGuiPrompt'] == "True" or not self._config['file']): 
+            self._forceGuiPrompt()
         self._checkConfig()
         self._saveConfig(iniPath)
         return self._config