Jelajahi Sumber

- handled a possible situation in App.load_defaults() method
- fixed some issues in FlatCAMDB that may appear in certain scenarios

Marius Stanciu 5 tahun lalu
induk
melakukan
2549e9925e
4 mengubah file dengan 52 tambahan dan 24 penghapusan
  1. 6 0
      CHANGELOG.md
  2. 1 1
      FlatCAMApp.py
  3. 14 14
      FlatCAMDB.py
  4. 31 9
      README.md

+ 6 - 0
CHANGELOG.md

@@ -7,6 +7,11 @@ CHANGELOG for FlatCAM beta
 
 =================================================
 
+28.04.2020
+
+- handled a possible situation in App.load_defaults() method
+- fixed some issues in FlatCAMDB that may appear in certain scenarios
+
 27.04.2020
 
 - finished the moving of all Tcl Shell stuff out of the FlatCAAMApp class to flatcamTools.ToolShell class
@@ -24,6 +29,7 @@ CHANGELOG for FlatCAM beta
 - added support for Hungarian language - no translation for now
 - minor changes
 - moved the ObjectCollection class to the flatcamObjects folder where it belongs
+- Linux Makefile 
 
 25.04.2020
 

+ 1 - 1
FlatCAMApp.py

@@ -3840,7 +3840,7 @@ class App(QtCore.QObject):
                         # may be stored as strings we check their types.
                         try:
                             target = eval(self.defaults[k])
-                        except NameError:
+                        except (NameError, TypeError):
                             # it's an unknown string leave it as it is
                             target = deepcopy(self.defaults[k])
 

+ 14 - 14
FlatCAMDB.py

@@ -916,19 +916,19 @@ class ToolsDB(QtWidgets.QWidget):
                 self.app.ui.plot_tab_area.removeTab(idx)
         self.app.inform.emit('%s' % _("Cancelled adding tool from DB."))
 
-    def resize_new_tool_table_widget(self, min_size, max_size):
-        """
-        Resize the table widget responsible for adding new tool in the Tool Database
-
-        :param min_size: passed by rangeChanged signal or the self.new_tool_table_widget.horizontalScrollBar()
-        :param max_size: passed by rangeChanged signal or the self.new_tool_table_widget.horizontalScrollBar()
-        :return:
-        """
-        t_height = self.t_height
-        if max_size > min_size:
-            t_height = self.t_height + self.new_tool_table_widget.verticalScrollBar().height()
-
-        self.new_tool_table_widget.setMaximumHeight(t_height)
+    # def resize_new_tool_table_widget(self, min_size, max_size):
+    #     """
+    #     Resize the table widget responsible for adding new tool in the Tool Database
+    #
+    #     :param min_size: passed by rangeChanged signal or the self.new_tool_table_widget.horizontalScrollBar()
+    #     :param max_size: passed by rangeChanged signal or the self.new_tool_table_widget.horizontalScrollBar()
+    #     :return:
+    #     """
+    #     t_height = self.t_height
+    #     if max_size > min_size:
+    #         t_height = self.t_height + self.new_tool_table_widget.verticalScrollBar().height()
+    #
+    #     self.new_tool_table_widget.setMaximumHeight(t_height)
 
     def closeEvent(self, QCloseEvent):
         super().closeEvent(QCloseEvent)
@@ -2120,7 +2120,7 @@ class ToolsDB2(QtWidgets.QWidget):
                         json.dump(self.db_tool_dict, f, default=to_dict, indent=2)
                 except Exception as e:
                     self.app.log.debug("App.on_save_tools_db() --> %s" % str(e))
-                    self.inform.emit('[ERROR_NOTCL] %s' % _("Failed to write Tools DB to file."))
+                    self.app.inform.emit('[ERROR_NOTCL] %s' % _("Failed to write Tools DB to file."))
                     return
             except Exception:
                 self.app.inform.emit('[ERROR_NOTCL] %s' % _("Failed to write Tools DB to file."))

+ 31 - 9
README.md

