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

- fix app crash for the case that there are no translation files
- fixed some forgotten strings to be prepared for internationalization in ToolCalculators
- fixed Tools menu no longer working due of changes
- added some test translation for the ToolCalculators (in Romanian)
- fixed bug in ToolCutOut where for each tool invocation the signals were reconnected

Marius Stanciu 6 лет назад
Родитель
Сommit
a6e23b28a7

+ 5 - 2
FlatCAMApp.py

@@ -59,10 +59,13 @@ import tclCommands
 
 
 # from ParseFont import *
 # from ParseFont import *
 
 
-from gettext import *
+import gettext
 import FlatCAMTranslation as fcTranslate
 import FlatCAMTranslation as fcTranslate
-fcTranslate.apply_language('FlatCAMApp')
 
 
+fcTranslate.apply_language('FlatCAMApp')
+import builtins
+if '_' not in builtins.__dict__:
+    _ = gettext.gettext
 
 
 ########################################
 ########################################
 ##                App                 ##
 ##                App                 ##

+ 4 - 1
FlatCAMEditor.py

@@ -40,8 +40,11 @@ import freetype as ft
 
 
 import gettext
 import gettext
 import FlatCAMTranslation as fcTranslate
 import FlatCAMTranslation as fcTranslate
-fcTranslate.apply_language('FlatCAMEditor')
 
 
+fcTranslate.apply_language('FlatCAMEditor')
+import builtins
+if '_' not in builtins.__dict__:
+    _ = gettext.gettext
 
 
 class BufferSelectionTool(FlatCAMTool):
 class BufferSelectionTool(FlatCAMTool):
     """
     """

+ 4 - 1
FlatCAMGUI.py

@@ -21,8 +21,11 @@ from FlatCAMEditor import FCShapeTool
 
 
 import gettext
 import gettext
 import FlatCAMTranslation as fcTranslate
 import FlatCAMTranslation as fcTranslate
-fcTranslate.apply_language('FlatCAMGUI')
 
 
+fcTranslate.apply_language('FlatCAMGUI')
+import builtins
+if '_' not in builtins.__dict__:
+    _ = gettext.gettext
 
 
 class FlatCAMGUI(QtWidgets.QMainWindow):
 class FlatCAMGUI(QtWidgets.QMainWindow):
     # Emitted when persistent window geometry needs to be retained
     # Emitted when persistent window geometry needs to be retained

+ 5 - 2
FlatCAMObj.py

@@ -24,8 +24,11 @@ import itertools
 
 
 import gettext
 import gettext
 import FlatCAMTranslation as fcTranslate
 import FlatCAMTranslation as fcTranslate
-fcTranslate.apply_language('FlatCAMObj')
 
 
+fcTranslate.apply_language('FlatCAMObj')
+import builtins
+if '_' not in builtins.__dict__:
+    _ = gettext.gettext
 
 
 class ObjectDeleted(Exception):
 class ObjectDeleted(Exception):
     # Interrupts plotting process if FlatCAMObj has been deleted
     # Interrupts plotting process if FlatCAMObj has been deleted
@@ -3176,7 +3179,7 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
 
 
         self.ui.plot_cb.stateChanged.connect(self.on_plot_cb_click)
         self.ui.plot_cb.stateChanged.connect(self.on_plot_cb_click)
         self.ui.generate_cnc_button.clicked.connect(self.on_generatecnc_button_click)
         self.ui.generate_cnc_button.clicked.connect(self.on_generatecnc_button_click)
-        self.ui.paint_tool_button.clicked.connect(self.app.paint_tool.run)
+        self.ui.paint_tool_button.clicked.connect(lambda: self.app.paint_tool.run(toggle=False))
         self.ui.pp_geometry_name_cb.activated.connect(self.on_pp_changed)
         self.ui.pp_geometry_name_cb.activated.connect(self.on_pp_changed)
 
 
     def set_tool_offset_visibility(self, current_row):
     def set_tool_offset_visibility(self, current_row):

+ 13 - 2
FlatCAMTool.py

@@ -71,9 +71,9 @@ class FlatCAMTool(QtWidgets.QWidget):
         if separator is True:
         if separator is True:
             pos.addSeparator()
             pos.addSeparator()
 
 
-        self.menuAction.triggered.connect(self.run)
+        self.menuAction.triggered.connect(lambda: self.run(toggle=True))
 
 
-    def run(self):
+    def run(self, toggle=True):
 
 
         if self.app.tool_tab_locked is True:
         if self.app.tool_tab_locked is True:
             return
             return
@@ -89,5 +89,16 @@ class FlatCAMTool(QtWidgets.QWidget):
         # Switch notebook to tool page
         # Switch notebook to tool page
         self.app.ui.notebook.setCurrentWidget(self.app.ui.tool_tab)
         self.app.ui.notebook.setCurrentWidget(self.app.ui.tool_tab)
 
 
+        if toggle:
+            # if the splitter is hidden, display it, else hide it but only if the current widget is the same
+            if self.app.ui.splitter.sizes()[0] == 0:
+                self.app.ui.splitter.setSizes([1, 1])
+            else:
+                try:
+                    if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName:
+                        self.app.ui.splitter.setSizes([0, 1])
+                except AttributeError:
+                    pass
+
         self.show()
         self.show()
 
 

+ 4 - 1
ObjectCollection.py

@@ -20,8 +20,11 @@ from PyQt5.QtCore import Qt
 
 
 import gettext
 import gettext
 import FlatCAMTranslation as fcTranslate
 import FlatCAMTranslation as fcTranslate
-fcTranslate.apply_language('ObjectCollection')
 
 
+fcTranslate.apply_language('ObjectCollection')
+import builtins
+if '_' not in builtins.__dict__:
+    _ = gettext.gettext
 
 
 class KeySensitiveListView(QtWidgets.QTreeView):
 class KeySensitiveListView(QtWidgets.QTreeView):
     """
     """

+ 4 - 1
ObjectUI.py

@@ -20,8 +20,11 @@ from camlib import Excellon
 
 
 import gettext
 import gettext
 import FlatCAMTranslation as fcTranslate
 import FlatCAMTranslation as fcTranslate
-fcTranslate.apply_language('ObjectUI')
 
 
+fcTranslate.apply_language('ObjectUI')
+import builtins
+if '_' not in builtins.__dict__:
+    _ = gettext.gettext
 
 
 class ObjectUI(QtWidgets.QWidget):
 class ObjectUI(QtWidgets.QWidget):
     """
     """

+ 5 - 0
README.md

@@ -14,6 +14,11 @@ CAD program, and create G-Code for Isolation routing.
 - added a fix in the Gerber parser when adding the geometry in the self.apertures dict for the case that the current aperture is None (Allegro does that)
 - added a fix in the Gerber parser when adding the geometry in the self.apertures dict for the case that the current aperture is None (Allegro does that)
 - finished support for internationalization by adding a set of .po/.mo files for the English language. Unfortunately the final action can be done only when Beta will be out of Beta (no more changes) or when I will decide to stop working on this app.
 - finished support for internationalization by adding a set of .po/.mo files for the English language. Unfortunately the final action can be done only when Beta will be out of Beta (no more changes) or when I will decide to stop working on this app.
 - changed the tooltip for 'feedrate_rapids' parameter to point out that this parameter is useful only for the Marlin postprocessor
 - changed the tooltip for 'feedrate_rapids' parameter to point out that this parameter is useful only for the Marlin postprocessor
+- fix app crash for the case that there are no translation files
+- fixed some forgotten strings to be prepared for internationalization in ToolCalculators
+- fixed Tools menu no longer working due of changes
+- added some test translation for the ToolCalculators (in Romanian)
+- fixed bug in ToolCutOut where for each tool invocation the signals were reconnected
 
 
 8.03.2019
 8.03.2019
 
 

+ 4 - 1
camlib.py

@@ -72,8 +72,11 @@ log.addHandler(handler)
 
 
 import gettext
 import gettext
 import FlatCAMTranslation as fcTranslate
 import FlatCAMTranslation as fcTranslate
-fcTranslate.apply_language('camlib')
 
 
+fcTranslate.apply_language('camlib')
+import builtins
+if '_' not in builtins.__dict__:
+    _ = gettext.gettext
 
 
 class ParseError(Exception):
 class ParseError(Exception):
     pass
     pass

+ 10 - 16
flatcamTools/ToolCalculators.py

@@ -14,7 +14,11 @@ import math
 
 
 import gettext
 import gettext
 import FlatCAMTranslation as fcTranslate
 import FlatCAMTranslation as fcTranslate
+
 fcTranslate.apply_language('ToolCalculators')
 fcTranslate.apply_language('ToolCalculators')
+import builtins
+if '_' not in builtins.__dict__:
+    _ = gettext.gettext
 
 
 
 
 class ToolCalculator(FlatCAMTool):
 class ToolCalculator(FlatCAMTool):
@@ -96,21 +100,21 @@ class ToolCalculator(FlatCAMTool):
         self.tipDia_label.setToolTip(_('This is the diameter of the tool tip.\n'
         self.tipDia_label.setToolTip(_('This is the diameter of the tool tip.\n'
                                      'The manufacturer specifies it.'))
                                      'The manufacturer specifies it.'))
 
 
-        self.tipAngle_label = QtWidgets.QLabel("Tip Angle:")
+        self.tipAngle_label = QtWidgets.QLabel(_("Tip Angle:"))
         self.tipAngle_entry = FCEntry()
         self.tipAngle_entry = FCEntry()
         # self.tipAngle_entry.setFixedWidth(70)
         # self.tipAngle_entry.setFixedWidth(70)
         self.tipAngle_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
         self.tipAngle_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
         self.tipAngle_label.setToolTip(_("This is the angle of the tip of the tool.\n"
         self.tipAngle_label.setToolTip(_("This is the angle of the tip of the tool.\n"
                                        "It is specified by manufacturer."))
                                        "It is specified by manufacturer."))
 
 
-        self.cutDepth_label = QtWidgets.QLabel("Cut Z:")
+        self.cutDepth_label = QtWidgets.QLabel(_("Cut Z:"))
         self.cutDepth_entry = FCEntry()
         self.cutDepth_entry = FCEntry()
         # self.cutDepth_entry.setFixedWidth(70)
         # self.cutDepth_entry.setFixedWidth(70)
         self.cutDepth_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
         self.cutDepth_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
         self.cutDepth_label.setToolTip(_("This is the depth to cut into the material.\n"
         self.cutDepth_label.setToolTip(_("This is the depth to cut into the material.\n"
                                        "In the CNCJob is the CutZ parameter."))
                                        "In the CNCJob is the CutZ parameter."))
 
 
-        self.effectiveToolDia_label = QtWidgets.QLabel("Tool Diameter:")
+        self.effectiveToolDia_label = QtWidgets.QLabel(_("Tool Diameter:"))
         self.effectiveToolDia_entry = FCEntry()
         self.effectiveToolDia_entry = FCEntry()
         # self.effectiveToolDia_entry.setFixedWidth(70)
         # self.effectiveToolDia_entry.setFixedWidth(70)
         self.effectiveToolDia_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
         self.effectiveToolDia_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
@@ -234,21 +238,11 @@ class ToolCalculator(FlatCAMTool):
         self.calculate_plate_button.clicked.connect(self.on_calculate_eplate)
         self.calculate_plate_button.clicked.connect(self.on_calculate_eplate)
 
 
 
 
-    def run(self, toggle=False):
+    def run(self, toggle=True):
         self.app.report_usage("ToolCalculators()")
         self.app.report_usage("ToolCalculators()")
 
 
-        if toggle:
-            # if the splitter is hidden, display it, else hide it but only if the current widget is the same
-            if self.app.ui.splitter.sizes()[0] == 0:
-                self.app.ui.splitter.setSizes([1, 1])
-            else:
-                try:
-                    if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName:
-                        self.app.ui.splitter.setSizes([0, 1])
-                except AttributeError:
-                    pass
-
-        FlatCAMTool.run(self)
+        FlatCAMTool.run(self, toggle=toggle)
+
         self.set_tool_ui()
         self.set_tool_ui()
 
 
         self.app.ui.notebook.setTabText(2, "Calc. Tool")
         self.app.ui.notebook.setTabText(2, "Calc. Tool")

+ 14 - 21
flatcamTools/ToolCutOut.py

@@ -5,7 +5,11 @@ from shapely.geometry import box
 
 
 import gettext
 import gettext
 import FlatCAMTranslation as fcTranslate
 import FlatCAMTranslation as fcTranslate
+
 fcTranslate.apply_language('ToolCutOut')
 fcTranslate.apply_language('ToolCutOut')
+import builtins
+if '_' not in builtins.__dict__:
+    _ = gettext.gettext
 
 
 
 
 class CutOut(FlatCAMTool):
 class CutOut(FlatCAMTool):
@@ -262,26 +266,23 @@ class CutOut(FlatCAMTool):
         # true if we want to repeat the gap without clicking again on the button
         # true if we want to repeat the gap without clicking again on the button
         self.repeat_gap = False
         self.repeat_gap = False
 
 
+        ## Signals
+        self.ff_cutout_object_btn.clicked.connect(self.on_freeform_cutout)
+        self.rect_cutout_object_btn.clicked.connect(self.on_rectangular_cutout)
+
+        self.type_obj_combo.currentIndexChanged.connect(self.on_type_obj_index_changed)
+        self.man_geo_creation_btn.clicked.connect(self.on_manual_geo)
+        self.man_gaps_creation_btn.clicked.connect(self.on_manual_gap_click)
+
     def on_type_obj_index_changed(self, index):
     def on_type_obj_index_changed(self, index):
         obj_type = self.type_obj_combo.currentIndex()
         obj_type = self.type_obj_combo.currentIndex()
         self.obj_combo.setRootModelIndex(self.app.collection.index(obj_type, 0, QtCore.QModelIndex()))
         self.obj_combo.setRootModelIndex(self.app.collection.index(obj_type, 0, QtCore.QModelIndex()))
         self.obj_combo.setCurrentIndex(0)
         self.obj_combo.setCurrentIndex(0)
 
 
-    def run(self, toggle=False):
+    def run(self, toggle=True):
         self.app.report_usage("ToolCutOut()")
         self.app.report_usage("ToolCutOut()")
 
 
-        if toggle:
-            # if the splitter is hidden, display it, else hide it but only if the current widget is the same
-            if self.app.ui.splitter.sizes()[0] == 0:
-                self.app.ui.splitter.setSizes([1, 1])
-            else:
-                try:
-                    if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName:
-                        self.app.ui.splitter.setSizes([0, 1])
-                except AttributeError:
-                    pass
-
-        FlatCAMTool.run(self)
+        FlatCAMTool.run(self, toggle=toggle)
         self.set_tool_ui()
         self.set_tool_ui()
 
 
         self.app.ui.notebook.setTabText(2, "Cutout Tool")
         self.app.ui.notebook.setTabText(2, "Cutout Tool")
@@ -297,14 +298,6 @@ class CutOut(FlatCAMTool):
         self.gapsize.set_value(float(self.app.defaults["tools_cutoutgapsize"]))
         self.gapsize.set_value(float(self.app.defaults["tools_cutoutgapsize"]))
         self.gaps.set_value(4)
         self.gaps.set_value(4)
 
 
-        ## Signals
-        self.ff_cutout_object_btn.clicked.connect(self.on_freeform_cutout)
-        self.rect_cutout_object_btn.clicked.connect(self.on_rectangular_cutout)
-
-        self.type_obj_combo.currentIndexChanged.connect(self.on_type_obj_index_changed)
-        self.man_geo_creation_btn.clicked.connect(self.on_manual_geo)
-        self.man_gaps_creation_btn.clicked.connect(self.on_manual_gap_click)
-
         self.gapFinished.connect(self.on_gap_finished)
         self.gapFinished.connect(self.on_gap_finished)
 
 
     def on_freeform_cutout(self):
     def on_freeform_cutout(self):

+ 6 - 13
flatcamTools/ToolDblSided.py

@@ -8,7 +8,11 @@ from PyQt5 import QtCore
 
 
 import gettext
 import gettext
 import FlatCAMTranslation as fcTranslate
 import FlatCAMTranslation as fcTranslate
+
 fcTranslate.apply_language('ToolDblSided')
 fcTranslate.apply_language('ToolDblSided')
+import builtins
+if '_' not in builtins.__dict__:
+    _ = gettext.gettext
 
 
 
 
 class DblSidedTool(FlatCAMTool):
 class DblSidedTool(FlatCAMTool):
@@ -267,21 +271,10 @@ class DblSidedTool(FlatCAMTool):
     def install(self, icon=None, separator=None, **kwargs):
     def install(self, icon=None, separator=None, **kwargs):
         FlatCAMTool.install(self, icon, separator, shortcut='ALT+D', **kwargs)
         FlatCAMTool.install(self, icon, separator, shortcut='ALT+D', **kwargs)
 
 
-    def run(self, toggle=False):
+    def run(self, toggle=True):
         self.app.report_usage("Tool2Sided()")
         self.app.report_usage("Tool2Sided()")
 
 
-        if toggle:
-            # if the splitter is hidden, display it, else hide it but only if the current widget is the same
-            if self.app.ui.splitter.sizes()[0] == 0:
-                self.app.ui.splitter.setSizes([1, 1])
-            else:
-                try:
-                    if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName:
-                        self.app.ui.splitter.setSizes([0, 1])
-                except AttributeError:
-                    pass
-
-        FlatCAMTool.run(self)
+        FlatCAMTool.run(self, toggle=toggle)
         self.set_tool_ui()
         self.set_tool_ui()
 
 
         self.app.ui.notebook.setTabText(2, _("2-Sided Tool"))
         self.app.ui.notebook.setTabText(2, _("2-Sided Tool"))

+ 6 - 12
flatcamTools/ToolFilm.py

@@ -13,7 +13,11 @@ from PyQt5 import QtGui, QtCore, QtWidgets
 
 
 import gettext
 import gettext
 import FlatCAMTranslation as fcTranslate
 import FlatCAMTranslation as fcTranslate
+
 fcTranslate.apply_language('ToolFilm')
 fcTranslate.apply_language('ToolFilm')
+import builtins
+if '_' not in builtins.__dict__:
+    _ = gettext.gettext
 
 
 
 
 class Film(FlatCAMTool):
 class Film(FlatCAMTool):
@@ -176,21 +180,11 @@ class Film(FlatCAMTool):
         self.tf_box_combo.setRootModelIndex(self.app.collection.index(obj_type, 0, QtCore.QModelIndex()))
         self.tf_box_combo.setRootModelIndex(self.app.collection.index(obj_type, 0, QtCore.QModelIndex()))
         self.tf_box_combo.setCurrentIndex(0)
         self.tf_box_combo.setCurrentIndex(0)
 
 
-    def run(self, toggle=False):
+    def run(self, toggle=True):
         self.app.report_usage("ToolFilm()")
         self.app.report_usage("ToolFilm()")
 
 
-        if toggle:
-            # if the splitter is hidden, display it, else hide it but only if the current widget is the same
-            if self.app.ui.splitter.sizes()[0] == 0:
-                self.app.ui.splitter.setSizes([1, 1])
-            else:
-                try:
-                    if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName:
-                        self.app.ui.splitter.setSizes([0, 1])
-                except AttributeError:
-                    pass
+        FlatCAMTool.run(self, toggle=toggle)
 
 
-        FlatCAMTool.run(self)
         self.set_tool_ui()
         self.set_tool_ui()
 
 
         self.app.ui.notebook.setTabText(2, _("Film Tool"))
         self.app.ui.notebook.setTabText(2, _("Film Tool"))

+ 6 - 13
flatcamTools/ToolImage.py

@@ -13,7 +13,11 @@ from PyQt5 import QtGui, QtCore, QtWidgets
 
 
 import gettext
 import gettext
 import FlatCAMTranslation as fcTranslate
 import FlatCAMTranslation as fcTranslate
+
 fcTranslate.apply_language('ToolImage')
 fcTranslate.apply_language('ToolImage')
+import builtins
+if '_' not in builtins.__dict__:
+    _ = gettext.gettext
 
 
 
 
 class ToolImage(FlatCAMTool):
 class ToolImage(FlatCAMTool):
@@ -143,21 +147,10 @@ class ToolImage(FlatCAMTool):
         ## Signals
         ## Signals
         self.import_button.clicked.connect(self.on_file_importimage)
         self.import_button.clicked.connect(self.on_file_importimage)
 
 
-    def run(self, toggle=False):
+    def run(self, toggle=True):
         self.app.report_usage("ToolImage()")
         self.app.report_usage("ToolImage()")
 
 
-        if toggle:
-            # if the splitter is hidden, display it, else hide it but only if the current widget is the same
-            if self.app.ui.splitter.sizes()[0] == 0:
-                self.app.ui.splitter.setSizes([1, 1])
-            else:
-                try:
-                    if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName:
-                        self.app.ui.splitter.setSizes([0, 1])
-                except AttributeError:
-                    pass
-
-        FlatCAMTool.run(self)
+        FlatCAMTool.run(self, toggle=toggle)
         self.set_tool_ui()
         self.set_tool_ui()
 
 
         self.app.ui.notebook.setTabText(2, _("Image Tool"))
         self.app.ui.notebook.setTabText(2, _("Image Tool"))

+ 5 - 1
flatcamTools/ToolMeasurement.py

@@ -16,7 +16,11 @@ from math import sqrt
 
 
 import gettext
 import gettext
 import FlatCAMTranslation as fcTranslate
 import FlatCAMTranslation as fcTranslate
+
 fcTranslate.apply_language('ToolMeasurement')
 fcTranslate.apply_language('ToolMeasurement')
+import builtins
+if '_' not in builtins.__dict__:
+    _ = gettext.gettext
 
 
 
 
 class Measurement(FlatCAMTool):
 class Measurement(FlatCAMTool):
@@ -165,7 +169,7 @@ class Measurement(FlatCAMTool):
 
 
         self.measure_btn.clicked.connect(self.toggle)
         self.measure_btn.clicked.connect(self.toggle)
 
 
-    def run(self):
+    def run(self, toggle):
         self.app.report_usage("ToolMeasurement()")
         self.app.report_usage("ToolMeasurement()")
 
 
         if self.app.tool_tab_locked is True:
         if self.app.tool_tab_locked is True:

+ 5 - 1
flatcamTools/ToolMove.py

@@ -15,7 +15,11 @@ from copy import copy
 
 
 import gettext
 import gettext
 import FlatCAMTranslation as fcTranslate
 import FlatCAMTranslation as fcTranslate
+
 fcTranslate.apply_language('ToolMove')
 fcTranslate.apply_language('ToolMove')
+import builtins
+if '_' not in builtins.__dict__:
+    _ = gettext.gettext
 
 
 
 
 class ToolMove(FlatCAMTool):
 class ToolMove(FlatCAMTool):
@@ -45,7 +49,7 @@ class ToolMove(FlatCAMTool):
     def install(self, icon=None, separator=None, **kwargs):
     def install(self, icon=None, separator=None, **kwargs):
         FlatCAMTool.install(self, icon, separator, shortcut='M', **kwargs)
         FlatCAMTool.install(self, icon, separator, shortcut='M', **kwargs)
 
 
-    def run(self):
+    def run(self, toggle):
         self.app.report_usage("ToolMove()")
         self.app.report_usage("ToolMove()")
 
 
         if self.app.tool_tab_locked is True:
         if self.app.tool_tab_locked is True:

+ 6 - 12
flatcamTools/ToolNonCopperClear.py

@@ -13,7 +13,11 @@ import time
 
 
 import gettext
 import gettext
 import FlatCAMTranslation as fcTranslate
 import FlatCAMTranslation as fcTranslate
+
 fcTranslate.apply_language('ToolNonCopperClear')
 fcTranslate.apply_language('ToolNonCopperClear')
+import builtins
+if '_' not in builtins.__dict__:
+    _ = gettext.gettext
 
 
 
 
 class NonCopperClear(FlatCAMTool, Gerber):
 class NonCopperClear(FlatCAMTool, Gerber):
@@ -255,20 +259,10 @@ class NonCopperClear(FlatCAMTool, Gerber):
     def install(self, icon=None, separator=None, **kwargs):
     def install(self, icon=None, separator=None, **kwargs):
         FlatCAMTool.install(self, icon, separator, shortcut='ALT+N', **kwargs)
         FlatCAMTool.install(self, icon, separator, shortcut='ALT+N', **kwargs)
 
 
