Add error logging
[bertos.git] / wizard / bertos.py
index 4bd6af676b3b2c5c3ed471b3fc23b28d4759bf6f..54f2885b59ec544666b7891fbdd8d54809909750 100755 (executable)
@@ -40,6 +40,8 @@ from distutils.dep_util import newer
 from PyQt4.QtCore import *
 from PyQt4.QtGui import *
 
+import exception_handler
+
 import BProject
 
 import BStartPage
@@ -55,6 +57,8 @@ from BOutputPage import BOutputPage
 from BCreationPage import BCreationPage
 from BFinalPage import BFinalPage
 
+from BEditingDialog import BEditingDialog
+
 import bertos_utils
 
 def newProject():
@@ -70,15 +74,13 @@ def newProject():
         for ide in to_be_opened:
             command_line = command_lines[ide]
             relevant_file = relevant_files[ide]
-            import subprocess
-            subprocess.call(command_line + " \"" + relevant_file + "\"")
+            QProcess.startDetached(command_line, [relevant_file,])
     sys.exit()
     
-def editProject():
-    page_list = [BOpenPage, BVersionPage, BCpuPage, BToolchainPage, BModulePage, BOutputPage, BCreationPage, BFinalPage]
-    wizard = BWizard.BWizard(page_list)
-    wizard.show()
-    wizard.exec_()
+def editProject(project_file):
+    QApplication.instance().project = bertos_utils.loadBertosProject(project_file)
+    dialog = BEditingDialog()
+    dialog.exec_()
 
 def showStartPage():
     QApplication.instance().dialog = BStartPage.BStartPage()
@@ -95,17 +97,11 @@ def main():
     if not (hasattr(sys, "frozen") and sys.frozen) and newer("bertos.qrc", "bertos.rcc"):
         os.system("rcc -binary bertos.qrc -o bertos.rcc")
     QResource.registerResource("bertos.rcc")
-    if "--create" in sys.argv and "--edit" not in sys.argv:
-        newProject()
-    elif "--edit" in sys.argv and "--create" not in sys.argv:
-        editProject()
-    elif "--create" in sys.argv and "--edit" in sys.argv:
-        # TODO need an explaining message
-        print " ".join(sys.argv)
-        print "Invalid usage!"
-        pass
+    if len(sys.argv) == 3 and sys.argv[1] == "--edit":
+        editProject(sys.argv[2])
     else:
         newProject()
 
 if __name__ == '__main__':
     main()