Просмотр исходного кода

Merged in marius_stanciu/flatcam_beta/Beta (pull request #287)

Beta
Marius Stanciu 6 лет назад
Родитель
Сommit
1fa69e8714
2 измененных файлов с 19 добавлено и 24 удалено
  1. 16 23
      FlatCAMApp.py
  2. 3 1
      README.md

+ 16 - 23
FlatCAMApp.py

@@ -253,6 +253,19 @@ class App(QtCore.QObject):
 
         self.main_thread = QtWidgets.QApplication.instance().thread()
 
+        # #########################################################################
+        # Setup the listening thread for another instance launching with args #####
+        # #########################################################################
+
+        # make sure the thread is stored by using a self. otherwise it's garbage collected
+        self.th = QtCore.QThread()
+        self.th.start(priority=QtCore.QThread.LowestPriority)
+
+        self.new_launch = ArgsThread()
+        self.new_launch.open_signal[list].connect(self.on_startup_args)
+        self.new_launch.moveToThread(self.th)
+        self.new_launch.start.emit()
+
         # ############################################################################
         # # ################# OS-specific ############################################
         # ############################################################################
@@ -260,20 +273,6 @@ class App(QtCore.QObject):
 
         # Folder for user settings.
         if sys.platform == 'win32':
-
-            # #########################################################################
-            # Setup the listening thread for another instance launching with args #####
-            # #########################################################################
-
-            # make sure the thread is stored by using a self. otherwise it's garbage collected
-            self.th = QtCore.QThread()
-            self.th.start(priority=QtCore.QThread.LowestPriority)
-
-            self.new_launch = ArgsThread()
-            self.new_launch.open_signal[list].connect(self.on_startup_args)
-            self.new_launch.moveToThread(self.th)
-            self.new_launch.start.emit()
-
             from win32com.shell import shell, shellcon
             if platform.architecture()[0] == '32bit':
                 App.log.debug("Win32!")
@@ -3597,7 +3596,7 @@ class App(QtCore.QObject):
         Handles input from the shell. See FlatCAMApp.setup_shell for shell commands.
 
         :param text: Input command
-        :param reraise: Re-raise TclError exceptions in Python (mostly for unitttests).
+        :param reraise: Re-raise TclError exceptions in Python (mostly for unittests).
         :param no_echo: If True it will not try to print to the Shell because most likely the shell is hidden and it
         will create crashes of the _Expandable_Edit widget
         :return: Output from the command
@@ -3614,6 +3613,7 @@ class App(QtCore.QObject):
                 self.shell.append_output(result + '\n')
 
         except tk.TclError as e:
+
             # This will display more precise answer if something in TCL shell fails
             result = self.tcl.eval("set errorInfo")
             self.log.error("Exec command Exception: %s" % (result + '\n'))
@@ -5138,14 +5138,7 @@ class App(QtCore.QObject):
             del stgs
 
         log.debug("App.final_save() --> App UI state saved.")
-
-        # QtWidgets.qApp.quit()
-        QtCore.QCoreApplication.exit()
-        if sys.platform != 'win32':
-            try:
-                sys.exit()
-            except Exception:
-                pass
+        QtWidgets.qApp.quit()
 
     def on_portable_checked(self, state):
         """

+ 3 - 1
README.md

@@ -13,7 +13,7 @@ CAD program, and create G-Code for Isolation routing.
 
 - Buffer sub-tool in Transform Tool: added the possibility to apply a factor effectively scaling the aperture size thus the copper features sizes
 - in Transform Tool adjusted the GUI
-- fixed some decimals issues in NCC Tool, Paint Tool and Excellon Editor (they were still using the harcoded values)
+- fixed some decimals issues in NCC Tool, Paint Tool and Excellon Editor (they were still using the hardcoded values)
 - some small updates in the NCC Tool
 - changes in the Preferences UI for NCC and Paint Tool in Tool Dia entry field
 - fixed Tcl commands that use the overlap parameter to switch from fraction to percentage
@@ -21,6 +21,8 @@ CAD program, and create G-Code for Isolation routing.
 - attempt to make TclCommand quit_flatcam work under Linux
 - some fixes in the NCC Tcl command (using the bool() method on some params)
 - another attempt to make TclCommand quit_flatcam work under Linux
+- another attempt to make TclCommand quit_flatcam work under Linux - use signal to call a hard exit when in Linux
+- TclCommand quit_flatcam work under Linux
 
 29.12.2019