-    def run(self, toggle=False):
+    def run(self, toggle=True):
         self.app.report_usage("ToolNonCopperClear()")
         self.app.report_usage("ToolNonCopperClear()")
 
 
-        if toggle:
-            # if the splitter is hidden, display it, else hide it but only if the current widget is the same
-            if self.app.ui.splitter.sizes()[0] == 0:
-                self.app.ui.splitter.setSizes([1, 1])
-            else:
-                try:
-                    if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName:
-                        self.app.ui.splitter.setSizes([0, 1])
-                except AttributeError:
-                    pass
-        FlatCAMTool.run(self)
+        FlatCAMTool.run(self, toggle=toggle)
         self.set_tool_ui()
         self.set_tool_ui()
 
 
         self.build_ui()
         self.build_ui()

+ 6 - 13
flatcamTools/ToolPaint.py

@@ -12,7 +12,11 @@ from ObjectCollection import *
 
 
 import gettext
 import gettext
 import FlatCAMTranslation as fcTranslate
 import FlatCAMTranslation as fcTranslate
+
 fcTranslate.apply_language('ToolPaint')
 fcTranslate.apply_language('ToolPaint')
+import builtins
+if '_' not in builtins.__dict__:
+    _ = gettext.gettext
 
 
 
 
 class ToolPaint(FlatCAMTool, Gerber):
 class ToolPaint(FlatCAMTool, Gerber):
@@ -313,21 +317,10 @@ class ToolPaint(FlatCAMTool, Gerber):
     def install(self, icon=None, separator=None, **kwargs):
     def install(self, icon=None, separator=None, **kwargs):
         FlatCAMTool.install(self, icon, separator, shortcut='ALT+P', **kwargs)
         FlatCAMTool.install(self, icon, separator, shortcut='ALT+P', **kwargs)
 
 
-    def run(self, toggle=False):
+    def run(self, toggle=True):
         self.app.report_usage("ToolPaint()")
         self.app.report_usage("ToolPaint()")
 
 
-        if toggle:
-            # if the splitter is hidden, display it, else hide it but only if the current widget is the same
-            if self.app.ui.splitter.sizes()[0] == 0:
-                self.app.ui.splitter.setSizes([1, 1])
-            else:
-                try:
-                    if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName:
-                        self.app.ui.splitter.setSizes([0, 1])
-                except AttributeError:
-                    pass
-
-        FlatCAMTool.run(self)
+        FlatCAMTool.run(self, toggle=toggle)
         self.set_tool_ui()
         self.set_tool_ui()
 
 
         self.app.ui.notebook.setTabText(2, _("Paint Tool"))
         self.app.ui.notebook.setTabText(2, _("Paint Tool"))

+ 6 - 13
flatcamTools/ToolPanelize.py

@@ -13,7 +13,11 @@ import time
 
 
 import gettext
 import gettext
 import FlatCAMTranslation as fcTranslate
 import FlatCAMTranslation as fcTranslate
+
 fcTranslate.apply_language('ToolPanelize')
 fcTranslate.apply_language('ToolPanelize')
+import builtins
+if '_' not in builtins.__dict__:
+    _ = gettext.gettext
 
 
 
 
 class Panelize(FlatCAMTool):
 class Panelize(FlatCAMTool):
@@ -209,21 +213,10 @@ class Panelize(FlatCAMTool):
         # flag to signal the constrain was activated
         # flag to signal the constrain was activated
         self.constrain_flag = False
         self.constrain_flag = False
 
 
-    def run(self, toggle=False):
+    def run(self, toggle=True):
         self.app.report_usage("ToolPanelize()")
         self.app.report_usage("ToolPanelize()")
 
 
-        if toggle:
-            # if the splitter is hidden, display it, else hide it but only if the current widget is the same
-            if self.app.ui.splitter.sizes()[0] == 0:
-                self.app.ui.splitter.setSizes([1, 1])
-            else:
-                try:
-                    if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName:
-                        self.app.ui.splitter.setSizes([0, 1])
-                except AttributeError:
-                    pass
-
-        FlatCAMTool.run(self)
+        FlatCAMTool.run(self, toggle=toggle)
         self.set_tool_ui()
         self.set_tool_ui()
 
 
         self.app.ui.notebook.setTabText(2, "Panel. Tool")
         self.app.ui.notebook.setTabText(2, "Panel. Tool")

+ 6 - 13
flatcamTools/ToolProperties.py

@@ -13,7 +13,11 @@ from FlatCAMObj import *
 
 
 import gettext
 import gettext
 import FlatCAMTranslation as fcTranslate
 import FlatCAMTranslation as fcTranslate
+
 fcTranslate.apply_language('ToolProperties')
 fcTranslate.apply_language('ToolProperties')
+import builtins
+if '_' not in builtins.__dict__:
+    _ = gettext.gettext
 
 
 
 
 class Properties(FlatCAMTool):
 class Properties(FlatCAMTool):
@@ -60,25 +64,14 @@ class Properties(FlatCAMTool):
         self.vlay.addWidget(self.treeWidget)
         self.vlay.addWidget(self.treeWidget)
         self.vlay.setStretch(0,0)
         self.vlay.setStretch(0,0)
 
 
-    def run(self, toggle=False):
+    def run(self, toggle=True):
         self.app.report_usage("ToolProperties()")
         self.app.report_usage("ToolProperties()")
 
 
         if self.app.tool_tab_locked is True:
         if self.app.tool_tab_locked is True:
             return
             return
         self.set_tool_ui()
         self.set_tool_ui()
 
 
-        if toggle:
-            # if the splitter is hidden, display it, else hide it but only if the current widget is the same
-            if self.app.ui.splitter.sizes()[0] == 0:
-                self.app.ui.splitter.setSizes([1, 1])
-            else:
-                try:
-                    if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName:
-                        self.app.ui.splitter.setSizes([0, 1])
-                except AttributeError:
-                    pass
-
-        FlatCAMTool.run(self)
+        FlatCAMTool.run(self, toggle=toggle)
         self.properties()
         self.properties()
 
 
     def install(self, icon=None, separator=None, **kwargs):
     def install(self, icon=None, separator=None, **kwargs):

+ 4 - 0
flatcamTools/ToolShell.py