@@ -1,18 +1,19 @@
 FlatCAM BETA (c) 2019 - by Marius Stanciu
 Based on FlatCAM: 
 2D Computer-Aided PCB Manufacturing by (c) 2014-2016 Juan Pablo Caram
-=================================================
+=====================================================================
 
 FlatCAM is a program for preparing CNC jobs for making PCBs on a CNC router.
 Among other things, it can take a Gerber file generated by your favorite PCB
 CAD program, and create G-Code for Isolation routing.
 
-=================================================
+=====================================================================
 
------------- Installation instructions ----------
+-------------------------- Installation instructions ----------------
 
 Works with Python version 3.5 or greater and PyQt5.
 More on the YouTube channel: https://www.youtube.com/playlist?list=PLVvP2SYRpx-AQgNlfoxw93tXUXon7G94_
+
 You can contact me on my email address found in the app in:
 Menu -> Help -> About FlatCAM -> Programmers -> Marius Stanciu
 
@@ -20,7 +21,7 @@ Menu -> Help -> About FlatCAM -> Programmers -> Marius Stanciu
 - Download sources from: https://bitbucket.org/jpcgt/flatcam/downloads/
 - Unzip them on a HDD location that your user has permissions for.
 
-1. Windows
+1.Windows
 - download the provided installer (for your OS flavor 64bit or 32bit) from:
 https://bitbucket.org/jpcgt/flatcam/downloads/
 - execute the installer and install the program. It is recommended to install as a Local User.
@@ -33,7 +34,10 @@ Use one of the versions (64bit or 32it) that are compatible with your OS.
 To save space use one of the versions that have the smaller size (they offer 2 versions: one with size of few hundred MB and one smaller with size of few tens of MB)
 
 - add Python folder and Python\Scripts folder to your Windows Path (https://docs.microsoft.com/en-us/previous-versions/office/developer/sharepoint-2010/ee537574(v%3Doffice.14))
-- verify that the pip package can be run by opening Command Prompt(Admin) and running the command: pip -V
+- verify that the pip package can be run by opening Command Prompt(Admin) and running the command:
+```
+pip -V
+```
 
 - look in the requirements.txt file (found in the sources folder) and install all the dependencies using the pip package. 
 The required wheels can be downloaded either from:
@@ -42,23 +46,40 @@ or
 https://pypi.org/
  
 You can download all the required wheels files into a folder (e.g D:\my_folder) and install them from Command Prompt like this:
+
+```
 cd D:\my_folder
+```
+
 and for each wheel file (*.whl) run:
+```
 D:\my_folder\> pip install --upgrade package_from_requirements.whl
+```
 
 Run FlatCAM beta from the installation folder (e.g D:\FlatCAM_beta) in the Command Prompt with the following command:
 cd D:\FlatCAM_beta
 python FlatCAM.py
 
-2. Linux
+2.Linux
 - make sure that Python 3.8 is installed on your OS and that the command: python3 -V confirm it
-- verify that the pip package is installed for your Python installation (e.g 3.8) by running the command pip3 -V. 
+- verify that the pip package is installed for your Python installation (e.g 3.8) by running the command:
+```
+pip3 -V
+``` 
+
 If it is not installed, install it. In Ubuntu-like OS's it is done like this: 
+```
 sudo apt-get install python3-pip 
+```
 or:
+```
 sudo apt-get install python3.8-pip
+```
 - verify that the file setup_ubuntu.sh has Linux line-endings (LF) and that it is executable (chmod +x setup_ubuntu.sh)
-- run the file setup_ubuntu.sh and install all the dependencies with the command: ./setup_ubuntu.sh
+- run the file setup_ubuntu.sh and install all the dependencies with the command:
+```
+./setup_ubuntu.sh
+```
 - if the previous command is successful and has no errors, run FlatCAM with the command: python3 FlatCAM.py
 
 - Alternatively you can install it on Ubuntu with:
@@ -73,7 +94,8 @@ make install
 sudo make install
 ```
 
-3. MacOS
+3.MacOS
+
 Instructions from here: https://gist.github.com/natevw/3e6fc929aff358b38c0a#gistcomment-3111878
 
 - create a folder to hold the sources somewhere on your HDD: