From f7084f4e56c35901fc44640a4fb55180cb4117a7 Mon Sep 17 00:00:00 2001 From: Marius Stanciu Date: Mon, 30 Dec 2019 01:52:03 +0200 Subject: [PATCH] - fixed some decimals issues in NCC Tool, Paint Tool and Excellon Editor (they were still using the harcoded values) - some small updates in the NCC Tool --- FlatCAMApp.py | 17 ++++++++--------- README.md | 2 ++ flatcamEditors/FlatCAMExcEditor.py | 5 ----- flatcamTools/ToolNonCopperClear.py | 13 +++++-------- flatcamTools/ToolPaint.py | 15 ++++++++------- flatcamTools/ToolSolderPaste.py | 5 ----- 6 files changed, 23 insertions(+), 34 deletions(-) diff --git a/FlatCAMApp.py b/FlatCAMApp.py index 08d39abb..248d7261 100644 --- a/FlatCAMApp.py +++ b/FlatCAMApp.py @@ -1795,12 +1795,14 @@ class App(QtCore.QObject): if self.cmd_line_headless == 1: self.trayIcon = FlatCAMSystemTray(app=self, - icon=QtGui.QIcon(self.resource_location + '/flatcam_icon32_green.png'), + icon=QtGui.QIcon(self.resource_location + + '/flatcam_icon32_green.png'), headless=True, parent=self.parent_w) else: self.trayIcon = FlatCAMSystemTray(app=self, - icon=QtGui.QIcon(self.resource_location + '/flatcam_icon32_green.png'), + icon=QtGui.QIcon(self.resource_location + + '/flatcam_icon32_green.png'), parent=self.parent_w) # ############################################################################# @@ -2921,7 +2923,6 @@ class App(QtCore.QObject): # self.defaults_form_fields[option].set_value(self.defaults[option]) # except KeyError: # #self.log.debug("defaults_write_form(): No field for: %s" % option) - # # TODO: Rethink this? # pass def defaults_write_form_field(self, field, factor=None, units=None, defaults_dict=None): @@ -2931,6 +2932,7 @@ class App(QtCore.QObject): :param field: the GUI element in Preferences GUI to be updated :param factor: factor to be applied to the field parameter :param units: current FLatCAM measuring units + :param defaults_dict: the defaults storage :return: None, it updates GUI elements """ @@ -2951,8 +2953,6 @@ class App(QtCore.QObject): elif units == 'MM' and (field == 'global_gridx' or field == 'global_gridy'): self.defaults_form_fields[field].set_value((def_dict[field] * factor)) except KeyError: - # self.log.debug("defaults_write_form(): No field for: %s" % option) - # TODO: Rethink this? pass except AttributeError: log.debug(field) @@ -6910,7 +6910,7 @@ class App(QtCore.QObject): # work only if the notebook tab on focus is the Selected_Tab and only if the object is Geometry if notebook_widget_name == 'selected_tab': - if str(type(self.collection.get_active())) == "": + if self.collection.get_active().kind == 'geometry': # Tool add works for Geometry only if Advanced is True in Preferences if self.defaults["global_app_level"] == 'a': tool_add_popup = FCInputDialog(title="New Tool ...", @@ -6926,12 +6926,11 @@ class App(QtCore.QObject): return self.collection.get_active().on_tool_add(dia=float(val)) else: - self.inform.emit('[WARNING_NOTCL] %s...' % - _("Adding Tool cancelled")) + self.inform.emit('[WARNING_NOTCL] %s...' % _("Adding Tool cancelled")) else: msgbox = QtWidgets.QMessageBox() msgbox.setText(_("Adding Tool works only when Advanced is checked.\n" - "Go to Preferences -> General - Show Advanced Options.")) + "Go to Preferences -> General - Show Advanced Options.")) msgbox.setWindowTitle("Tool adding ...") msgbox.setWindowIcon(QtGui.QIcon(self.resource_location + '/warning.png')) bt_ok = msgbox.addButton(_('Ok'), QtWidgets.QMessageBox.AcceptRole) diff --git a/README.md b/README.md index d3419233..878a96ee 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,8 @@ 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) +- some small updates in the NCC Tool 29.12.2019 diff --git a/flatcamEditors/FlatCAMExcEditor.py b/flatcamEditors/FlatCAMExcEditor.py index 199584f7..c97f6573 100644 --- a/flatcamEditors/FlatCAMExcEditor.py +++ b/flatcamEditors/FlatCAMExcEditor.py @@ -2227,11 +2227,6 @@ class FlatCAMExcEditor(QtCore.QObject): # updated units self.units = self.app.defaults['units'].upper() - if self.units == "IN": - self.decimals = 4 - else: - self.decimals = 2 - self.olddia_newdia.clear() self.tool2tooldia.clear() diff --git a/flatcamTools/ToolNonCopperClear.py b/flatcamTools/ToolNonCopperClear.py index 7e58c6a3..7b5a51af 100644 --- a/flatcamTools/ToolNonCopperClear.py +++ b/flatcamTools/ToolNonCopperClear.py @@ -634,11 +634,6 @@ class NonCopperClear(FlatCAMTool, Gerber): def set_tool_ui(self): self.units = self.app.defaults['units'].upper() - if self.units == "IN": - self.decimals = 4 - else: - self.decimals = 2 - self.tools_frame.show() self.ncc_order_radio.set_value(self.app.defaults["tools_nccorder"]) @@ -701,10 +696,12 @@ class NonCopperClear(FlatCAMTool, Gerber): }) try: + dias = [float(self.app.defaults["tools_ncctools"])] + except (ValueError, TypeError): dias = [float(eval(dia)) for dia in self.app.defaults["tools_ncctools"].split(",") if dia != ''] - except Exception as e: - log.error("At least one tool diameter needed. " - "Verify in Edit -> Preferences -> TOOLS -> NCC Tools. %s" % str(e)) + + if not dias: + log.error("At least one tool diameter needed. Verify in Edit -> Preferences -> TOOLS -> NCC Tools.") return self.tooluid = 0 diff --git a/flatcamTools/ToolPaint.py b/flatcamTools/ToolPaint.py index fc11599f..8ec87919 100644 --- a/flatcamTools/ToolPaint.py +++ b/flatcamTools/ToolPaint.py @@ -601,13 +601,6 @@ class ToolPaint(FlatCAMTool, Gerber): # updated units self.units = self.app.defaults['units'].upper() - if self.units == "IN": - self.decimals = 4 - self.addtool_entry.set_value(0.039) - else: - self.decimals = 2 - self.addtool_entry.set_value(1) - # set the working variables to a known state self.paint_tools.clear() self.tooluid = 0 @@ -651,6 +644,14 @@ class ToolPaint(FlatCAMTool, Gerber): except (ValueError, TypeError): diameters = [eval(x) for x in self.app.defaults["tools_painttooldia"].split(",") if x != ''] + if not diameters: + log.error("At least one tool diameter needed. Verify in Edit -> Preferences -> TOOLS -> NCC Tools.") + self.build_ui() + # if the Paint Method is "Single" disable the tool table context menu + if self.default_data["selectmethod"] == "single": + self.tools_table.setContextMenuPolicy(Qt.NoContextMenu) + return + # call on self.on_tool_add() counts as an call to self.build_ui() # through this, we add a initial row / tool in the tool_table for dia in diameters: diff --git a/flatcamTools/ToolSolderPaste.py b/flatcamTools/ToolSolderPaste.py index 05493f4c..9eed101c 100644 --- a/flatcamTools/ToolSolderPaste.py +++ b/flatcamTools/ToolSolderPaste.py @@ -621,11 +621,6 @@ class SolderPaste(FlatCAMTool): self.units = self.app.defaults['units'].upper() - if self.units == "IN": - self.decimals = 4 - else: - self.decimals = 2 - for name in list(self.app.preprocessors.keys()): # populate only with preprocessor files that start with 'Paste_' if name.partition('_')[0] != 'Paste':