@@ -15,7 +15,11 @@ import html
 
 
 import gettext
 import gettext
 import FlatCAMTranslation as fcTranslate
 import FlatCAMTranslation as fcTranslate
+
 fcTranslate.apply_language('ToolShell')
 fcTranslate.apply_language('ToolShell')
+import builtins
+if '_' not in builtins.__dict__:
+    _ = gettext.gettext
 
 
 
 
 class TermWidget(QWidget):
 class TermWidget(QWidget):

+ 6 - 13
flatcamTools/ToolSolderPaste.py

@@ -27,7 +27,11 @@ from io import StringIO
 
 
 import gettext
 import gettext
 import FlatCAMTranslation as fcTranslate
 import FlatCAMTranslation as fcTranslate
+
 fcTranslate.apply_language('ToolSolderPaste')
 fcTranslate.apply_language('ToolSolderPaste')
+import builtins
+if '_' not in builtins.__dict__:
+    _ = gettext.gettext
 
 
 
 
 class SolderPaste(FlatCAMTool):
 class SolderPaste(FlatCAMTool):
@@ -423,21 +427,10 @@ class SolderPaste(FlatCAMTool):
 
 
         self.app.object_status_changed.connect(self.update_comboboxes)
         self.app.object_status_changed.connect(self.update_comboboxes)
 
 
-    def run(self, toggle=False):
+    def run(self, toggle=True):
         self.app.report_usage("ToolSolderPaste()")
         self.app.report_usage("ToolSolderPaste()")
 
 
-        if toggle:
-            # if the splitter is hidden, display it, else hide it but only if the current widget is the same
-            if self.app.ui.splitter.sizes()[0] == 0:
-                self.app.ui.splitter.setSizes([1, 1])
-            else:
-                try:
-                    if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName:
-                        self.app.ui.splitter.setSizes([0, 1])
-                except AttributeError:
-                    pass
-
-        FlatCAMTool.run(self)
+        FlatCAMTool.run(self, toggle=toggle)
         self.set_tool_ui()
         self.set_tool_ui()
         self.build_ui()
         self.build_ui()
 
 

+ 6 - 13
flatcamTools/ToolTransform.py

@@ -14,7 +14,11 @@ from FlatCAMObj import *
 
 
 import gettext
 import gettext
 import FlatCAMTranslation as fcTranslate
 import FlatCAMTranslation as fcTranslate
+
 fcTranslate.apply_language('ToolTransform')
 fcTranslate.apply_language('ToolTransform')
+import builtins
+if '_' not in builtins.__dict__:
+    _ = gettext.gettext
 
 
 
 
 class ToolTransform(FlatCAMTool):
 class ToolTransform(FlatCAMTool):
@@ -374,21 +378,10 @@ class ToolTransform(FlatCAMTool):
         self.offx_entry.returnPressed.connect(self.on_offx)
         self.offx_entry.returnPressed.connect(self.on_offx)
         self.offy_entry.returnPressed.connect(self.on_offy)
         self.offy_entry.returnPressed.connect(self.on_offy)
 
 
-    def run(self, toggle=False):
+    def run(self, toggle=True):
         self.app.report_usage("ToolTransform()")
         self.app.report_usage("ToolTransform()")
 
 
-        if toggle:
-            # if the splitter is hidden, display it, else hide it but only if the current widget is the same
-            if self.app.ui.splitter.sizes()[0] == 0:
-                self.app.ui.splitter.setSizes([1, 1])
-            else:
-                try:
-                    if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName:
-                        self.app.ui.splitter.setSizes([0, 1])
-                except AttributeError:
-                    pass
-                
-        FlatCAMTool.run(self)
+        FlatCAMTool.run(self, toggle=toggle)
         self.set_tool_ui()
         self.set_tool_ui()
 
 
         self.app.ui.notebook.setTabText(2, _("Transform Tool"))
         self.app.ui.notebook.setTabText(2, _("Transform Tool"))

BIN
locale/en/LC_MESSAGES/ToolCalculators.mo


+ 50 - 38
locale/en/LC_MESSAGES/ToolCalculators.po

@@ -5,8 +5,8 @@
 msgid ""
 msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: \n"
 "Project-Id-Version: \n"
-"POT-Creation-Date: 2019-03-10 13:01+0200\n"
-"PO-Revision-Date: 2019-03-10 13:21+0200\n"
+"POT-Creation-Date: 2019-03-10 16:22+0200\n"
+"PO-Revision-Date: 2019-03-10 16:24+0200\n"
 "Language-Team: \n"
 "Language-Team: \n"
 "MIME-Version: 1.0\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -17,35 +17,35 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "Language: en\n"
 "Language: en\n"
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:14
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:26
 msgid "Calculators"
 msgid "Calculators"
 msgstr "Calculators"
 msgstr "Calculators"
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:15
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:27
 msgid "V-Shape Tool Calculator"
 msgid "V-Shape Tool Calculator"
 msgstr "V-Shape Tool Calculator"
 msgstr "V-Shape Tool Calculator"
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:16
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:28
 msgid "Units Calculator"
 msgid "Units Calculator"
 msgstr "Units Calculator"
 msgstr "Units Calculator"
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:17
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:29
 msgid "ElectroPlating Calculator"
 msgid "ElectroPlating Calculator"
 msgstr "ElectroPlating Calculator"
 msgstr "ElectroPlating Calculator"
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:58
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:70
 msgid "Here you enter the value to be converted from INCH to MM"
 msgid "Here you enter the value to be converted from INCH to MM"
 msgstr "Here you enter the value to be converted from INCH to MM"
 msgstr "Here you enter the value to be converted from INCH to MM"
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:63
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:75
 msgid "Here you enter the value to be converted from MM to INCH"
 msgid "Here you enter the value to be converted from MM to INCH"
 msgstr "Here you enter the value to be converted from MM to INCH"
 msgstr "Here you enter the value to be converted from MM to INCH"
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:84
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:96
 msgid "Tip Diameter:"
 msgid "Tip Diameter:"
 msgstr "Tip Diameter:"
 msgstr "Tip Diameter:"
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:88
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:100
 msgid ""
 msgid ""
 "This is the diameter of the tool tip.\n"
 "This is the diameter of the tool tip.\n"
 "The manufacturer specifies it."
 "The manufacturer specifies it."
@@ -53,7 +53,11 @@ msgstr ""
 "This is the diameter of the tool tip.\n"
 "This is the diameter of the tool tip.\n"
 "The manufacturer specifies it."
 "The manufacturer specifies it."
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:95
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:103
+msgid "Tip Angle:"
+msgstr "Tip Angle:"
+
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:107
 msgid ""
 msgid ""
 "This is the angle of the tip of the tool.\n"
 "This is the angle of the tip of the tool.\n"
 "It is specified by manufacturer."
 "It is specified by manufacturer."
@@ -61,7 +65,11 @@ msgstr ""
 "This is the angle of the tip of the tool.\n"
 "This is the angle of the tip of the tool.\n"
 "It is specified by manufacturer."
 "It is specified by manufacturer."
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:102
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:110
+msgid "Cut Z:"
+msgstr "Cut Z:"
+
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:114
 msgid ""
 msgid ""
 "This is the depth to cut into the material.\n"
 "This is the depth to cut into the material.\n"
 "In the CNCJob is the CutZ parameter."
 "In the CNCJob is the CutZ parameter."
@@ -69,7 +77,11 @@ msgstr ""
 "This is the depth to cut into the material.\n"
 "This is the depth to cut into the material.\n"
 "In the CNCJob is the CutZ parameter."
 "In the CNCJob is the CutZ parameter."
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:109
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:117
+msgid "Tool Diameter:"
+msgstr "Tool Diameter:"
+
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:121
 msgid ""
 msgid ""
 "This is the tool diameter to be entered into\n"
 "This is the tool diameter to be entered into\n"
 "FlatCAM Gerber section.\n"
 "FlatCAM Gerber section.\n"
@@ -79,12 +91,12 @@ msgstr ""
 "FlatCAM Gerber section.\n"
 "FlatCAM Gerber section.\n"
 "In the CNCJob section it is called >Tool dia<."
 "In the CNCJob section it is called >Tool dia<."
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:121
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:204
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:133
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:216
 msgid "Calculate"
 msgid "Calculate"
 msgstr "Calculate"
 msgstr "Calculate"
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:124
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:136
 msgid ""
 msgid ""
 "Calculate either the Cut Z or the effective tool diameter,\n"
 "Calculate either the Cut Z or the effective tool diameter,\n"
 "  depending on which is desired and which is known. "
 "  depending on which is desired and which is known. "
@@ -92,7 +104,7 @@ msgstr ""
 "Calculate either the Cut Z or the effective tool diameter,\n"
 "Calculate either the Cut Z or the effective tool diameter,\n"
 "  depending on which is desired and which is known. "
 "  depending on which is desired and which is known. "
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:142
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:154
 msgid ""
 msgid ""
 "This calculator is useful for those who plate the via/pad/drill holes,\n"
 "This calculator is useful for those who plate the via/pad/drill holes,\n"
 "using a method like grahite ink or calcium hypophosphite ink or palladium "
 "using a method like grahite ink or calcium hypophosphite ink or palladium "
@@ -102,27 +114,27 @@ msgstr ""
 "using a method like grahite ink or calcium hypophosphite ink or palladium "
 "using a method like grahite ink or calcium hypophosphite ink or palladium "
 "chloride."
 "chloride."
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:151
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:163
 msgid "Board Length:"
 msgid "Board Length:"
 msgstr "Board Length:"
 msgstr "Board Length:"
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:155
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:167
 msgid "This is the board length. In centimeters."
 msgid "This is the board length. In centimeters."
 msgstr "This is the board length. In centimeters."
 msgstr "This is the board length. In centimeters."
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:157
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:169
 msgid "Board Width:"
 msgid "Board Width:"
 msgstr "Board Width:"
 msgstr "Board Width:"
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:161
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:173
 msgid "This is the board width.In centimeters."
 msgid "This is the board width.In centimeters."
 msgstr "This is the board width.In centimeters."
 msgstr "This is the board width.In centimeters."
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:163
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:175
 msgid "Current Density:"
 msgid "Current Density:"
 msgstr "Current Density:"
 msgstr "Current Density:"
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:167
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:179
 msgid ""
 msgid ""
 "Current density to pass through the board. \n"
 "Current density to pass through the board. \n"
 "In Amps per Square Feet ASF."
 "In Amps per Square Feet ASF."
@@ -130,11 +142,11 @@ msgstr ""
 "Current density to pass through the board. \n"
 "Current density to pass through the board. \n"
 "In Amps per Square Feet ASF."
 "In Amps per Square Feet ASF."
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:171
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:183
 msgid "Copper Growth:"
 msgid "Copper Growth:"
 msgstr "Copper Growth:"
 msgstr "Copper Growth:"
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:175
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:187
 msgid ""
 msgid ""
 "How thick the copper growth is intended to be.\n"
 "How thick the copper growth is intended to be.\n"
 "In microns."
 "In microns."
@@ -142,11 +154,11 @@ msgstr ""
 "How thick the copper growth is intended to be.\n"
 "How thick the copper growth is intended to be.\n"
 "In microns."
 "In microns."
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:180
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:192
 msgid "Current Value:"
 msgid "Current Value:"
 msgstr "Current Value:"
 msgstr "Current Value:"
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:184
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:196
 msgid ""
 msgid ""
 "This is the current intensity value\n"
 "This is the current intensity value\n"
 "to be set on the Power Supply. In Amps."
 "to be set on the Power Supply. In Amps."
@@ -154,11 +166,11 @@ msgstr ""
 "This is the current intensity value\n"
 "This is the current intensity value\n"
 "to be set on the Power Supply. In Amps."
 "to be set on the Power Supply. In Amps."
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:188
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:200
 msgid "Time:"
 msgid "Time:"
 msgstr "Time:"
 msgstr "Time:"
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:192
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:204
 msgid ""
 msgid ""
 "This is the calculated time required for the procedure.\n"
 "This is the calculated time required for the procedure.\n"
 "In minutes."
 "In minutes."
@@ -166,7 +178,7 @@ msgstr ""
 "This is the calculated time required for the procedure.\n"
 "This is the calculated time required for the procedure.\n"
 "In minutes."
 "In minutes."
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:207
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:219
 msgid ""
 msgid ""
 "Calculate the current intensity value and the procedure time,\n"
 "Calculate the current intensity value and the procedure time,\n"
 "  depending on the parameters above"
 "  depending on the parameters above"
@@ -174,14 +186,14 @@ msgstr ""
 "Calculate the current intensity value and the procedure time,\n"
 "Calculate the current intensity value and the procedure time,\n"
 "  depending on the parameters above"
 "  depending on the parameters above"
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:294
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:305
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:306
 #: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:317
 #: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:317
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:332
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:345
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:359
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:370
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:381
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:392
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:329
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:344
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:357
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:371
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:382
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:393
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:404
 msgid "[ERROR_NOTCL]Wrong value format entered, use a number."
 msgid "[ERROR_NOTCL]Wrong value format entered, use a number."
 msgstr "[ERROR_NOTCL]Wrong value format entered, use a number."
 msgstr "[ERROR_NOTCL]Wrong value format entered, use a number."

+ 49 - 37
locale_template/ToolCalculators.pot

@@ -5,7 +5,7 @@
 msgid ""
 msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2019-03-10 13:01+0200\n"
+"POT-Creation-Date: 2019-03-10 16:22+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -15,147 +15,159 @@ msgstr ""
 "Generated-By: pygettext.py 1.5\n"
 "Generated-By: pygettext.py 1.5\n"
 
 
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:14
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:26
 msgid "Calculators"
 msgid "Calculators"
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:15
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:27
 msgid "V-Shape Tool Calculator"
 msgid "V-Shape Tool Calculator"
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:16
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:28
 msgid "Units Calculator"
 msgid "Units Calculator"
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:17
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:29
 msgid "ElectroPlating Calculator"
 msgid "ElectroPlating Calculator"
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:58
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:70
 msgid "Here you enter the value to be converted from INCH to MM"
 msgid "Here you enter the value to be converted from INCH to MM"
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:63
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:75
 msgid "Here you enter the value to be converted from MM to INCH"
 msgid "Here you enter the value to be converted from MM to INCH"
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:84
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:96
 msgid "Tip Diameter:"
 msgid "Tip Diameter:"
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:88
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:100
 msgid ""
 msgid ""
 "This is the diameter of the tool tip.\n"
 "This is the diameter of the tool tip.\n"
 "The manufacturer specifies it."
 "The manufacturer specifies it."
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:95
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:103
+msgid "Tip Angle:"
+msgstr ""
+
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:107
 msgid ""
 msgid ""
 "This is the angle of the tip of the tool.\n"
 "This is the angle of the tip of the tool.\n"
 "It is specified by manufacturer."
 "It is specified by manufacturer."
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:102
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:110
+msgid "Cut Z:"
+msgstr ""
+
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:114
 msgid ""
 msgid ""
 "This is the depth to cut into the material.\n"
 "This is the depth to cut into the material.\n"
 "In the CNCJob is the CutZ parameter."
 "In the CNCJob is the CutZ parameter."
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:109
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:117
+msgid "Tool Diameter:"
+msgstr ""
+
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:121
 msgid ""
 msgid ""
 "This is the tool diameter to be entered into\n"
 "This is the tool diameter to be entered into\n"
 "FlatCAM Gerber section.\n"
 "FlatCAM Gerber section.\n"
 "In the CNCJob section it is called >Tool dia<."
 "In the CNCJob section it is called >Tool dia<."
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:121
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:204
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:133
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:216
 msgid "Calculate"
 msgid "Calculate"
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:124
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:136
 msgid ""
 msgid ""
 "Calculate either the Cut Z or the effective tool diameter,\n"
 "Calculate either the Cut Z or the effective tool diameter,\n"
 "  depending on which is desired and which is known. "
 "  depending on which is desired and which is known. "
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:142
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:154
 msgid ""
 msgid ""
 "This calculator is useful for those who plate the via/pad/drill holes,\n"
 "This calculator is useful for those who plate the via/pad/drill holes,\n"
 "using a method like grahite ink or calcium hypophosphite ink or palladium chloride."
 "using a method like grahite ink or calcium hypophosphite ink or palladium chloride."
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:151
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:163
 msgid "Board Length:"
 msgid "Board Length:"
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:155
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:167
 msgid "This is the board length. In centimeters."
 msgid "This is the board length. In centimeters."
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:157
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:169
 msgid "Board Width:"
 msgid "Board Width:"
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:161
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:173
 msgid "This is the board width.In centimeters."
 msgid "This is the board width.In centimeters."
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:163
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:175
 msgid "Current Density:"
 msgid "Current Density:"
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:167
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:179
 msgid ""
 msgid ""
 "Current density to pass through the board. \n"
 "Current density to pass through the board. \n"
 "In Amps per Square Feet ASF."
 "In Amps per Square Feet ASF."
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:171
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:183
 msgid "Copper Growth:"
 msgid "Copper Growth:"
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:175
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:187
 msgid ""
 msgid ""
 "How thick the copper growth is intended to be.\n"
 "How thick the copper growth is intended to be.\n"
 "In microns."
 "In microns."
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:180
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:192
 msgid "Current Value:"
 msgid "Current Value:"
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:184
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:196
 msgid ""
 msgid ""
 "This is the current intensity value\n"
 "This is the current intensity value\n"
 "to be set on the Power Supply. In Amps."
 "to be set on the Power Supply. In Amps."
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:188
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:200
 msgid "Time:"
 msgid "Time:"
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:192
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:204
 msgid ""
 msgid ""
 "This is the calculated time required for the procedure.\n"
 "This is the calculated time required for the procedure.\n"
 "In minutes."
 "In minutes."
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:207
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:219
 msgid ""
 msgid ""
 "Calculate the current intensity value and the procedure time,\n"
 "Calculate the current intensity value and the procedure time,\n"
 "  depending on the parameters above"
 "  depending on the parameters above"
 msgstr ""
 msgstr ""
 
 
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:294
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:305
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:306
 #: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:317
 #: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:317
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:332
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:345
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:359
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:370
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:381
-#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:392
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:329
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:344
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:357
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:371
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:382
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:393
+#: D:\1.DEV\FlatCAM_beta\flatcamTools\ToolCalculators.py:404
 msgid "[ERROR_NOTCL]Wrong value format entered, use a number."
 msgid "[ERROR_NOTCL]Wrong value format entered, use a number."
 msgstr ""
 msgstr ""