- trimmed the application strings

This commit is contained in:
Marius Stanciu 2020-11-03 22:37:39 +02:00 committed by Marius Stanciu
parent 77c66862c5
commit f5310148eb
77 changed files with 15407 additions and 15204 deletions

View File

@ -314,9 +314,9 @@ class BookmarkManager(QtWidgets.QWidget):
f.close() f.close()
except Exception: except Exception:
e = sys.exc_info()[0] e = sys.exc_info()[0]
self.app.log.error("Could not load defaults file.") self.app.log.error("Could not load the file.")
self.app.log.error(str(e)) self.app.log.error(str(e))
self.app.inform.emit('[ERROR_NOTCL] %s' % _("Could not load bookmarks file.")) self.app.inform.emit('[ERROR_NOTCL] %s' % _("Could not load the file."))
return return
# Save Bookmarks to a file # Save Bookmarks to a file
@ -346,7 +346,7 @@ class BookmarkManager(QtWidgets.QWidget):
bookmarks = f.readlines() bookmarks = f.readlines()
except IOError: except IOError:
self.app.log.error("Could not load bookmarks file.") self.app.log.error("Could not load bookmarks file.")
self.app.inform.emit('[ERROR_NOTCL] %s' % _("Could not load bookmarks file.")) self.app.inform.emit('[ERROR_NOTCL] %s' % _("Could not load the file."))
return return
for line in bookmarks: for line in bookmarks:

View File

@ -20,6 +20,7 @@ CHANGELOG for FlatCAM beta
- in NCC and Isolation Tools, the Validity Checking of the tools is now multithreaded when the Check Validity UI control is checked - in NCC and Isolation Tools, the Validity Checking of the tools is now multithreaded when the Check Validity UI control is checked
- translation strings updated - translation strings updated
- fixed an error in Gerber parser, when it encounter a pen-up followed by pen-down move while in a region - fixed an error in Gerber parser, when it encounter a pen-up followed by pen-down move while in a region
- trimmed the application strings
2.11.2020 2.11.2020

View File

@ -222,7 +222,7 @@ class ToolsDB2UI:
# Tool Dia # Tool Dia
self.dia_label = FCLabel('%s:' % _('Diameter')) self.dia_label = FCLabel('%s:' % _('Diameter'))
self.dia_label.setToolTip( self.dia_label.setToolTip(
_("Tool Diameter.")) '%s.' % _("Tool Diameter"))
self.dia_entry = FCDoubleSpinner() self.dia_entry = FCDoubleSpinner()
self.dia_entry.set_range(-10000.0000, 10000.0000) self.dia_entry.set_range(-10000.0000, 10000.0000)
@ -1735,7 +1735,7 @@ class ToolsDB2(QtWidgets.QWidget):
tools = f.read() tools = f.read()
except IOError: except IOError:
self.app.log.error("Could not load tools DB file.") self.app.log.error("Could not load tools DB file.")
self.app.inform.emit('[ERROR] %s' % _("Could not load Tools DB file.")) self.app.inform.emit('[ERROR] %s' % _("Could not load the file."))
return return
try: try:
@ -2127,7 +2127,7 @@ class ToolsDB2(QtWidgets.QWidget):
e = sys.exc_info()[0] e = sys.exc_info()[0]
self.app.log.error("Could not load Tools DB file.") self.app.log.error("Could not load Tools DB file.")
self.app.log.error(str(e)) self.app.log.error(str(e))
self.app.inform.emit('[ERROR_NOTCL] %s' % _("Could not load Tools DB file.")) self.app.inform.emit('[ERROR_NOTCL] %s' % _("Could not load the file."))
return return
# Save update options # Save update options
@ -2161,7 +2161,7 @@ class ToolsDB2(QtWidgets.QWidget):
tools_in_db = f.read() tools_in_db = f.read()
except IOError: except IOError:
self.app.log.error("Could not load Tools DB file.") self.app.log.error("Could not load Tools DB file.")
self.app.inform.emit('[ERROR_NOTCL] %s' % _("Could not load Tools DB file.")) self.app.inform.emit('[ERROR_NOTCL] %s' % _("Could not load the file."))
return return
try: try:

View File

@ -514,7 +514,7 @@ class FCDrillArray(FCShapeTool):
else: else:
if (self.drill_angle * self.drill_array_size) > 360: if (self.drill_angle * self.drill_array_size) > 360:
self.draw_app.app.inform.emit('[WARNING_NOTCL] %s' % self.draw_app.app.inform.emit('[WARNING_NOTCL] %s' %
_("Too many drills for the selected spacing angle.")) _("Too many items for the selected spacing angle."))
self.draw_app.app.jump_signal.disconnect() self.draw_app.app.jump_signal.disconnect()
return return
@ -1036,7 +1036,7 @@ class FCSlotArray(FCShapeTool):
else: else:
if (self.slot_angle * self.slot_array_size) > 360: if (self.slot_angle * self.slot_array_size) > 360:
self.draw_app.app.inform.emit('[WARNING_NOTCL] %s' % self.draw_app.app.inform.emit('[WARNING_NOTCL] %s' %
_("Too many Slots for the selected spacing angle.")) _("Too many items for the selected spacing angle."))
self.draw_app.app.jump_signal.disconnect() self.draw_app.app.jump_signal.disconnect()
return return
@ -2241,7 +2241,7 @@ class AppExcEditor(QtCore.QObject):
self.e_ui.tools_table_exc.itemChanged.connect(self.on_tool_edit) self.e_ui.tools_table_exc.itemChanged.connect(self.on_tool_edit)
self.e_ui.tools_table_exc.cellPressed.connect(self.on_row_selected) self.e_ui.tools_table_exc.cellPressed.connect(self.on_row_selected)
self.app.inform.emit('[success] %s' % _("Done. Tool edit completed.")) self.app.inform.emit('[success] %s' % _("Done."))
# self.e_ui.tools_table_exc.selectionModel().currentChanged.connect(self.on_row_selected) # self.e_ui.tools_table_exc.selectionModel().currentChanged.connect(self.on_row_selected)
@ -2861,7 +2861,7 @@ class AppExcEditor(QtCore.QObject):
) )
except Exception: except Exception:
msg = '[ERROR] %s' % \ msg = '[ERROR] %s' % \
_("An internal error has ocurred. See Shell.\n") _("An internal error has occurred. See shell.\n")
msg += traceback.format_exc() msg += traceback.format_exc()
app_obj.inform.emit(msg) app_obj.inform.emit(msg)
return return
@ -3491,7 +3491,7 @@ class AppExcEditor(QtCore.QObject):
self.selected = [] self.selected = []
self.build_ui() self.build_ui()
self.app.inform.emit('[success] %s' % _("Done. Drill(s) deleted.")) self.app.inform.emit('[success] %s' % _("Done."))
def delete_shape(self, del_shape): def delete_shape(self, del_shape):
self.is_modified = True self.is_modified = True
@ -3933,8 +3933,8 @@ class AppExcEditorUI:
self.linear_angle_label.setToolTip( self.linear_angle_label.setToolTip(
_("Angle at which the linear array is placed.\n" _("Angle at which the linear array is placed.\n"
"The precision is of max 2 decimals.\n" "The precision is of max 2 decimals.\n"
"Min value is: -360 degrees.\n" "Min value is: -360.00 degrees.\n"
"Max value is: 360.00 degrees.") "Max value is: 360.00 degrees.")
) )
self.linear_angle_label.setMinimumWidth(100) self.linear_angle_label.setMinimumWidth(100)
@ -3952,7 +3952,7 @@ class AppExcEditorUI:
self.array_circular_frame.setLayout(self.circular_box) self.array_circular_frame.setLayout(self.circular_box)
self.drill_direction_label = QtWidgets.QLabel('%s:' % _('Direction')) self.drill_direction_label = QtWidgets.QLabel('%s:' % _('Direction'))
self.drill_direction_label.setToolTip(_("Direction for circular array." self.drill_direction_label.setToolTip(_("Direction for circular array.\n"
"Can be CW = clockwise or CCW = counter clockwise.")) "Can be CW = clockwise or CCW = counter clockwise."))
self.drill_direction_label.setMinimumWidth(100) self.drill_direction_label.setMinimumWidth(100)
@ -4042,8 +4042,8 @@ class AppExcEditorUI:
self.slot_angle_label.setToolTip( self.slot_angle_label.setToolTip(
_("Angle at which the slot is placed.\n" _("Angle at which the slot is placed.\n"
"The precision is of max 2 decimals.\n" "The precision is of max 2 decimals.\n"
"Min value is: -360 degrees.\n" "Min value is: -360.00 degrees.\n"
"Max value is: 360.00 degrees.") "Max value is: 360.00 degrees.")
) )
self.slot_angle_label.setMinimumWidth(100) self.slot_angle_label.setMinimumWidth(100)
@ -4149,8 +4149,8 @@ class AppExcEditorUI:
self.slot_array_linear_angle_label.setToolTip( self.slot_array_linear_angle_label.setToolTip(
_("Angle at which the linear array is placed.\n" _("Angle at which the linear array is placed.\n"
"The precision is of max 2 decimals.\n" "The precision is of max 2 decimals.\n"
"Min value is: -360 degrees.\n" "Min value is: -360.00 degrees.\n"
"Max value is: 360.00 degrees.") "Max value is: 360.00 degrees.")
) )
self.slot_array_linear_angle_label.setMinimumWidth(100) self.slot_array_linear_angle_label.setMinimumWidth(100)
@ -4168,7 +4168,7 @@ class AppExcEditorUI:
self.slot_array_circular_frame.setLayout(self.slot_array_circular_box) self.slot_array_circular_frame.setLayout(self.slot_array_circular_box)
self.slot_array_direction_label = QtWidgets.QLabel('%s:' % _('Direction')) self.slot_array_direction_label = QtWidgets.QLabel('%s:' % _('Direction'))
self.slot_array_direction_label.setToolTip(_("Direction for circular array." self.slot_array_direction_label.setToolTip(_("Direction for circular array.\n"
"Can be CW = clockwise or CCW = counter clockwise.")) "Can be CW = clockwise or CCW = counter clockwise."))
self.slot_array_direction_label.setMinimumWidth(100) self.slot_array_direction_label.setMinimumWidth(100)

View File

@ -84,8 +84,8 @@ class BufferSelectionTool(AppTool):
self.buffer_distance_entry = FCDoubleSpinner() self.buffer_distance_entry = FCDoubleSpinner()
self.buffer_distance_entry.set_precision(self.decimals) self.buffer_distance_entry.set_precision(self.decimals)
self.buffer_distance_entry.set_range(0.0000, 9910000.0000) self.buffer_distance_entry.set_range(0.0000, 9910000.0000)
form_layout.addRow(_("Buffer distance:"), self.buffer_distance_entry) form_layout.addRow('%S:' % _("Buffer distance"), self.buffer_distance_entry)
self.buffer_corner_lbl = FCLabel(_("Buffer corner:")) self.buffer_corner_lbl = FCLabel('%s:' % _("Buffer corner"))
self.buffer_corner_lbl.setToolTip( self.buffer_corner_lbl.setToolTip(
_("There are 3 types of corners:\n" _("There are 3 types of corners:\n"
" - 'Round': the corner is rounded for exterior buffer.\n" " - 'Round': the corner is rounded for exterior buffer.\n"
@ -438,7 +438,7 @@ class PaintOptionsTool(AppTool):
grid.setColumnStretch(1, 1) grid.setColumnStretch(1, 1)
# Tool dia # Tool dia
ptdlabel = FCLabel('%s:' % _('Tool dia')) ptdlabel = FCLabel('%s:' % _('Tool Dia'))
ptdlabel.setToolTip( ptdlabel.setToolTip(
_("Diameter of the tool to be used in the operation.") _("Diameter of the tool to be used in the operation.")
) )
@ -685,7 +685,7 @@ class TransformEditorTool(AppTool):
self.rotate_label = FCLabel('%s:' % _("Angle")) self.rotate_label = FCLabel('%s:' % _("Angle"))
self.rotate_label.setToolTip( self.rotate_label.setToolTip(
_("Angle for Rotation action, in degrees.\n" _("Angle, in degrees.\n"
"Float number between -360 and 359.\n" "Float number between -360 and 359.\n"
"Positive numbers for CW motion.\n" "Positive numbers for CW motion.\n"
"Negative numbers for CCW motion.") "Negative numbers for CCW motion.")
@ -1284,9 +1284,9 @@ class TransformEditorTool(AppTool):
sel_sha.rotate(-val, point=(px, py)) sel_sha.rotate(-val, point=(px, py))
self.draw_app.replot() self.draw_app.replot()
self.app.inform.emit('[success] %s' % _("Done. Rotate completed.")) self.app.inform.emit('[success] %s' % _("Done."))
except Exception as e: except Exception as e:
self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Rotation action was not executed"), str(e))) self.app.inform.emit('[ERROR_NOTCL] %s: %s.' % (_("Action was not executed"), str(e)))
return return
def on_flip(self, axis, point): def on_flip(self, axis, point):
@ -1312,14 +1312,14 @@ class TransformEditorTool(AppTool):
for sha in shape_list: for sha in shape_list:
if axis == 'X': if axis == 'X':
sha.mirror('X', (px, py)) sha.mirror('X', (px, py))
self.app.inform.emit('[success] %s...' % _('Flip on the Y axis done')) self.app.inform.emit('[success] %s...' % _('Flip on Y axis done'))
elif axis == 'Y': elif axis == 'Y':
sha.mirror('Y', (px, py)) sha.mirror('Y', (px, py))
self.app.inform.emit('[success] %s' % _('Flip on the X axis done')) self.app.inform.emit('[success] %s' % _('Flip on X axis done'))
self.draw_app.replot() self.draw_app.replot()
except Exception as e: except Exception as e:
self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Flip action was not executed"), str(e))) self.app.inform.emit('[ERROR_NOTCL] %s: %s.' % (_("Action was not executed"), str(e)))
return return
def on_skew(self, axis, xval, yval, point): def on_skew(self, axis, xval, yval, point):
@ -1353,7 +1353,7 @@ class TransformEditorTool(AppTool):
self.app.inform.emit('[success] %s...' % _('Skew on the Y axis done')) self.app.inform.emit('[success] %s...' % _('Skew on the Y axis done'))
except Exception as e: except Exception as e:
self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Skew action was not executed"), str(e))) self.app.inform.emit('[ERROR_NOTCL] %s: %s.' % (_("Action was not executed"), str(e)))
return return
def on_scale(self, axis, xfactor, yfactor, point=None): def on_scale(self, axis, xfactor, yfactor, point=None):
@ -1387,7 +1387,7 @@ class TransformEditorTool(AppTool):
else: else:
self.app.inform.emit('[success] %s...' % _('Scale on the Y axis done')) self.app.inform.emit('[success] %s...' % _('Scale on the Y axis done'))
except Exception as e: except Exception as e:
self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Scale action was not executed"), str(e))) self.app.inform.emit('[ERROR_NOTCL] %s: %s.' % (_("Action was not executed"), str(e)))
return return
def on_offset(self, axis, num): def on_offset(self, axis, num):
@ -1420,7 +1420,7 @@ class TransformEditorTool(AppTool):
self.app.inform.emit('[success] %s...' % _('Offset on the Y axis done')) self.app.inform.emit('[success] %s...' % _('Offset on the Y axis done'))
except Exception as e: except Exception as e:
self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Offset action was not executed"), str(e))) self.app.inform.emit('[ERROR_NOTCL] %s: %s.' % (_("Action was not executed"), str(e)))
return return
def on_buffer_action(self, value, join, factor=None): def on_buffer_action(self, value, join, factor=None):
@ -1441,7 +1441,7 @@ class TransformEditorTool(AppTool):
except Exception as e: except Exception as e:
self.app.log.debug("TransformEditorTool.on_buffer_action() --> %s" % str(e)) self.app.log.debug("TransformEditorTool.on_buffer_action() --> %s" % str(e))
self.app.inform.emit('[ERROR_NOTCL] %s: %s.' % (_("Action was not executed, due of"), str(e))) self.app.inform.emit('[ERROR_NOTCL] %s: %s.' % (_("Action was not executed"), str(e)))
return return
def on_rotate_key(self): def on_rotate_key(self):
@ -2002,7 +2002,7 @@ class FCCircle(FCShapeTool):
self.draw_app.app.jump_signal.disconnect() self.draw_app.app.jump_signal.disconnect()
self.draw_app.app.inform.emit('[success] %s' % _("Done. Adding Circle completed.")) self.draw_app.app.inform.emit('[success] %s' % _("Done."))
def clean_up(self): def clean_up(self):
self.draw_app.selected = [] self.draw_app.selected = []
@ -2081,7 +2081,7 @@ class FCArc(FCShapeTool):
def on_key(self, key): def on_key(self, key):
if key == 'D' or key == QtCore.Qt.Key_D: if key == 'D' or key == QtCore.Qt.Key_D:
self.direction = 'cw' if self.direction == 'ccw' else 'ccw' self.direction = 'cw' if self.direction == 'ccw' else 'ccw'
return _('Direction: %s') % self.direction.upper() return '%s: %s' % (_('Direction'), self.direction.upper())
# Jump to coords # Jump to coords
if key == QtCore.Qt.Key_J or key == 'J': if key == QtCore.Qt.Key_J or key == 'J':
@ -2242,7 +2242,7 @@ class FCArc(FCShapeTool):
self.draw_app.app.jump_signal.disconnect() self.draw_app.app.jump_signal.disconnect()
self.draw_app.app.inform.emit('[success] %s' % _("Done. Arc completed.")) self.draw_app.app.inform.emit('[success] %s' % _("Done."))
def clean_up(self): def clean_up(self):
self.draw_app.selected = [] self.draw_app.selected = []
@ -2315,7 +2315,7 @@ class FCRectangle(FCShapeTool):
self.complete = True self.complete = True
self.draw_app.app.jump_signal.disconnect() self.draw_app.app.jump_signal.disconnect()
self.draw_app.app.inform.emit('[success] %s' % _("Done. Rectangle completed.")) self.draw_app.app.inform.emit('[success] %s' % _("Done."))
def clean_up(self): def clean_up(self):
self.draw_app.selected = [] self.draw_app.selected = []
@ -2390,7 +2390,7 @@ class FCPolygon(FCShapeTool):
self.draw_app.app.jump_signal.disconnect() self.draw_app.app.jump_signal.disconnect()
self.draw_app.app.inform.emit('[success] %s' % _("Done. Polygon completed.")) self.draw_app.app.inform.emit('[success] %s' % _("Done."))
def on_key(self, key): def on_key(self, key):
# Jump to coords # Jump to coords
@ -2447,7 +2447,7 @@ class FCPath(FCPolygon):
self.draw_app.app.jump_signal.disconnect() self.draw_app.app.jump_signal.disconnect()
self.draw_app.app.inform.emit('[success] %s' % _("Done. Path completed.")) self.draw_app.app.inform.emit('[success] %s' % _("Done."))
def utility_geometry(self, data=None): def utility_geometry(self, data=None):
if len(self.points) > 0: if len(self.points) > 0:
@ -2639,7 +2639,7 @@ class FCExplode(FCShapeTool):
geo_list.append(DrawToolShape(line)) geo_list.append(DrawToolShape(line))
self.geometry = geo_list self.geometry = geo_list
self.draw_app.on_shape_complete() self.draw_app.on_shape_complete()
self.draw_app.app.inform.emit('[success] %s...' % _("Done. Polygons exploded into lines.")) self.draw_app.app.inform.emit('[success] %s...' % _("Done."))
def clean_up(self): def clean_up(self):
self.draw_app.selected = [] self.draw_app.selected = []
@ -2679,7 +2679,7 @@ class FCMove(FCShapeTool):
self.draw_app.app.jump_signal.connect(lambda x: self.draw_app.update_utility_geometry(data=x)) self.draw_app.app.jump_signal.connect(lambda x: self.draw_app.update_utility_geometry(data=x))
def set_origin(self, origin): def set_origin(self, origin):
self.draw_app.app.inform.emit(_(" Click on destination point ...")) self.draw_app.app.inform.emit(_("Click on destination point ..."))
self.origin = origin self.origin = origin
def click(self, point): def click(self, point):
@ -2719,7 +2719,7 @@ class FCMove(FCShapeTool):
# Delete old # Delete old
self.draw_app.delete_selected() self.draw_app.delete_selected()
self.complete = True self.complete = True
self.draw_app.app.inform.emit('[success] %s' % _("Done. Geometry(s) Move completed.")) self.draw_app.app.inform.emit('[success] %s' % _("Done."))
try: try:
self.draw_app.app.jump_signal.disconnect() self.draw_app.app.jump_signal.disconnect()
except TypeError: except TypeError:
@ -2852,7 +2852,7 @@ class FCCopy(FCMove):
self.geometry = [DrawToolShape(affinity.translate(geom.geo, xoff=dx, yoff=dy)) self.geometry = [DrawToolShape(affinity.translate(geom.geo, xoff=dx, yoff=dy))
for geom in self.draw_app.get_selected()] for geom in self.draw_app.get_selected()]
self.complete = True self.complete = True
self.draw_app.app.inform.emit('[success] %s' % _("Done. Geometry(s) Copy completed.")) self.draw_app.app.inform.emit('[success] %s' % _("Done."))
try: try:
self.draw_app.app.jump_signal.disconnect() self.draw_app.app.jump_signal.disconnect()
except (TypeError, AttributeError): except (TypeError, AttributeError):
@ -2925,7 +2925,7 @@ class FCText(FCShapeTool):
self.text_gui.text_path = [] self.text_gui.text_path = []
self.text_gui.hide_tool() self.text_gui.hide_tool()
self.complete = True self.complete = True
self.draw_app.app.inform.emit('[success]%s' % _(" Done. Adding Text completed.")) self.draw_app.app.inform.emit('[success]%s' % _("Done."))
def utility_geometry(self, data=None): def utility_geometry(self, data=None):
""" """
@ -2997,7 +2997,7 @@ class FCBuffer(FCShapeTool):
self.disactivate() self.disactivate()
if ret_val == 'fail': if ret_val == 'fail':
return return
self.draw_app.app.inform.emit('[success] %s' % _("Done. Buffer Tool completed.")) self.draw_app.app.inform.emit('[success] %s' % _("Done."))
def on_buffer_int(self): def on_buffer_int(self):
if not self.draw_app.selected: if not self.draw_app.selected:
@ -3025,7 +3025,7 @@ class FCBuffer(FCShapeTool):
self.disactivate() self.disactivate()
if ret_val == 'fail': if ret_val == 'fail':
return return
self.draw_app.app.inform.emit('[success] %s' % _("Done. Buffer Int Tool completed.")) self.draw_app.app.inform.emit('[success] %s' % _("Done."))
def on_buffer_ext(self): def on_buffer_ext(self):
if not self.draw_app.selected: if not self.draw_app.selected:
@ -3053,7 +3053,7 @@ class FCBuffer(FCShapeTool):
self.disactivate() self.disactivate()
if ret_val == 'fail': if ret_val == 'fail':
return return
self.draw_app.app.inform.emit('[success] %s' % _("Done. Buffer Ext Tool completed.")) self.draw_app.app.inform.emit('[success] %s' % _("Done."))
def activate(self): def activate(self):
self.buff_tool.buffer_button.clicked.disconnect() self.buff_tool.buffer_button.clicked.disconnect()
@ -3169,7 +3169,7 @@ class FCEraser(FCShapeTool):
self.draw_app.delete_utility_geometry() self.draw_app.delete_utility_geometry()
self.draw_app.plot_all() self.draw_app.plot_all()
self.draw_app.app.inform.emit('[success] %s' % _("Done. Eraser tool action completed.")) self.draw_app.app.inform.emit('[success] %s' % _("Done."))
try: try:
self.draw_app.app.jump_signal.disconnect() self.draw_app.app.jump_signal.disconnect()
except (TypeError, AttributeError): except (TypeError, AttributeError):
@ -4804,7 +4804,7 @@ class AppGeoEditor(QtCore.QObject):
except Exception as e: except Exception as e:
log.debug("AppGeoEditor.intersection() --> %s" % str(e)) log.debug("AppGeoEditor.intersection() --> %s" % str(e))
self.app.inform.emit('[WARNING_NOTCL] %s' % self.app.inform.emit('[WARNING_NOTCL] %s' %
_("A selection of at least 2 geo items is required to do Intersection.")) _("A selection of minimum two items is required to do Intersection."))
self.select_tool('select') self.select_tool('select')
return return
@ -4839,7 +4839,7 @@ class AppGeoEditor(QtCore.QObject):
except Exception as e: except Exception as e:
log.debug("AppGeoEditor.intersection() --> %s" % str(e)) log.debug("AppGeoEditor.intersection() --> %s" % str(e))
self.app.inform.emit('[WARNING_NOTCL] %s' % self.app.inform.emit('[WARNING_NOTCL] %s' %
_("A selection of at least 2 geo items is required to do Intersection.")) _("A selection of minimum two items is required to do Intersection."))
self.select_tool('select') self.select_tool('select')
return return
@ -5012,7 +5012,7 @@ class AppGeoEditor(QtCore.QObject):
if not results: if not results:
self.app.inform.emit('[ERROR_NOTCL] %s' % self.app.inform.emit('[ERROR_NOTCL] %s' %
_("Failed, the result is empty. Choose a smaller buffer value.")) _("Failed, the result is empty. Choose a different buffer value."))
# deselect everything # deselect everything
self.selected = [] self.selected = []
self.replot() self.replot()

View File

@ -385,7 +385,7 @@ class FCPad(FCShapeTool):
self.draw_app.in_action = False self.draw_app.in_action = False
self.complete = True self.complete = True
self.draw_app.app.inform.emit('[success] %s' % _("Done. Adding Pad completed.")) self.draw_app.app.inform.emit('[success] %s' % _("Done."))
self.draw_app.app.jump_signal.disconnect() self.draw_app.app.jump_signal.disconnect()
def clean_up(self): def clean_up(self):
@ -713,7 +713,7 @@ class FCPadArray(FCShapeTool):
else: else:
if (self.pad_angle * self.pad_array_size) > 360: if (self.pad_angle * self.pad_array_size) > 360:
self.draw_app.app.inform.emit('[WARNING_NOTCL] %s' % self.draw_app.app.inform.emit('[WARNING_NOTCL] %s' %
_("Too many Pads for the selected spacing angle.")) _("Too many items for the selected spacing angle."))
return return
radius = distance(self.destination, self.origin) radius = distance(self.destination, self.origin)
@ -735,8 +735,7 @@ class FCPadArray(FCShapeTool):
self.geometry.append(DrawToolShape(geo)) self.geometry.append(DrawToolShape(geo))
self.complete = True self.complete = True
self.draw_app.app.inform.emit('[success] %s' % self.draw_app.app.inform.emit('[success] %s' % _("Done."))
_("Done. Pad Array added."))
self.draw_app.in_action = False self.draw_app.in_action = False
self.draw_app.array_frame.hide() self.draw_app.array_frame.hide()
self.draw_app.app.jump_signal.disconnect() self.draw_app.app.jump_signal.disconnect()
@ -838,7 +837,7 @@ class FCPoligonize(FCShapeTool):
self.draw_app.in_action = False self.draw_app.in_action = False
self.complete = True self.complete = True
self.draw_app.app.inform.emit('[success] %s' % _("Done. Poligonize completed.")) self.draw_app.app.inform.emit('[success] %s' % _("Done."))
# MS: always return to the Select Tool if modifier key is not pressed # MS: always return to the Select Tool if modifier key is not pressed
# else return to the current tool # else return to the current tool
@ -918,7 +917,7 @@ class FCRegion(FCShapeTool):
self.points.append(point) self.points.append(point)
if len(self.points) > 0: if len(self.points) > 0:
self.draw_app.app.inform.emit(_("Click on next Point or click Right mouse button to complete ...")) self.draw_app.app.inform.emit(_("Click on next Point or click right mouse button to complete ..."))
return "Click on next point or hit ENTER to complete ..." return "Click on next point or hit ENTER to complete ..."
return "" return ""
@ -1241,7 +1240,7 @@ class FCTrack(FCShapeTool):
self.draw_app.plot_all() self.draw_app.plot_all()
if len(self.points) > 0: if len(self.points) > 0:
self.draw_app.app.inform.emit(_("Click on next Point or click Right mouse button to complete ...")) self.draw_app.app.inform.emit(_("Click on next Point or click right mouse button to complete ..."))
return "Click on next point or hit ENTER to complete ..." return "Click on next point or hit ENTER to complete ..."
return "" return ""
@ -2111,7 +2110,7 @@ class FCApertureMove(FCShapeTool):
self.draw_app.plot_all() self.draw_app.plot_all()
self.draw_app.build_ui() self.draw_app.build_ui()
self.draw_app.app.inform.emit('[success] %s' % _("Done. Apertures Move completed.")) self.draw_app.app.inform.emit('[success] %s' % _("Done."))
self.draw_app.app.jump_signal.disconnect() self.draw_app.app.jump_signal.disconnect()
def clean_up(self): def clean_up(self):
@ -2192,7 +2191,7 @@ class FCApertureCopy(FCApertureMove):
sel_shapes_to_be_deleted = [] sel_shapes_to_be_deleted = []
self.draw_app.build_ui() self.draw_app.build_ui()
self.draw_app.app.inform.emit('[success] %s' % _("Done. Apertures copied.")) self.draw_app.app.inform.emit('[success] %s' % _("Done."))
self.draw_app.app.jump_signal.disconnect() self.draw_app.app.jump_signal.disconnect()
@ -2302,7 +2301,7 @@ class FCEraser(FCShapeTool):
self.draw_app.delete_utility_geometry() self.draw_app.delete_utility_geometry()
self.draw_app.plot_all() self.draw_app.plot_all()
self.draw_app.app.inform.emit('[success] %s' % _("Done. Eraser tool action completed.")) self.draw_app.app.inform.emit('[success] %s' % _("Done."))
self.draw_app.app.jump_signal.disconnect() self.draw_app.app.jump_signal.disconnect()
def clean_up(self): def clean_up(self):
@ -2621,7 +2620,7 @@ class AppGerberEditor(QtCore.QObject):
grid1.addWidget(self.apcode_entry, 1, 1) grid1.addWidget(self.apcode_entry, 1, 1)
apsize_lbl = QtWidgets.QLabel('%s:' % _('Aperture Size')) apsize_lbl = QtWidgets.QLabel('%s' % _('Aperture Size:'))
apsize_lbl.setToolTip( apsize_lbl.setToolTip(
_("Size for the new aperture.\n" _("Size for the new aperture.\n"
"If aperture type is 'R' or 'O' then\n" "If aperture type is 'R' or 'O' then\n"
@ -2923,8 +2922,8 @@ class AppGerberEditor(QtCore.QObject):
self.linear_angle_label.setToolTip( self.linear_angle_label.setToolTip(
_("Angle at which the linear array is placed.\n" _("Angle at which the linear array is placed.\n"
"The precision is of max 2 decimals.\n" "The precision is of max 2 decimals.\n"
"Min value is: -359.99 degrees.\n" "Min value is: -360.00 degrees.\n"
"Max value is: 360.00 degrees.") "Max value is: 360.00 degrees.")
) )
self.linear_angle_label.setMinimumWidth(100) self.linear_angle_label.setMinimumWidth(100)
@ -2942,7 +2941,7 @@ class AppGerberEditor(QtCore.QObject):
self.pad_direction_label = QtWidgets.QLabel('%s:' % _('Direction')) self.pad_direction_label = QtWidgets.QLabel('%s:' % _('Direction'))
self.pad_direction_label.setToolTip( self.pad_direction_label.setToolTip(
_("Direction for circular array." _("Direction for circular array.\n"
"Can be CW = clockwise or CCW = counter clockwise.") "Can be CW = clockwise or CCW = counter clockwise.")
) )
self.pad_direction_label.setMinimumWidth(100) self.pad_direction_label.setMinimumWidth(100)
@ -4444,7 +4443,7 @@ class AppGerberEditor(QtCore.QObject):
# make sure to clean the previous results # make sure to clean the previous results
self.results = [] self.results = []
self.deactivate_grb_editor() self.deactivate_grb_editor()
self.app.inform.emit('[success] %s' % _("Done. Gerber editing finished.")) self.app.inform.emit('[success] %s' % _("Done."))
def on_tool_select(self, tool): def on_tool_select(self, tool):
""" """
@ -5070,8 +5069,7 @@ class AppGerberEditor(QtCore.QObject):
self.selected = [] self.selected = []
self.build_ui() self.build_ui()
self.app.inform.emit('[success] %s' % self.app.inform.emit('[success] %s' % _("Done."))
_("Done. Apertures geometry deleted."))
def delete_shape(self, geo_el): def delete_shape(self, geo_el):
self.is_modified = True self.is_modified = True
@ -5230,7 +5228,7 @@ class AppGerberEditor(QtCore.QObject):
return return
self.plot_all() self.plot_all()
self.app.inform.emit('[success] %s' % _("Done. Buffer Tool completed.")) self.app.inform.emit('[success] %s' % _("Done."))
def on_scale(self): def on_scale(self):
scale_factor = 1.0 scale_factor = 1.0
@ -5292,8 +5290,7 @@ class AppGerberEditor(QtCore.QObject):
log.debug("AppGerberEditor.on_scale() --> %s" % str(e)) log.debug("AppGerberEditor.on_scale() --> %s" % str(e))
self.plot_all() self.plot_all()
self.app.inform.emit('[success] %s' % self.app.inform.emit('[success] %s' % _("Done."))
_("Done. Scale Tool completed."))
def on_markarea(self): def on_markarea(self):
# clear previous marking # clear previous marking
@ -5342,7 +5339,7 @@ class AppGerberEditor(QtCore.QObject):
self.build_ui() self.build_ui()
self.plot_all() self.plot_all()
self.app.inform.emit('[success] %s' % _("Done. Apertures geometry deleted.")) self.app.inform.emit('[success] %s' % _("Done."))
def on_eraser(self): def on_eraser(self):
self.select_tool('eraser') self.select_tool('eraser')
@ -5455,7 +5452,7 @@ class TransformEditorTool(AppTool):
self.rotate_label = QtWidgets.QLabel('%s:' % _("Angle")) self.rotate_label = QtWidgets.QLabel('%s:' % _("Angle"))
self.rotate_label.setToolTip( self.rotate_label.setToolTip(
_("Angle for Rotation action, in degrees.\n" _("Angle, in degrees.\n"
"Float number between -360 and 359.\n" "Float number between -360 and 359.\n"
"Positive numbers for CW motion.\n" "Positive numbers for CW motion.\n"
"Negative numbers for CCW motion.") "Negative numbers for CCW motion.")
@ -6060,9 +6057,9 @@ class TransformEditorTool(AppTool):
sel_el['clear'] = affinity.rotate(sel_el['clear'], angle=-val, origin=(px, py)) sel_el['clear'] = affinity.rotate(sel_el['clear'], angle=-val, origin=(px, py))
self.draw_app.plot_all() self.draw_app.plot_all()
self.app.inform.emit('[success] %s' % _("Done. Rotate completed.")) self.app.inform.emit('[success] %s' % _("Done."))
except Exception as e: except Exception as e:
self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Rotation action was not executed."), str(e))) self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Action was not executed"), str(e)))
return return
def on_flip(self, axis, point): def on_flip(self, axis, point):
@ -6093,7 +6090,7 @@ class TransformEditorTool(AppTool):
sel_el['follow'] = affinity.scale(sel_el['follow'], xfact=1, yfact=-1, origin=(px, py)) sel_el['follow'] = affinity.scale(sel_el['follow'], xfact=1, yfact=-1, origin=(px, py))
if 'clear' in sel_el: if 'clear' in sel_el:
sel_el['clear'] = affinity.scale(sel_el['clear'], xfact=1, yfact=-1, origin=(px, py)) sel_el['clear'] = affinity.scale(sel_el['clear'], xfact=1, yfact=-1, origin=(px, py))
self.app.inform.emit('[success] %s...' % _('Flip on the Y axis done')) self.app.inform.emit('[success] %s...' % _('Flip on Y axis done'))
elif axis == 'Y': elif axis == 'Y':
if 'solid' in sel_el: if 'solid' in sel_el:
sel_el['solid'] = affinity.scale(sel_el['solid'], xfact=-1, yfact=1, origin=(px, py)) sel_el['solid'] = affinity.scale(sel_el['solid'], xfact=-1, yfact=1, origin=(px, py))
@ -6101,10 +6098,10 @@ class TransformEditorTool(AppTool):
sel_el['follow'] = affinity.scale(sel_el['follow'], xfact=-1, yfact=1, origin=(px, py)) sel_el['follow'] = affinity.scale(sel_el['follow'], xfact=-1, yfact=1, origin=(px, py))
if 'clear' in sel_el: if 'clear' in sel_el:
sel_el['clear'] = affinity.scale(sel_el['clear'], xfact=-1, yfact=1, origin=(px, py)) sel_el['clear'] = affinity.scale(sel_el['clear'], xfact=-1, yfact=1, origin=(px, py))
self.app.inform.emit('[success] %s...' % _('Flip on the X axis done')) self.app.inform.emit('[success] %s...' % _('Flip on X axis done'))
self.draw_app.plot_all() self.draw_app.plot_all()
except Exception as e: except Exception as e:
self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Flip action was not executed."), str(e))) self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Action was not executed"), str(e)))
return return
def on_skew(self, axis, xval, yval, point): def on_skew(self, axis, xval, yval, point):
@ -6144,7 +6141,7 @@ class TransformEditorTool(AppTool):
else: else:
self.app.inform.emit('[success] %s...' % _('Skew on the Y axis done')) self.app.inform.emit('[success] %s...' % _('Skew on the Y axis done'))
except Exception as e: except Exception as e:
self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Skew action was not executed."), str(e))) self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Action was not executed"), str(e)))
return return
def on_scale(self, axis, xfactor, yfactor, point=None): def on_scale(self, axis, xfactor, yfactor, point=None):
@ -6183,7 +6180,7 @@ class TransformEditorTool(AppTool):
self.app.inform.emit('[success] %s...' % _('Scale on the Y axis done')) self.app.inform.emit('[success] %s...' % _('Scale on the Y axis done'))
except Exception as e: except Exception as e:
self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Scale action was not executed."), str(e))) self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Action was not executed"), str(e)))
return return
def on_offset(self, axis, num): def on_offset(self, axis, num):
@ -6227,7 +6224,7 @@ class TransformEditorTool(AppTool):
self.app.inform.emit('[success] %s...' % _('Offset on the Y axis done')) self.app.inform.emit('[success] %s...' % _('Offset on the Y axis done'))
except Exception as e: except Exception as e:
self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Offset action was not executed."), str(e))) self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Action was not executed"), str(e)))
return return
def on_buffer_action(self, value, join, factor=None): def on_buffer_action(self, value, join, factor=None):
@ -6263,7 +6260,7 @@ class TransformEditorTool(AppTool):
except Exception as e: except Exception as e:
self.app.log.debug("TransformEditorTool.on_buffer_action() --> %s" % str(e)) self.app.log.debug("TransformEditorTool.on_buffer_action() --> %s" % str(e))
self.app.inform.emit('[ERROR_NOTCL] %s: %s.' % (_("Action was not executed, due of"), str(e))) self.app.inform.emit('[ERROR_NOTCL] %s: %s.' % (_("Action was not executed"), str(e)))
return return
def on_rotate_key(self): def on_rotate_key(self):

View File

@ -1010,7 +1010,7 @@ class MainGUI(QtWidgets.QMainWindow):
self.replot_btn = self.toolbarview.addAction( self.replot_btn = self.toolbarview.addAction(
QtGui.QIcon(self.app.resource_location + '/replot32.png'), _("Replot")) QtGui.QIcon(self.app.resource_location + '/replot32.png'), _("Replot"))
self.clear_plot_btn = self.toolbarview.addAction( self.clear_plot_btn = self.toolbarview.addAction(
QtGui.QIcon(self.app.resource_location + '/clear_plot32.png'), _("Clear plot")) QtGui.QIcon(self.app.resource_location + '/clear_plot32.png'), _("Clear Plot"))
self.zoom_in_btn = self.toolbarview.addAction( self.zoom_in_btn = self.toolbarview.addAction(
QtGui.QIcon(self.app.resource_location + '/zoom_in32.png'), _("Zoom In")) QtGui.QIcon(self.app.resource_location + '/zoom_in32.png'), _("Zoom In"))
self.zoom_out_btn = self.toolbarview.addAction( self.zoom_out_btn = self.toolbarview.addAction(
@ -1036,7 +1036,7 @@ class MainGUI(QtWidgets.QMainWindow):
# ########################## Tools Toolbar# ############################## # ########################## Tools Toolbar# ##############################
# ######################################################################## # ########################################################################
self.dblsided_btn = self.toolbartools.addAction( self.dblsided_btn = self.toolbartools.addAction(
QtGui.QIcon(self.app.resource_location + '/doubleside32.png'), _("2Sided Tool")) QtGui.QIcon(self.app.resource_location + '/doubleside32.png'), _("2-Sided Tool"))
self.align_btn = self.toolbartools.addAction( self.align_btn = self.toolbartools.addAction(
QtGui.QIcon(self.app.resource_location + '/align32.png'), _("Align Objects Tool")) QtGui.QIcon(self.app.resource_location + '/align32.png'), _("Align Objects Tool"))
self.extract_btn = self.toolbartools.addAction( self.extract_btn = self.toolbartools.addAction(
@ -1097,9 +1097,9 @@ class MainGUI(QtWidgets.QMainWindow):
self.select_drill_btn = self.exc_edit_toolbar.addAction( self.select_drill_btn = self.exc_edit_toolbar.addAction(
QtGui.QIcon(self.app.resource_location + '/pointer32.png'), _("Select")) QtGui.QIcon(self.app.resource_location + '/pointer32.png'), _("Select"))
self.add_drill_btn = self.exc_edit_toolbar.addAction( self.add_drill_btn = self.exc_edit_toolbar.addAction(
QtGui.QIcon(self.app.resource_location + '/plus16.png'), _('Add Drill Hole')) QtGui.QIcon(self.app.resource_location + '/plus16.png'), _('Add Drill'))
self.add_drill_array_btn = self.exc_edit_toolbar.addAction( self.add_drill_array_btn = self.exc_edit_toolbar.addAction(
QtGui.QIcon(self.app.resource_location + '/addarray16.png'), _('Add Drill Hole Array')) QtGui.QIcon(self.app.resource_location + '/addarray16.png'), _('Add Drill Array'))
self.add_slot_btn = self.exc_edit_toolbar.addAction( self.add_slot_btn = self.exc_edit_toolbar.addAction(
QtGui.QIcon(self.app.resource_location + '/slot26.png'), _('Add Slot')) QtGui.QIcon(self.app.resource_location + '/slot26.png'), _('Add Slot'))
self.add_slot_array_btn = self.exc_edit_toolbar.addAction( self.add_slot_array_btn = self.exc_edit_toolbar.addAction(
@ -1162,7 +1162,7 @@ class MainGUI(QtWidgets.QMainWindow):
QtGui.QIcon(self.app.resource_location + '/copy32.png'), _("Copy Shape(s)")) QtGui.QIcon(self.app.resource_location + '/copy32.png'), _("Copy Shape(s)"))
self.geo_delete_btn = self.geo_edit_toolbar.addAction( self.geo_delete_btn = self.geo_edit_toolbar.addAction(
QtGui.QIcon(self.app.resource_location + '/trash32.png'), _("Delete Shape '-'")) QtGui.QIcon(self.app.resource_location + '/trash32.png'), _("Delete Shape"))
self.geo_transform_btn = self.geo_edit_toolbar.addAction( self.geo_transform_btn = self.geo_edit_toolbar.addAction(
QtGui.QIcon(self.app.resource_location + '/transform.png'), _("Transformations")) QtGui.QIcon(self.app.resource_location + '/transform.png'), _("Transformations"))
self.geo_edit_toolbar.addSeparator() self.geo_edit_toolbar.addSeparator()
@ -2181,7 +2181,7 @@ class MainGUI(QtWidgets.QMainWindow):
self.replot_btn = self.toolbarview.addAction( self.replot_btn = self.toolbarview.addAction(
QtGui.QIcon(self.app.resource_location + '/replot32.png'), _("Replot")) QtGui.QIcon(self.app.resource_location + '/replot32.png'), _("Replot"))
self.clear_plot_btn = self.toolbarview.addAction( self.clear_plot_btn = self.toolbarview.addAction(
QtGui.QIcon(self.app.resource_location + '/clear_plot32.png'), _("Clear plot")) QtGui.QIcon(self.app.resource_location + '/clear_plot32.png'), _("Clear Plot"))
self.zoom_in_btn = self.toolbarview.addAction( self.zoom_in_btn = self.toolbarview.addAction(
QtGui.QIcon(self.app.resource_location + '/zoom_in32.png'), _("Zoom In")) QtGui.QIcon(self.app.resource_location + '/zoom_in32.png'), _("Zoom In"))
self.zoom_out_btn = self.toolbarview.addAction( self.zoom_out_btn = self.toolbarview.addAction(
@ -2205,7 +2205,7 @@ class MainGUI(QtWidgets.QMainWindow):
# ######################### Tools Toolbar ################################# # ######################### Tools Toolbar #################################
# ######################################################################### # #########################################################################
self.dblsided_btn = self.toolbartools.addAction( self.dblsided_btn = self.toolbartools.addAction(
QtGui.QIcon(self.app.resource_location + '/doubleside32.png'), _("2Sided Tool")) QtGui.QIcon(self.app.resource_location + '/doubleside32.png'), _("2-Sided Tool"))
self.align_btn = self.toolbartools.addAction( self.align_btn = self.toolbartools.addAction(
QtGui.QIcon(self.app.resource_location + '/align32.png'), _("Align Objects Tool")) QtGui.QIcon(self.app.resource_location + '/align32.png'), _("Align Objects Tool"))
self.extract_btn = self.toolbartools.addAction( self.extract_btn = self.toolbartools.addAction(
@ -2266,9 +2266,9 @@ class MainGUI(QtWidgets.QMainWindow):
self.select_drill_btn = self.exc_edit_toolbar.addAction( self.select_drill_btn = self.exc_edit_toolbar.addAction(
QtGui.QIcon(self.app.resource_location + '/pointer32.png'), _("Select")) QtGui.QIcon(self.app.resource_location + '/pointer32.png'), _("Select"))
self.add_drill_btn = self.exc_edit_toolbar.addAction( self.add_drill_btn = self.exc_edit_toolbar.addAction(
QtGui.QIcon(self.app.resource_location + '/plus16.png'), _('Add Drill Hole')) QtGui.QIcon(self.app.resource_location + '/plus16.png'), _('Add Drill'))
self.add_drill_array_btn = self.exc_edit_toolbar.addAction( self.add_drill_array_btn = self.exc_edit_toolbar.addAction(
QtGui.QIcon(self.app.resource_location + '/addarray16.png'), _('Add Drill Hole Array')) QtGui.QIcon(self.app.resource_location + '/addarray16.png'), _('Add Drill Array'))
self.resize_drill_btn = self.exc_edit_toolbar.addAction( self.resize_drill_btn = self.exc_edit_toolbar.addAction(
QtGui.QIcon(self.app.resource_location + '/resize16.png'), _('Resize Drill')) QtGui.QIcon(self.app.resource_location + '/resize16.png'), _('Resize Drill'))
self.add_slot_btn = self.exc_edit_toolbar.addAction( self.add_slot_btn = self.exc_edit_toolbar.addAction(
@ -3250,7 +3250,7 @@ class MainGUI(QtWidgets.QMainWindow):
self.app.grb_editor.delete_selected() self.app.grb_editor.delete_selected()
self.app.grb_editor.plot_all() self.app.grb_editor.plot_all()
else: else:
self.app.inform.emit('[WARNING_NOTCL] %s' % _("Cancelled. Nothing selected to delete.")) self.app.inform.emit('[WARNING_NOTCL] %s' % _("Cancelled. Nothing selected."))
return return
# Delete aperture in apertures table if delete key event comes from the Selected Tab # Delete aperture in apertures table if delete key event comes from the Selected Tab
@ -3334,7 +3334,7 @@ class MainGUI(QtWidgets.QMainWindow):
self.app.grb_editor.active_tool.set_origin( self.app.grb_editor.active_tool.set_origin(
(self.app.grb_editor.snap_x, self.app.grb_editor.snap_y)) (self.app.grb_editor.snap_x, self.app.grb_editor.snap_y))
else: else:
self.app.inform.emit('[WARNING_NOTCL] %s' % _("Cancelled. Nothing selected to copy.")) self.app.inform.emit('[WARNING_NOTCL] %s' % _("Cancelled. Nothing selected."))
return return
# Add Disc Tool # Add Disc Tool
@ -3380,7 +3380,7 @@ class MainGUI(QtWidgets.QMainWindow):
self.app.grb_editor.active_tool.set_origin( self.app.grb_editor.active_tool.set_origin(
(self.app.grb_editor.snap_x, self.app.grb_editor.snap_y)) (self.app.grb_editor.snap_x, self.app.grb_editor.snap_y))
else: else:
self.app.inform.emit('[WARNING_NOTCL] %s' % _("Cancelled. Nothing selected to move.")) self.app.inform.emit('[WARNING_NOTCL] %s' % _("Cancelled. Nothing selected."))
return return
# Add Region Tool # Add Region Tool
@ -3465,7 +3465,7 @@ class MainGUI(QtWidgets.QMainWindow):
self.app.exc_editor.delete_selected() self.app.exc_editor.delete_selected()
self.app.exc_editor.replot() self.app.exc_editor.replot()
else: else:
self.app.inform.emit('[WARNING_NOTCL] %s' % _("Cancelled. Nothing selected to delete.")) self.app.inform.emit('[WARNING_NOTCL] %s' % _("Cancelled. Nothing selected."))
return return
# Delete tools in tools table if delete key event comes from the Selected Tab # Delete tools in tools table if delete key event comes from the Selected Tab
@ -3581,7 +3581,7 @@ class MainGUI(QtWidgets.QMainWindow):
self.app.exc_editor.active_tool.set_origin( self.app.exc_editor.active_tool.set_origin(
(self.app.exc_editor.snap_x, self.app.exc_editor.snap_y)) (self.app.exc_editor.snap_x, self.app.exc_editor.snap_y))
else: else:
self.app.inform.emit('[WARNING_NOTCL] %s' % _("Cancelled. Nothing selected to copy.")) self.app.inform.emit('[WARNING_NOTCL] %s' % _("Cancelled. Nothing selected."))
return return
# Add Drill Hole Tool # Add Drill Hole Tool
@ -3649,7 +3649,7 @@ class MainGUI(QtWidgets.QMainWindow):
'[success] %s: %s %s' % (_("Added new tool with dia"), formated_val, str(self.units)) '[success] %s: %s %s' % (_("Added new tool with dia"), formated_val, str(self.units))
) )
else: else:
self.app.inform.emit('[WARNING_NOTCL] %s' % _("Adding Tool cancelled ...")) self.app.inform.emit('[WARNING_NOTCL] %s...' % _("Adding Tool cancelled"))
return return
elif self.app.call_source == 'gcode_editor': elif self.app.call_source == 'gcode_editor':
# CTRL # CTRL
@ -4015,7 +4015,7 @@ class ShortcutsTab(QtWidgets.QWidget):
self.sh_hlay = QtWidgets.QHBoxLayout() self.sh_hlay = QtWidgets.QHBoxLayout()
self.sh_title = QtWidgets.QTextEdit(_('<b>Shortcut Key List</b>')) self.sh_title = QtWidgets.QTextEdit('<b>%s</b>' % _('Shortcut Key List'))
self.sh_title.setTextInteractionFlags(QtCore.Qt.NoTextInteraction) self.sh_title.setTextInteractionFlags(QtCore.Qt.NoTextInteraction)
self.sh_title.setFrameStyle(QtWidgets.QFrame.NoFrame) self.sh_title.setFrameStyle(QtWidgets.QFrame.NoFrame)
self.sh_title.setMaximumHeight(30) self.sh_title.setMaximumHeight(30)
@ -4507,8 +4507,8 @@ class ShortcutsTab(QtWidgets.QWidget):
_('Del'), _("Delete Object"), _('Del'), _("Delete Object"),
_('Del'), _("Alternate: Delete Tool"), _('Del'), _("Alternate: Delete Tool"),
_('`'), _("(left to Key_1)Toggle Notebook Area (Left Side)"), _('`'), _("(left to Key_1)Toggle Notebook Area (Left Side)"),
_('SPACE'), _("En(Dis)able Obj Plot"), _('Space'), _("En(Dis)able Obj Plot"),
_('ESC'), _("Deselects all objects") _('Esc'), _("Deselects all objects")
) )
) )
@ -4708,7 +4708,7 @@ class ShortcutsTab(QtWidgets.QWidget):
_('Ctrl+X'), _("Polygon Cut Tool"), _('Ctrl+X'), _("Polygon Cut Tool"),
_('Space'), _("Rotate Geometry"), _('Space'), _("Rotate Geometry"),
_('ENTER'), _("Finish drawing for certain tools"), _('ENTER'), _("Finish drawing for certain tools"),
_('ESC'), _("Abort and return to Select"), _('Esc'), _("Abort and return to Select"),
_('Del'), _("Delete Shape") _('Del'), _("Delete Shape")
) )
@ -4792,17 +4792,17 @@ class ShortcutsTab(QtWidgets.QWidget):
""" % ( """ % (
_("EXCELLON EDITOR"), _("EXCELLON EDITOR"),
_('A'), _("Add Drill Array"), _('A'), _("Add Drill Array"),
_('C'), _("Copy Drill(s)"), _('C'), _("Copy Drill"),
_('D'), _("Add Drill"), _('D'), _("Add Drill"),
_('J'), _("Jump to Location (x, y)"), _('J'), _("Jump to Location (x, y)"),
_('M'), _("Move Drill(s)"), _('M'), _("Move Drill"),
_('Q'), _("Add Slot Array"), _('Q'), _("Add Slot Array"),
_('R'), _("Resize Drill(s)"), _('R'), _("Resize Drill"),
_('T'), _("Add a new Tool"), _('T'), _("Add a new Tool"),
_('W'), _("Add Slot"), _('W'), _("Add Slot"),
_('Shift+M'), _("Distance Minimum Tool"), _('Shift+M'), _("Distance Minimum Tool"),
_('Del'), _("Delete Drill(s)"), _('Del'), _("Delete Drill"),
_('Del'), _("Alternate: Delete Tool(s)"), _('Del'), _("Alternate: Delete Tool"),
_('Esc'), _("Abort and return to Select"), _('Esc'), _("Abort and return to Select"),
_('Ctrl+S'), _("Save Object and Exit Editor") _('Ctrl+S'), _("Save Object and Exit Editor")
) )
@ -4937,7 +4937,7 @@ class ShortcutsTab(QtWidgets.QWidget):
_('T'), _("Within Track & Region Tools will cycle FORWARD the bend modes"), _('T'), _("Within Track & Region Tools will cycle FORWARD the bend modes"),
_('Del'), _("Delete"), _('Del'), _("Delete"),
_('Del'), _("Alternate: Delete Apertures"), _('Del'), _("Alternate: Delete Apertures"),
_('ESC'), _("Abort and return to Select"), _('Esc'), _("Abort and return to Select"),
_('Shift+M'), _("Distance Minimum Tool"), _('Shift+M'), _("Distance Minimum Tool"),
_('Ctrl+E'), _("Eraser Tool"), _('Ctrl+E'), _("Eraser Tool"),
_('Ctrl+S'), _("Save Object and Exit Editor"), _('Ctrl+S'), _("Save Object and Exit Editor"),

View File

@ -241,7 +241,7 @@ class GerberObjectUI(ObjectUI):
self.editor_button = QtWidgets.QPushButton(_('Gerber Editor')) self.editor_button = QtWidgets.QPushButton(_('Gerber Editor'))
self.editor_button.setIcon(QtGui.QIcon(self.app.resource_location + '/edit_file32.png')) self.editor_button.setIcon(QtGui.QIcon(self.app.resource_location + '/edit_file32.png'))
self.editor_button.setToolTip( self.editor_button.setToolTip(
_("Edit an Gerber object.") _("Start the Object Editor")
) )
self.editor_button.setStyleSheet(""" self.editor_button.setStyleSheet("""
QPushButton QPushButton
@ -580,7 +580,7 @@ class ExcellonObjectUI(ObjectUI):
self.editor_button.setIcon(QtGui.QIcon(self.app.resource_location + '/edit_file32.png')) self.editor_button.setIcon(QtGui.QIcon(self.app.resource_location + '/edit_file32.png'))
self.editor_button.setToolTip( self.editor_button.setToolTip(
_("Edit an Excellon object.") _("Start the Object Editor")
) )
self.editor_button.setStyleSheet(""" self.editor_button.setStyleSheet("""
QPushButton QPushButton
@ -673,7 +673,7 @@ class ExcellonObjectUI(ObjectUI):
"will be showed as a T1, T2 ... Tn in the Machine Code.\n\n" "will be showed as a T1, T2 ... Tn in the Machine Code.\n\n"
"Here the tools are selected for G-code generation.")) "Here the tools are selected for G-code generation."))
self.tools_table.horizontalHeaderItem(1).setToolTip( self.tools_table.horizontalHeaderItem(1).setToolTip(
_("Tool Diameter. It's value (in current FlatCAM units) \n" _("Tool Diameter. It's value\n"
"is the cut width into the material.")) "is the cut width into the material."))
self.tools_table.horizontalHeaderItem(2).setToolTip( self.tools_table.horizontalHeaderItem(2).setToolTip(
_("The number of Drill holes. Holes that are drilled with\n" _("The number of Drill holes. Holes that are drilled with\n"
@ -902,7 +902,7 @@ class GeometryObjectUI(ObjectUI):
self.editor_button.setIcon(QtGui.QIcon(self.app.resource_location + '/edit_file32.png')) self.editor_button.setIcon(QtGui.QIcon(self.app.resource_location + '/edit_file32.png'))
self.editor_button.setToolTip( self.editor_button.setToolTip(
_("Edit an Geometry object.") _("Start the Object Editor")
) )
self.editor_button.setStyleSheet(""" self.editor_button.setStyleSheet("""
QPushButton QPushButton
@ -1008,10 +1008,8 @@ class GeometryObjectUI(ObjectUI):
"will be showed as a T1, T2 ... Tn") "will be showed as a T1, T2 ... Tn")
) )
self.geo_tools_table.horizontalHeaderItem(1).setToolTip( self.geo_tools_table.horizontalHeaderItem(1).setToolTip(
_( _("Tool Diameter. It's value\n"
"Tool Diameter. It's value (in current FlatCAM units) \n" "is the cut width into the material."))
"is the cut width into the material."
))
self.geo_tools_table.horizontalHeaderItem(2).setToolTip( self.geo_tools_table.horizontalHeaderItem(2).setToolTip(
_( _(
"The value for the Offset can be:\n" "The value for the Offset can be:\n"
@ -1596,7 +1594,7 @@ class GeometryObjectUI(ObjectUI):
grid_a1.addWidget(self.over_z_entry, 2, 1) grid_a1.addWidget(self.over_z_entry, 2, 1)
# Button Add Area # Button Add Area
self.add_area_button = QtWidgets.QPushButton(_('Add area:')) self.add_area_button = QtWidgets.QPushButton(_('Add Area:'))
self.add_area_button.setToolTip(_("Add an Exclusion Area.")) self.add_area_button.setToolTip(_("Add an Exclusion Area."))
# Area Selection shape # Area Selection shape
@ -1910,7 +1908,7 @@ class CNCObjectUI(ObjectUI):
self.editor_button.setIcon(QtGui.QIcon(self.app.resource_location + '/edit_file32.png')) self.editor_button.setIcon(QtGui.QIcon(self.app.resource_location + '/edit_file32.png'))
self.editor_button.setToolTip( self.editor_button.setToolTip(
_("Edit an GCode object.") _("Start the Object Editor")
) )
self.editor_button.setStyleSheet(""" self.editor_button.setStyleSheet("""
QPushButton QPushButton

View File

@ -107,8 +107,8 @@ class CNCJobGenPrefGroupUI(OptionsGroupUI):
"- Incremental G91 -> the reference is the previous position") "- Incremental G91 -> the reference is the previous position")
) )
self.coords_type_radio = RadioSet([ self.coords_type_radio = RadioSet([
{"label": _("Absolute G90"), "value": "G90"}, {"label": _("Absolute"), "value": "G90"},
{"label": _("Incremental G91"), "value": "G91"} {"label": _("Incremental"), "value": "G91"}
], orientation='vertical', stretch=False) ], orientation='vertical', stretch=False)
grid0.addWidget(coords_type_label, 8, 0) grid0.addWidget(coords_type_label, 8, 0)
grid0.addWidget(self.coords_type_radio, 8, 1) grid0.addWidget(self.coords_type_radio, 8, 1)

View File

@ -33,7 +33,7 @@ class ExcellonAdvOptPrefGroupUI(OptionsGroupUI):
self.exc_label = QtWidgets.QLabel('<b>%s:</b>' % _('Advanced Options')) self.exc_label = QtWidgets.QLabel('<b>%s:</b>' % _('Advanced Options'))
self.exc_label.setToolTip( self.exc_label.setToolTip(
_("A list of Excellon advanced parameters.\n" _("A list of advanced parameters.\n"
"Those parameters are available only for\n" "Those parameters are available only for\n"
"Advanced App. Level.") "Advanced App. Level.")
) )

View File

@ -195,8 +195,8 @@ class ExcellonEditorPrefGroupUI(OptionsGroupUI):
self.slot_angle_label.setToolTip( self.slot_angle_label.setToolTip(
_("Angle at which the slot is placed.\n" _("Angle at which the slot is placed.\n"
"The precision is of max 2 decimals.\n" "The precision is of max 2 decimals.\n"
"Min value is: -359.99 degrees.\n" "Min value is: -360.00 degrees.\n"
"Max value is: 360.00 degrees.") "Max value is: 360.00 degrees.")
) )
self.slot_angle_label.setMinimumWidth(100) self.slot_angle_label.setMinimumWidth(100)

View File

@ -33,7 +33,7 @@ class GeometryAdvOptPrefGroupUI(OptionsGroupUI):
# ------------------------------ # ------------------------------
self.geo_label = FCLabel('<b>%s:</b>' % _('Advanced Options')) self.geo_label = FCLabel('<b>%s:</b>' % _('Advanced Options'))
self.geo_label.setToolTip( self.geo_label.setToolTip(
_("A list of Geometry advanced parameters.\n" _("A list of advanced parameters.\n"
"Those parameters are available only for\n" "Those parameters are available only for\n"
"Advanced App. Level.") "Advanced App. Level.")
) )

View File

@ -30,7 +30,7 @@ class GerberAdvOptPrefGroupUI(OptionsGroupUI):
# ## Advanced Gerber Parameters # ## Advanced Gerber Parameters
self.adv_param_label = QtWidgets.QLabel('<b>%s:</b>' % _('Advanced Options')) self.adv_param_label = QtWidgets.QLabel('<b>%s:</b>' % _('Advanced Options'))
self.adv_param_label.setToolTip( self.adv_param_label.setToolTip(
_("A list of Gerber advanced parameters.\n" _("A list of advanced parameters.\n"
"Those parameters are available only for\n" "Those parameters are available only for\n"
"Advanced App. Level.") "Advanced App. Level.")
) )

View File

@ -102,7 +102,7 @@ class Tools2CThievingPrefGroupUI(OptionsGroupUI):
], orientation='vertical', stretch=False) ], orientation='vertical', stretch=False)
self.reference_label = FCLabel(_("Reference:")) self.reference_label = FCLabel(_("Reference:"))
self.reference_label.setToolTip( self.reference_label.setToolTip(
_("- 'Itself' - the copper Thieving extent is based on the object extent.\n" _("- 'Itself' - the copper thieving extent is based on the object extent.\n"
"- 'Area Selection' - left mouse click to start selection of the area to be filled.\n" "- 'Area Selection' - left mouse click to start selection of the area to be filled.\n"
"- 'Reference Object' - will do copper thieving within the area specified by another object.") "- 'Reference Object' - will do copper thieving within the area specified by another object.")
) )
@ -114,7 +114,7 @@ class Tools2CThievingPrefGroupUI(OptionsGroupUI):
{'label': _('Rectangular'), 'value': 'rect'}, {'label': _('Rectangular'), 'value': 'rect'},
{"label": _("Minimal"), "value": "min"} {"label": _("Minimal"), "value": "min"}
], stretch=False) ], stretch=False)
self.bbox_type_label = FCLabel(_("Box Type:")) self.bbox_type_label = FCLabel('%s:' % _("Box Type"))
self.bbox_type_label.setToolTip( self.bbox_type_label.setToolTip(
_("- 'Rectangular' - the bounding box will be of rectangular shape.\n" _("- 'Rectangular' - the bounding box will be of rectangular shape.\n"
"- 'Minimal' - the bounding box will be the convex hull shape.") "- 'Minimal' - the bounding box will be the convex hull shape.")

View File

@ -128,8 +128,8 @@ class Tools2CalPrefGroupUI(OptionsGroupUI):
"- top-left -> the user will align the PCB vertically\n" "- top-left -> the user will align the PCB vertically\n"
"- bottom-right -> the user will align the PCB horizontally") "- bottom-right -> the user will align the PCB horizontally")
) )
self.second_point_radio = RadioSet([{'label': _('Top-Left'), 'value': 'tl'}, self.second_point_radio = RadioSet([{'label': _('Top Left'), 'value': 'tl'},
{'label': _('Bottom-Right'), 'value': 'br'}], {'label': _('Bottom Right'), 'value': 'br'}],
orientation='vertical') orientation='vertical')
grid_lay.addWidget(second_point_lbl, 8, 0) grid_lay.addWidget(second_point_lbl, 8, 0)

View File

@ -24,7 +24,7 @@ class Tools2sidedPrefGroupUI(OptionsGroupUI):
# OptionsGroupUI.__init__(self, "2sided Tool Options", parent=parent) # OptionsGroupUI.__init__(self, "2sided Tool Options", parent=parent)
super(Tools2sidedPrefGroupUI, self).__init__(self, parent=parent) super(Tools2sidedPrefGroupUI, self).__init__(self, parent=parent)
self.setTitle(str(_("2Sided Tool Options"))) self.setTitle(str(_("2-Sided Tool Options")))
self.decimals = decimals self.decimals = decimals
# ## Board cuttout # ## Board cuttout
@ -44,7 +44,7 @@ class Tools2sidedPrefGroupUI(OptionsGroupUI):
self.drill_dia_entry.set_precision(self.decimals) self.drill_dia_entry.set_precision(self.decimals)
self.drill_dia_entry.setSingleStep(0.1) self.drill_dia_entry.setSingleStep(0.1)
self.dd_label = QtWidgets.QLabel('%s:' % _("Drill dia")) self.dd_label = QtWidgets.QLabel('%s:' % _("Drill Dia"))
self.dd_label.setToolTip( self.dd_label.setToolTip(
_("Diameter of the drill for the " _("Diameter of the drill for the "
"alignment holes.") "alignment holes.")

View File

@ -97,11 +97,11 @@ class ToolsCutoutPrefGroupUI(OptionsGroupUI):
grid0.addWidget(self.maxdepth_entry, 2, 1) grid0.addWidget(self.maxdepth_entry, 2, 1)
# Object kind # Object kind
kindlabel = FCLabel('%s:' % _('Object kind')) kindlabel = FCLabel('%s:' % _('Kind'))
kindlabel.setToolTip( kindlabel.setToolTip(
_("Choice of what kind the object we want to cutout is.<BR>" _("Choice of what kind the object we want to cutout is.\n"
"- <B>Single</B>: contain a single PCB Gerber outline object.<BR>" "- Single: contain a single PCB Gerber outline object.\n"
"- <B>Panel</B>: a panel PCB Gerber object, which is made\n" "- Panel: a panel PCB Gerber object, which is made\n"
"out of many individual PCB outlines.") "out of many individual PCB outlines.")
) )

View File

@ -213,7 +213,7 @@ class ToolsFilmPrefGroupUI(OptionsGroupUI):
{'label': _('PDF'), 'value': 'pdf'} {'label': _('PDF'), 'value': 'pdf'}
], stretch=False) ], stretch=False)
self.file_type_label = FCLabel(_("Film Type:")) self.file_type_label = FCLabel('%s:' % _("Film Type"))
self.file_type_label.setToolTip( self.file_type_label.setToolTip(
_("The file type of the saved film. Can be:\n" _("The file type of the saved film. Can be:\n"
"- 'SVG' -> open-source vectorial format\n" "- 'SVG' -> open-source vectorial format\n"

View File

@ -115,7 +115,7 @@ class ToolsISOPrefGroupUI(OptionsGroupUI):
cutzlabel = QtWidgets.QLabel('%s:' % _('Cut Z')) cutzlabel = QtWidgets.QLabel('%s:' % _('Cut Z'))
cutzlabel.setToolTip( cutzlabel.setToolTip(
_("Depth of cut into material. Negative value.\n" _("Depth of cut into material. Negative value.\n"
"In FlatCAM units.") "In application units.")
) )
self.cutz_entry = FCDoubleSpinner() self.cutz_entry = FCDoubleSpinner()
self.cutz_entry.set_precision(self.decimals) self.cutz_entry.set_precision(self.decimals)
@ -124,7 +124,7 @@ class ToolsISOPrefGroupUI(OptionsGroupUI):
self.cutz_entry.setToolTip( self.cutz_entry.setToolTip(
_("Depth of cut into material. Negative value.\n" _("Depth of cut into material. Negative value.\n"
"In FlatCAM units.") "In application units.")
) )
grid0.addWidget(cutzlabel, 5, 0) grid0.addWidget(cutzlabel, 5, 0)
@ -338,7 +338,7 @@ class ToolsISOPrefGroupUI(OptionsGroupUI):
{"label": _("Progressive"), "value": "progressive"}]) {"label": _("Progressive"), "value": "progressive"}])
plotting_label = QtWidgets.QLabel('%s:' % _("Plotting")) plotting_label = QtWidgets.QLabel('%s:' % _("Plotting"))
plotting_label.setToolTip( plotting_label.setToolTip(
_("- 'Normal' - normal plotting, done at the end of the job\n" _("- 'Normal' - normal plotting, done at the end of the job\n"
"- 'Progressive' - each shape is plotted after it is generated") "- 'Progressive' - each shape is plotted after it is generated")
) )
grid0.addWidget(plotting_label, 25, 0) grid0.addWidget(plotting_label, 25, 0)

View File

@ -98,7 +98,7 @@ class ToolsNCCPrefGroupUI(OptionsGroupUI):
cutzlabel = QtWidgets.QLabel('%s:' % _('Cut Z')) cutzlabel = QtWidgets.QLabel('%s:' % _('Cut Z'))
cutzlabel.setToolTip( cutzlabel.setToolTip(
_("Depth of cut into material. Negative value.\n" _("Depth of cut into material. Negative value.\n"
"In FlatCAM units.") "In application units.")
) )
self.cutz_entry = FCDoubleSpinner() self.cutz_entry = FCDoubleSpinner()
self.cutz_entry.set_precision(self.decimals) self.cutz_entry.set_precision(self.decimals)
@ -107,7 +107,7 @@ class ToolsNCCPrefGroupUI(OptionsGroupUI):
self.cutz_entry.setToolTip( self.cutz_entry.setToolTip(
_("Depth of cut into material. Negative value.\n" _("Depth of cut into material. Negative value.\n"
"In FlatCAM units.") "In application units.")
) )
grid0.addWidget(cutzlabel, 4, 0) grid0.addWidget(cutzlabel, 4, 0)
@ -340,7 +340,7 @@ class ToolsNCCPrefGroupUI(OptionsGroupUI):
{"label": _("Progressive"), "value": "progressive"}]) {"label": _("Progressive"), "value": "progressive"}])
plotting_label = QtWidgets.QLabel('%s:' % _("Plotting")) plotting_label = QtWidgets.QLabel('%s:' % _("Plotting"))
plotting_label.setToolTip( plotting_label.setToolTip(
_("- 'Normal' - normal plotting, done at the end of the job\n" _("- 'Normal' - normal plotting, done at the end of the job\n"
"- 'Progressive' - each shape is plotted after it is generated") "- 'Progressive' - each shape is plotted after it is generated")
) )
grid0.addWidget(plotting_label, 21, 0) grid0.addWidget(plotting_label, 21, 0)

View File

@ -302,7 +302,7 @@ class ToolsPaintPrefGroupUI(OptionsGroupUI):
{"label": _("Progressive"), "value": "progressive"}]) {"label": _("Progressive"), "value": "progressive"}])
plotting_label = QtWidgets.QLabel('%s:' % _("Plotting")) plotting_label = QtWidgets.QLabel('%s:' % _("Plotting"))
plotting_label.setToolTip( plotting_label.setToolTip(
_("- 'Normal' - normal plotting, done at the end of the job\n" _("- 'Normal' - normal plotting, done at the end of the job\n"
"- 'Progressive' - each shape is plotted after it is generated") "- 'Progressive' - each shape is plotted after it is generated")
) )
grid0.addWidget(plotting_label, 20, 0) grid0.addWidget(plotting_label, 20, 0)

View File

@ -53,7 +53,7 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI):
# New Nozzle Tool Dia # New Nozzle Tool Dia
self.addtool_entry_lbl = QtWidgets.QLabel('<b>%s:</b>' % _('New Nozzle Dia')) self.addtool_entry_lbl = QtWidgets.QLabel('<b>%s:</b>' % _('New Nozzle Dia'))
self.addtool_entry_lbl.setToolTip( self.addtool_entry_lbl.setToolTip(
_("Diameter for the new Nozzle tool to add in the Tool Table") _("Diameter for the new tool to add in the Tool Table")
) )
self.addtool_entry = FCDoubleSpinner() self.addtool_entry = FCDoubleSpinner()
self.addtool_entry.set_precision(self.decimals) self.addtool_entry.set_precision(self.decimals)

View File

@ -36,7 +36,7 @@ class ToolsSubPrefGroupUI(OptionsGroupUI):
self.layout.addWidget(self.sublabel) self.layout.addWidget(self.sublabel)
self.close_paths_cb = FCCheckBox(_("Close paths")) self.close_paths_cb = FCCheckBox(_("Close paths"))
self.close_paths_cb.setToolTip(_("Checking this will close the paths cut by the Geometry substractor object.")) self.close_paths_cb.setToolTip(_("Checking this will close the paths cut by the subtractor object."))
self.layout.addWidget(self.close_paths_cb) self.layout.addWidget(self.close_paths_cb)
self.delete_sources_cb = FCCheckBox(_("Delete source")) self.delete_sources_cb = FCCheckBox(_("Delete source"))

View File

@ -95,7 +95,7 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
self.rotate_label = QtWidgets.QLabel('%s:' % _("Angle")) self.rotate_label = QtWidgets.QLabel('%s:' % _("Angle"))
self.rotate_label.setToolTip( self.rotate_label.setToolTip(
_("Angle for Rotation action, in degrees.\n" _("Angle, in degrees.\n"
"Float number between -360 and 359.\n" "Float number between -360 and 359.\n"
"Positive numbers for CW motion.\n" "Positive numbers for CW motion.\n"
"Negative numbers for CCW motion.") "Negative numbers for CCW motion.")
@ -123,7 +123,7 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
self.skewx_label = QtWidgets.QLabel('%s:' % _("X angle")) self.skewx_label = QtWidgets.QLabel('%s:' % _("X angle"))
self.skewx_label.setToolTip( self.skewx_label.setToolTip(
_("Angle for Skew action, in degrees.\n" _("Angle, in degrees.\n"
"Float number between -360 and 359.") "Float number between -360 and 359.")
) )
grid0.addWidget(self.skewx_label, 9, 0) grid0.addWidget(self.skewx_label, 9, 0)
@ -137,7 +137,7 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
self.skewy_label = QtWidgets.QLabel('%s:' % _("Y angle")) self.skewy_label = QtWidgets.QLabel('%s:' % _("Y angle"))
self.skewy_label.setToolTip( self.skewy_label.setToolTip(
_("Angle for Skew action, in degrees.\n" _("Angle, in degrees.\n"
"Float number between -360 and 359.") "Float number between -360 and 359.")
) )
grid0.addWidget(self.skewy_label, 10, 0) grid0.addWidget(self.skewy_label, 10, 0)

View File

@ -643,16 +643,13 @@ class CNCJobObject(FlatCAMObj, CNCjob):
# Show/Hide Advanced Options # Show/Hide Advanced Options
if self.app.defaults["global_app_level"] == 'b': if self.app.defaults["global_app_level"] == 'b':
self.ui.level.setText(_( self.ui.level.setText('<span style="color:green;"><b>%s</b></span>' % _("Basic"))
'<span style="color:green;"><b>Basic</b></span>'
))
self.ui.sal_btn.hide() self.ui.sal_btn.hide()
self.ui.sal_btn.setChecked(False) self.ui.sal_btn.setChecked(False)
else: else:
self.ui.level.setText(_( self.ui.level.setText('<span style="color:red;"><b>%s</b></span>' % _("Advanced"))
'<span style="color:red;"><b>Advanced</b></span>'
))
if 'Roland' in self.pp_excellon_name or 'Roland' in self.pp_geometry_name or 'hpgl' in \ if 'Roland' in self.pp_excellon_name or 'Roland' in self.pp_geometry_name or 'hpgl' in \
self.pp_geometry_name: self.pp_geometry_name:
self.ui.sal_btn.hide() self.ui.sal_btn.hide()

View File

@ -67,13 +67,9 @@ class DocumentObject(FlatCAMObj):
# Show/Hide Advanced Options # Show/Hide Advanced Options
if self.app.defaults["global_app_level"] == 'b': if self.app.defaults["global_app_level"] == 'b':
self.ui.level.setText(_( self.ui.level.setText('<span style="color:green;"><b>%s</b></span>' % _("Basic"))
'<span style="color:green;"><b>Basic</b></span>'
))
else: else:
self.ui.level.setText(_( self.ui.level.setText('<span style="color:red;"><b>%s</b></span>' % _("Advanced"))
'<span style="color:red;"><b>Advanced</b></span>'
))
self.document_editor_tab = AppTextEditor(app=self.app) self.document_editor_tab = AppTextEditor(app=self.app)
stylesheet = """ stylesheet = """

View File

@ -2371,7 +2371,7 @@ class GeometryObject(FlatCAMObj, Geometry):
# ]) # ])
try: try:
dia_cnc_dict['solid_geometry'] = deepcopy(tool_solid_geometry) dia_cnc_dict['solid_geometry'] = deepcopy(tool_solid_geometry)
app_obj.inform.emit('[success] %s' % _("Finished G-Code processing...")) app_obj.inform.emit('[success] %s...' % _("Finished G-Code processing"))
except Exception as ee: except Exception as ee:
app_obj.inform.emit('[ERROR] %s: %s' % (_("G-Code processing failed with error"), str(ee))) app_obj.inform.emit('[ERROR] %s: %s' % (_("G-Code processing failed with error"), str(ee)))
@ -2542,7 +2542,7 @@ class GeometryObject(FlatCAMObj, Geometry):
# source of gcode # source of gcode
job_obj.toolchange_xy_type = "geometry" job_obj.toolchange_xy_type = "geometry"
job_obj.gcode_parse() job_obj.gcode_parse()
app_obj.inform.emit('[success] %s' % _("Finished G-Code processing...")) app_obj.inform.emit('[success] %s...' % _("Finished G-Code processing"))
if use_thread: if use_thread:
# To be run in separate thread # To be run in separate thread
@ -2641,7 +2641,7 @@ class GeometryObject(FlatCAMObj, Geometry):
except Exception as e: except Exception as e:
log.debug("Could not Paint the polygons. %s" % str(e)) log.debug("Could not Paint the polygons. %s" % str(e))
mssg = '[ERROR] %s\n%s' % (_("Could not do Paint. Try a different combination of parameters. " mssg = '[ERROR] %s\n%s' % (_("Could not do Paint. Try a different combination of parameters. "
"Or a different strategy of paint"), str(e)) "Or a different method of Paint"), str(e))
self.app.inform.emit(mssg) self.app.inform.emit(mssg)
return return
@ -2742,7 +2742,7 @@ class GeometryObject(FlatCAMObj, Geometry):
return return
self.app.proc_container.new_text = '' self.app.proc_container.new_text = ''
self.app.inform.emit('[success] %s' % _("Geometry Scale done.")) self.app.inform.emit('[success] %s' % _("Done."))
def offset(self, vect): def offset(self, vect):
""" """
@ -2815,7 +2815,7 @@ class GeometryObject(FlatCAMObj, Geometry):
self.solid_geometry = translate_recursion(self.solid_geometry) self.solid_geometry = translate_recursion(self.solid_geometry)
self.app.proc_container.new_text = '' self.app.proc_container.new_text = ''
self.app.inform.emit('[success] %s' % _("Geometry Offset done.")) self.app.inform.emit('[success] %s' % _("Done."))
def convert_units(self, units): def convert_units(self, units):
log.debug("FlatCAMObj.GeometryObject.convert_units()") log.debug("FlatCAMObj.GeometryObject.convert_units()")

View File

@ -369,7 +369,7 @@ class GerberObject(FlatCAMObj, Gerber):
output = self.app.pool.apply_async(self.buffer_handler, args=([self.solid_geometry])) output = self.app.pool.apply_async(self.buffer_handler, args=([self.solid_geometry]))
self.solid_geometry = output.get() self.solid_geometry = output.get()
self.app.inform.emit('[success] %s.' % _("Done")) self.app.inform.emit('[success] %s' % _("Done."))
self.plot_single_object.emit() self.plot_single_object.emit()
self.app.worker_task.emit({'fcn': buffer_task, 'params': []}) self.app.worker_task.emit({'fcn': buffer_task, 'params': []})

View File

@ -77,13 +77,9 @@ class ScriptObject(FlatCAMObj):
# Show/Hide Advanced Options # Show/Hide Advanced Options
if self.app.defaults["global_app_level"] == 'b': if self.app.defaults["global_app_level"] == 'b':
self.ui.level.setText(_( self.ui.level.setText('<span style="color:green;"><b>%s</b></span>' % _("Basic"))
'<span style="color:green;"><b>Basic</b></span>'
))
else: else:
self.ui.level.setText(_( self.ui.level.setText('<span style="color:red;"><b>%s</b></span>' % _("Advanced"))
'<span style="color:red;"><b>Advanced</b></span>'
))
self.script_editor_tab = AppTextEditor(app=self.app, plain_text=True, parent=self.app.ui) self.script_editor_tab = AppTextEditor(app=self.app, plain_text=True, parent=self.app.ui)

View File

@ -242,7 +242,7 @@ class AlignObjects(AppTool):
def check_points(self): def check_points(self):
if len(self.clicked_points) == 1: if len(self.clicked_points) == 1:
self.app.inform.emit('%s: %s. %s' % ( self.app.inform.emit('%s: %s. %s' % (
_("First Point"), _("Click on the DESTINATION point."), _("Or right click to cancel."))) _("First Point"), _("Click on the DESTINATION point ..."), _("Or right click to cancel.")))
self.target_obj = self.aligner_obj self.target_obj = self.aligner_obj
self.reset_color() self.reset_color()
self.set_color() self.set_color()
@ -264,7 +264,7 @@ class AlignObjects(AppTool):
if len(self.clicked_points) == 3: if len(self.clicked_points) == 3:
self.app.inform.emit('%s: %s. %s' % ( self.app.inform.emit('%s: %s. %s' % (
_("Second Point"), _("Click on the DESTINATION point."), _("Or right click to cancel."))) _("Second Point"), _("Click on the DESTINATION point ..."), _("Or right click to cancel.")))
self.target_obj = self.aligner_obj self.target_obj = self.aligner_obj
self.reset_color() self.reset_color()
self.set_color() self.set_color()

View File

@ -291,7 +291,7 @@ class ToolCalibration(AppTool):
elif len(self.click_points) == 4: elif len(self.click_points) == 4:
self.ui.top_right_coordx_tgt.set_value(self.click_points[3][0]) self.ui.top_right_coordx_tgt.set_value(self.click_points[3][0])
self.ui.top_right_coordy_tgt.set_value(self.click_points[3][1]) self.ui.top_right_coordy_tgt.set_value(self.click_points[3][1])
self.app.inform.emit('[success] %s' % _("Done. All four points have been acquired.")) self.app.inform.emit('[success] %s' % _("Done."))
self.disconnect_cal_events() self.disconnect_cal_events()
def reset_calibration_points(self): def reset_calibration_points(self):
@ -851,8 +851,8 @@ class CalibUI:
"- top-left -> the user will align the PCB vertically\n" "- top-left -> the user will align the PCB vertically\n"
"- bottom-right -> the user will align the PCB horizontally") "- bottom-right -> the user will align the PCB horizontally")
) )
self.second_point_radio = RadioSet([{'label': _('Top-Left'), 'value': 'tl'}, self.second_point_radio = RadioSet([{'label': _('Top Left'), 'value': 'tl'},
{'label': _('Bottom-Right'), 'value': 'br'}], {'label': _('Bottom Right'), 'value': 'br'}],
orientation='vertical') orientation='vertical')
grid_lay.addWidget(second_point_lbl, 7, 0) grid_lay.addWidget(second_point_lbl, 7, 0)
@ -1197,7 +1197,7 @@ class CalibUI:
self.skewx_label = QtWidgets.QLabel(_("Skew Angle X:")) self.skewx_label = QtWidgets.QLabel(_("Skew Angle X:"))
self.skewx_label.setToolTip( self.skewx_label.setToolTip(
_("Angle for Skew action, in degrees.\n" _("Angle, in degrees.\n"
"Float number between -360 and 359.") "Float number between -360 and 359.")
) )
self.skewx_entry = FCDoubleSpinner(callback=self.confirmation_message) self.skewx_entry = FCDoubleSpinner(callback=self.confirmation_message)
@ -1210,7 +1210,7 @@ class CalibUI:
self.skewy_label = QtWidgets.QLabel(_("Skew Angle Y:")) self.skewy_label = QtWidgets.QLabel(_("Skew Angle Y:"))
self.skewy_label.setToolTip( self.skewy_label.setToolTip(
_("Angle for Skew action, in degrees.\n" _("Angle, in degrees.\n"
"Float number between -360 and 359.") "Float number between -360 and 359.")
) )
self.skewy_entry = FCDoubleSpinner(callback=self.confirmation_message) self.skewy_entry = FCDoubleSpinner(callback=self.confirmation_message)

View File

@ -623,7 +623,7 @@ class ToolCopperThieving(AppTool):
bounding_box = geo.buffer(distance=margin, join_style=base.JOIN_STYLE.mitre) bounding_box = geo.buffer(distance=margin, join_style=base.JOIN_STYLE.mitre)
else: else:
tool_obj.app.inform.emit( tool_obj.app.inform.emit(
'[ERROR_NOTCL] %s: %s' % (_("Geometry not supported for bounding box"), type(geo_n)) '[ERROR_NOTCL] %s: %s' % (_("Geometry not supported for"), type(geo_n))
) )
return 'fail' return 'fail'
@ -1363,7 +1363,7 @@ class ThievingUI:
self.ref_combo_type_label.hide() self.ref_combo_type_label.hide()
# Bounding Box Type # # Bounding Box Type #
self.bbox_type_label = FCLabel(_("Box Type:")) self.bbox_type_label = FCLabel('%s:' % _("Box Type"))
self.bbox_type_label.setToolTip( self.bbox_type_label.setToolTip(
_("- 'Rectangular' - the bounding box will be of rectangular shape.\n" _("- 'Rectangular' - the bounding box will be of rectangular shape.\n"
"- 'Minimal' - the bounding box will be the convex hull shape.") "- 'Minimal' - the bounding box will be the convex hull shape.")

View File

@ -577,7 +577,7 @@ class CutOut(AppTool):
if gaps not in ['None', 'LR', 'TB', '2LR', '2TB', '4', '8']: if gaps not in ['None', 'LR', 'TB', '2LR', '2TB', '4', '8']:
self.app.inform.emit('[WARNING_NOTCL] %s' % self.app.inform.emit('[WARNING_NOTCL] %s' %
_("Gaps value can be only one of: 'None', 'lr', 'tb', '2lr', '2tb', 4 or 8. " _("Gaps value can be only one of: 'None', 'lr', 'tb', '2lr', '2tb', 4 or 8.\n"
"Fill in a correct value and retry. ")) "Fill in a correct value and retry. "))
return return
@ -906,7 +906,7 @@ class CutOut(AppTool):
return return
# cutout_obj.plot(plot_tool=1) # cutout_obj.plot(plot_tool=1)
app_obj.inform.emit('[success] %s' % _("Any form CutOut operation finished.")) app_obj.inform.emit('[success] %s' % _("Any-form Cutout operation finished."))
# self.app.ui.notebook.setCurrentWidget(self.app.ui.project_tab) # self.app.ui.notebook.setCurrentWidget(self.app.ui.project_tab)
app_obj.should_we_save = True app_obj.should_we_save = True
except Exception as ee: except Exception as ee:
@ -1295,7 +1295,7 @@ class CutOut(AppTool):
self.man_cutout_obj = self.app.collection.get_by_name(str(name)) self.man_cutout_obj = self.app.collection.get_by_name(str(name))
except Exception as e: except Exception as e:
log.debug("CutOut.on_manual_cutout() --> %s" % str(e)) log.debug("CutOut.on_manual_cutout() --> %s" % str(e))
self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Could not retrieve Geometry object"), name)) self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Could not retrieve object"), name))
return return
if self.man_cutout_obj is None: if self.man_cutout_obj is None:
@ -1327,7 +1327,7 @@ class CutOut(AppTool):
self.man_cutout_obj = self.app.collection.get_by_name(str(name)) self.man_cutout_obj = self.app.collection.get_by_name(str(name))
except Exception as e: except Exception as e:
log.debug("CutOut.on_manual_cutout() --> %s" % str(e)) log.debug("CutOut.on_manual_cutout() --> %s" % str(e))
self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Could not retrieve Geometry object"), name)) self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Could not retrieve object"), name))
return return
if self.app.is_legacy is False: if self.app.is_legacy is False:
@ -1424,7 +1424,7 @@ class CutOut(AppTool):
cutout_obj = self.app.collection.get_by_name(str(name)) cutout_obj = self.app.collection.get_by_name(str(name))
except Exception as e: except Exception as e:
log.debug("CutOut.on_manual_geo() --> %s" % str(e)) log.debug("CutOut.on_manual_geo() --> %s" % str(e))
self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Could not retrieve Gerber object"), name)) self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Could not retrieve object"), name))
return "Could not retrieve object: %s" % name return "Could not retrieve object: %s" % name
if cutout_obj is None: if cutout_obj is None:
@ -1470,7 +1470,7 @@ class CutOut(AppTool):
geo_obj.solid_geometry = geo.buffer(margin + abs(dia / 2)) geo_obj.solid_geometry = geo.buffer(margin + abs(dia / 2))
else: else:
app_obj.inform.emit('[ERROR_NOTCL] %s: %s' % ( app_obj.inform.emit('[ERROR_NOTCL] %s: %s' % (
_("Geometry not supported for cutout"), type(geo_union))) _("Geometry not supported"), type(geo_union)))
return 'fail' return 'fail'
else: else:
geo = geo_union geo = geo_union
@ -2009,9 +2009,9 @@ class CutoutUI:
# Object kind # Object kind
self.kindlabel = QtWidgets.QLabel('%s:' % _('Kind')) self.kindlabel = QtWidgets.QLabel('%s:' % _('Kind'))
self.kindlabel.setToolTip( self.kindlabel.setToolTip(
_("Choice of what kind the object we want to cutout is.<BR>" _("Choice of what kind the object we want to cutout is.\n"
"- <B>Single</B>: contain a single PCB Gerber outline object.<BR>" "- Single: contain a single PCB Gerber outline object.\n"
"- <B>Panel</B>: a panel PCB Gerber object, which is made\n" "- Panel: a panel PCB Gerber object, which is made\n"
"out of many individual PCB outlines.") "out of many individual PCB outlines.")
) )
self.obj_kind_combo = RadioSet([ self.obj_kind_combo = RadioSet([

View File

@ -395,7 +395,7 @@ class Distance(AppTool):
def calculate_distance(self, pos): def calculate_distance(self, pos):
if len(self.points) == 1: if len(self.points) == 1:
self.ui.start_entry.set_value("(%.*f, %.*f)" % (self.decimals, pos[0], self.decimals, pos[1])) self.ui.start_entry.set_value("(%.*f, %.*f)" % (self.decimals, pos[0], self.decimals, pos[1]))
self.app.inform.emit(_("MEASURING: Click on the Destination point ...")) self.app.inform.emit(_("Click on the DESTINATION point ..."))
elif len(self.points) == 2: elif len(self.points) == 2:
# self.app.app_cursor.enabled = False # self.app.app_cursor.enabled = False
dx = self.points[1][0] - self.points[0][0] dx = self.points[1][0] - self.points[0][0]

View File

@ -2069,7 +2069,7 @@ class DrillingUI:
"will be showed as a T1, T2 ... Tn in the Machine Code.\n\n" "will be showed as a T1, T2 ... Tn in the Machine Code.\n\n"
"Here the tools are selected for G-code generation.")) "Here the tools are selected for G-code generation."))
self.tools_table.horizontalHeaderItem(1).setToolTip( self.tools_table.horizontalHeaderItem(1).setToolTip(
_("Tool Diameter. It's value (in current FlatCAM units) \n" _("Tool Diameter. It's value\n"
"is the cut width into the material.")) "is the cut width into the material."))
self.tools_table.horizontalHeaderItem(2).setToolTip( self.tools_table.horizontalHeaderItem(2).setToolTip(
_("The number of Drill holes. Holes that are drilled with\n" _("The number of Drill holes. Holes that are drilled with\n"
@ -2581,7 +2581,7 @@ class DrillingUI:
grid_a1.addWidget(self.over_z_entry, 2, 1) grid_a1.addWidget(self.over_z_entry, 2, 1)
# Button Add Area # Button Add Area
self.add_area_button = QtWidgets.QPushButton(_('Add area:')) self.add_area_button = QtWidgets.QPushButton(_('Add Area:'))
self.add_area_button.setToolTip(_("Add an Exclusion Area.")) self.add_area_button.setToolTip(_("Add an Exclusion Area."))
# Area Selection shape # Area Selection shape

View File

@ -367,7 +367,6 @@ class EtchUI:
self.thick_entry = FCDoubleSpinner(callback=self.confirmation_message) self.thick_entry = FCDoubleSpinner(callback=self.confirmation_message)
self.thick_entry.set_precision(self.decimals) self.thick_entry.set_precision(self.decimals)
self.thick_entry.set_range(0.0000, 10000.0000) self.thick_entry.set_range(0.0000, 10000.0000)
self.thick_entry.setObjectName(_("Thickness"))
grid0.addWidget(self.thick_label, 12, 0) grid0.addWidget(self.thick_label, 12, 0)
grid0.addWidget(self.thick_entry, 12, 1) grid0.addWidget(self.thick_entry, 12, 1)
@ -394,21 +393,19 @@ class EtchUI:
_("A list of etchants.") _("A list of etchants.")
) )
self.etchants_combo = FCComboBox(callback=self.confirmation_message) self.etchants_combo = FCComboBox(callback=self.confirmation_message)
self.etchants_combo.setObjectName(_("Etchants"))
self.etchants_combo.addItems(["CuCl2", "Fe3Cl", _("Alkaline baths")]) self.etchants_combo.addItems(["CuCl2", "Fe3Cl", _("Alkaline baths")])
grid0.addWidget(self.etchants_label, 18, 0) grid0.addWidget(self.etchants_label, 18, 0)
grid0.addWidget(self.etchants_combo, 18, 1) grid0.addWidget(self.etchants_combo, 18, 1)
# Etch Factor # Etch Factor
self.factor_label = QtWidgets.QLabel('%s:' % _('Etch factor')) self.factor_label = QtWidgets.QLabel('%s:' % _('Etch Factor'))
self.factor_label.setToolTip( self.factor_label.setToolTip(
_("The ratio between depth etch and lateral etch .\n" _("The ratio between depth etch and lateral etch .\n"
"Accepts real numbers and formulas using the operators: /,*,+,-,%") "Accepts real numbers and formulas using the operators: /,*,+,-,%")
) )
self.factor_entry = NumericalEvalEntry(border_color='#0069A9') self.factor_entry = NumericalEvalEntry(border_color='#0069A9')
self.factor_entry.setPlaceholderText(_("Real number or formula")) self.factor_entry.setPlaceholderText(_("Real number or formula"))
self.factor_entry.setObjectName(_("Etch_factor"))
grid0.addWidget(self.factor_label, 19, 0) grid0.addWidget(self.factor_label, 19, 0)
grid0.addWidget(self.factor_entry, 19, 1) grid0.addWidget(self.factor_entry, 19, 1)
@ -422,7 +419,6 @@ class EtchUI:
self.offset_entry = FCDoubleSpinner(callback=self.confirmation_message) self.offset_entry = FCDoubleSpinner(callback=self.confirmation_message)
self.offset_entry.set_precision(self.decimals) self.offset_entry.set_precision(self.decimals)
self.offset_entry.set_range(-10000.0000, 10000.0000) self.offset_entry.set_range(-10000.0000, 10000.0000)
self.offset_entry.setObjectName(_("Offset"))
grid0.addWidget(self.offset_label, 20, 0) grid0.addWidget(self.offset_label, 20, 0)
grid0.addWidget(self.offset_entry, 20, 1) grid0.addWidget(self.offset_entry, 20, 1)

View File

@ -529,7 +529,7 @@ class ToolFiducials(AppTool):
self.app.inform.emit(_("Click to add the second fiducial. Top Left or Bottom Right...")) self.app.inform.emit(_("Click to add the second fiducial. Top Left or Bottom Right..."))
elif len(self.click_points) == 3: elif len(self.click_points) == 3:
self.ui.sec_points_coords_entry.set_value(self.click_points[2]) self.ui.sec_points_coords_entry.set_value(self.click_points[2])
self.app.inform.emit('[success] %s' % _("Done. All fiducials have been added.")) self.app.inform.emit('[success] %s' % _("Done."))
ret_val = self.add_fiducials_geo(self.click_points, g_obj=self.grb_object, fid_type=fid_type) ret_val = self.add_fiducials_geo(self.click_points, g_obj=self.grb_object, fid_type=fid_type)
self.app.call_source = "app" self.app.call_source = "app"
@ -543,7 +543,7 @@ class ToolFiducials(AppTool):
else: else:
if len(self.click_points) == 2: if len(self.click_points) == 2:
self.ui.top_right_coords_entry.set_value(self.click_points[1]) self.ui.top_right_coords_entry.set_value(self.click_points[1])
self.app.inform.emit('[success] %s' % _("Done. All fiducials have been added.")) self.app.inform.emit('[success] %s' % _("Done."))
ret_val = self.add_fiducials_geo(self.click_points, g_obj=self.grb_object, fid_type=fid_type) ret_val = self.add_fiducials_geo(self.click_points, g_obj=self.grb_object, fid_type=fid_type)
self.app.call_source = "app" self.app.call_source = "app"
@ -831,7 +831,7 @@ class FidoUI:
], stretch=False) ], stretch=False)
self.mode_label = QtWidgets.QLabel(_("Mode:")) self.mode_label = QtWidgets.QLabel(_("Mode:"))
self.mode_label.setToolTip( self.mode_label.setToolTip(
_("- 'Auto' - automatic placement of fiducials in the corners of the bounding box.\n " _("- 'Auto' - automatic placement of fiducials in the corners of the bounding box.\n"
"- 'Manual' - manual placement of fiducials.") "- 'Manual' - manual placement of fiducials.")
) )
grid_lay.addWidget(self.mode_label, 3, 0) grid_lay.addWidget(self.mode_label, 3, 0)

View File

@ -291,7 +291,7 @@ class Film(AppTool):
if film_obj.apertures[apid]['type'] == 'C': if film_obj.apertures[apid]['type'] == 'C':
if punch_size >= float(film_obj.apertures[apid]['size']): if punch_size >= float(film_obj.apertures[apid]['size']):
self.app.inform.emit('[ERROR_NOTCL] %s' % self.app.inform.emit('[ERROR_NOTCL] %s' %
_(" Could not generate punched hole film because the punch hole size" _("Failed. Punch hole size"
"is bigger than some of the apertures in the Gerber object.")) "is bigger than some of the apertures in the Gerber object."))
return 'fail' return 'fail'
else: else:
@ -303,7 +303,7 @@ class Film(AppTool):
if punch_size >= float(film_obj.apertures[apid]['width']) or \ if punch_size >= float(film_obj.apertures[apid]['width']) or \
punch_size >= float(film_obj.apertures[apid]['height']): punch_size >= float(film_obj.apertures[apid]['height']):
self.app.inform.emit('[ERROR_NOTCL] %s' % self.app.inform.emit('[ERROR_NOTCL] %s' %
_("Could not generate punched hole film because the punch hole size" _("Failed. Punch hole size"
"is bigger than some of the apertures in the Gerber object.")) "is bigger than some of the apertures in the Gerber object."))
return 'fail' return 'fail'
else: else:
@ -321,7 +321,7 @@ class Film(AppTool):
if punched_solid_geometry == temp_solid_geometry: if punched_solid_geometry == temp_solid_geometry:
self.app.inform.emit('[WARNING_NOTCL] %s' % self.app.inform.emit('[WARNING_NOTCL] %s' %
_("Could not generate punched hole film because the newly created object geometry " _("Failed. The new object geometry "
"is the same as the one in the source object geometry...")) "is the same as the one in the source object geometry..."))
return 'fail' return 'fail'
@ -955,7 +955,7 @@ class FilmUI:
self.tf_type_box_combo = RadioSet([{'label': _('Gerber'), 'value': 'grb'}, self.tf_type_box_combo = RadioSet([{'label': _('Gerber'), 'value': 'grb'},
{'label': _('Geometry'), 'value': 'geo'}]) {'label': _('Geometry'), 'value': 'geo'}])
self.tf_type_box_combo_label = FCLabel(_("Box Type:")) self.tf_type_box_combo_label = FCLabel('%s:' % _("Box Type"))
self.tf_type_box_combo_label.setToolTip( self.tf_type_box_combo_label.setToolTip(
_("Specify the type of object to be used as an container for\n" _("Specify the type of object to be used as an container for\n"
"film creation. It can be: Gerber or Geometry type." "film creation. It can be: Gerber or Geometry type."
@ -1147,7 +1147,7 @@ class FilmUI:
self.film_type = RadioSet([{'label': _('Positive'), 'value': 'pos'}, self.film_type = RadioSet([{'label': _('Positive'), 'value': 'pos'},
{'label': _('Negative'), 'value': 'neg'}], {'label': _('Negative'), 'value': 'neg'}],
stretch=False) stretch=False)
self.film_type_label = FCLabel(_("Film Type:")) self.film_type_label = FCLabel('%s:' % _("Film Type"))
self.film_type_label.setToolTip( self.film_type_label.setToolTip(
_("Generate a Positive black film or a Negative film.\n" _("Generate a Positive black film or a Negative film.\n"
"Positive means that it will print the features\n" "Positive means that it will print the features\n"
@ -1259,7 +1259,7 @@ class FilmUI:
{'label': _('PDF'), 'value': 'pdf'} {'label': _('PDF'), 'value': 'pdf'}
], stretch=False) ], stretch=False)
self.file_type_label = FCLabel(_("Film Type:")) self.file_type_label = FCLabel('%s:' % _("Film Type"))
self.file_type_label.setToolTip( self.file_type_label.setToolTip(
_("The file type of the saved film. Can be:\n" _("The file type of the saved film. Can be:\n"
"- 'SVG' -> open-source vectorial format\n" "- 'SVG' -> open-source vectorial format\n"

View File

@ -1452,7 +1452,7 @@ class ToolIsolation(AppTool, Gerber):
self.grb_obj.solid_geometry = self.grb_obj.solid_geometry.buffer(0.0000001) self.grb_obj.solid_geometry = self.grb_obj.solid_geometry.buffer(0.0000001)
self.grb_obj.solid_geometry = self.grb_obj.solid_geometry.buffer(-0.0000001) self.grb_obj.solid_geometry = self.grb_obj.solid_geometry.buffer(-0.0000001)
app_obj.inform.emit('[success] %s.' % _("Done")) app_obj.inform.emit('[success] %s' % _("Done."))
self.grb_obj.plot_single_object.emit() self.grb_obj.plot_single_object.emit()
self.app.worker_task.emit({'fcn': buffer_task, 'params': [self.app]}) self.app.worker_task.emit({'fcn': buffer_task, 'params': [self.app]})
@ -2292,7 +2292,7 @@ class ToolIsolation(AppTool, Gerber):
self.poly_dict[shape_id] = clicked_poly self.poly_dict[shape_id] = clicked_poly
self.app.inform.emit( self.app.inform.emit(
'%s: %d. %s' % (_("Added polygon"), int(len(self.poly_dict)), '%s: %d. %s' % (_("Added polygon"), int(len(self.poly_dict)),
_("Click to add next polygon or right click to start isolation.")) _("Click to add next polygon or right click to start."))
) )
else: else:
try: try:
@ -2305,7 +2305,7 @@ class ToolIsolation(AppTool, Gerber):
return return
self.app.inform.emit( self.app.inform.emit(
'%s. %s' % (_("Removed polygon"), '%s. %s' % (_("Removed polygon"),
_("Click to add/remove next polygon or right click to start isolation.")) _("Click to add/remove next polygon or right click to start."))
) )
self.app.tool_shapes.redraw() self.app.tool_shapes.redraw()
@ -2406,7 +2406,7 @@ class ToolIsolation(AppTool, Gerber):
self.app.inform.emit( self.app.inform.emit(
'%s: %d. %s' % (_("Added polygon"), '%s: %d. %s' % (_("Added polygon"),
int(added_poly_count), int(added_poly_count),
_("Click to add next polygon or right click to start isolation.")) _("Click to add next polygon or right click to start."))
) )
else: else:
self.app.inform.emit(_("No polygon in selection.")) self.app.inform.emit(_("No polygon in selection."))
@ -3138,7 +3138,7 @@ class IsoUI:
"this function will not be able to create routing geometry.") "this function will not be able to create routing geometry.")
) )
self.tools_table.horizontalHeaderItem(1).setToolTip( self.tools_table.horizontalHeaderItem(1).setToolTip(
_("Tool Diameter. It's value (in current FlatCAM units)\n" _("Tool Diameter. It's value\n"
"is the cut width into the material.")) "is the cut width into the material."))
self.tools_table.horizontalHeaderItem(2).setToolTip( self.tools_table.horizontalHeaderItem(2).setToolTip(
@ -3256,7 +3256,7 @@ class IsoUI:
self.deltool_btn.setIcon(QtGui.QIcon(self.app.resource_location + '/trash16.png')) self.deltool_btn.setIcon(QtGui.QIcon(self.app.resource_location + '/trash16.png'))
self.deltool_btn.setToolTip( self.deltool_btn.setToolTip(
_("Delete a selection of tools in the Tool Table\n" _("Delete a selection of tools in the Tool Table\n"
"by first selecting a row(s) in the Tool Table.") "by first selecting a row in the Tool Table.")
) )
self.grid3.addWidget(self.deltool_btn, 9, 0, 1, 2) self.grid3.addWidget(self.deltool_btn, 9, 0, 1, 2)

View File

@ -1674,7 +1674,7 @@ class MillingUI:
"will be showed as a T1, T2 ... Tn in the Machine Code.\n\n" "will be showed as a T1, T2 ... Tn in the Machine Code.\n\n"
"Here the tools are selected for G-code generation.")) "Here the tools are selected for G-code generation."))
self.tools_table.horizontalHeaderItem(1).setToolTip( self.tools_table.horizontalHeaderItem(1).setToolTip(
_("Tool Diameter. It's value (in current FlatCAM units) \n" _("Tool Diameter. It's value\n"
"is the cut width into the material.")) "is the cut width into the material."))
self.tools_table.horizontalHeaderItem(2).setToolTip( self.tools_table.horizontalHeaderItem(2).setToolTip(
_("The number of Drill holes. Holes that are drilled with\n" _("The number of Drill holes. Holes that are drilled with\n"
@ -2257,7 +2257,7 @@ class MillingUI:
grid_a1.addWidget(self.over_z_entry, 2, 1) grid_a1.addWidget(self.over_z_entry, 2, 1)
# Button Add Area # Button Add Area
self.add_area_button = QtWidgets.QPushButton(_('Add area:')) self.add_area_button = QtWidgets.QPushButton(_('Add Area:'))
self.add_area_button.setToolTip(_("Add an Exclusion Area.")) self.add_area_button.setToolTip(_("Add an Exclusion Area."))
# Area Selection shape # Area Selection shape

View File

@ -137,7 +137,7 @@ class ToolMove(AppTool):
else: else:
self.point2 = copy(self.point1) self.point2 = copy(self.point1)
self.point1 = pos self.point1 = pos
self.app.inform.emit(_("MOVE: Click on the Destination point ...")) self.app.inform.emit(_("Click on the DESTINATION point ..."))
if self.clicked_move == 1: if self.clicked_move == 1:
try: try:

View File

@ -1110,7 +1110,7 @@ class NonCopperClear(AppTool, Gerber):
tools = f.read() tools = f.read()
except IOError: except IOError:
self.app.log.error("Could not load tools DB file.") self.app.log.error("Could not load tools DB file.")
self.app.inform.emit('[ERROR] %s' % _("Could not load Tools DB file.")) self.app.inform.emit('[ERROR] %s' % _("Could not load the file."))
self.blockSignals(False) self.blockSignals(False)
self.on_tool_default_add(dia=tool_dia) self.on_tool_default_add(dia=tool_dia)
return return
@ -4009,7 +4009,7 @@ class NccUI:
"this function will not be able to create painting geometry.") "this function will not be able to create painting geometry.")
) )
self.tools_table.horizontalHeaderItem(1).setToolTip( self.tools_table.horizontalHeaderItem(1).setToolTip(
_("Tool Diameter. It's value (in current FlatCAM units)\n" _("Tool Diameter. It's value\n"
"is the cut width into the material.")) "is the cut width into the material."))
self.tools_table.horizontalHeaderItem(2).setToolTip( self.tools_table.horizontalHeaderItem(2).setToolTip(
@ -4138,7 +4138,7 @@ class NccUI:
self.deltool_btn.setIcon(QtGui.QIcon(self.app.resource_location + '/trash16.png')) self.deltool_btn.setIcon(QtGui.QIcon(self.app.resource_location + '/trash16.png'))
self.deltool_btn.setToolTip( self.deltool_btn.setToolTip(
_("Delete a selection of tools in the Tool Table\n" _("Delete a selection of tools in the Tool Table\n"
"by first selecting a row(s) in the Tool Table.") "by first selecting a row in the Tool Table.")
) )
self.grid3.addWidget(self.deltool_btn, 9, 0, 1, 2) self.grid3.addWidget(self.deltool_btn, 9, 0, 1, 2)

View File

@ -710,7 +710,7 @@ class ToolPaint(AppTool, Gerber):
tools = f.read() tools = f.read()
except IOError: except IOError:
self.app.log.error("Could not load tools DB file.") self.app.log.error("Could not load tools DB file.")
self.app.inform.emit('[ERROR] %s' % _("Could not load Tools DB file.")) self.app.inform.emit('[ERROR] %s' % _("Could not load the file."))
self.blockSignals(False) self.blockSignals(False)
self.on_tool_default_add(dia=tool_dia) self.on_tool_default_add(dia=tool_dia)
return return
@ -1005,7 +1005,7 @@ class ToolPaint(AppTool, Gerber):
self.paint_obj = self.app.collection.get_by_name(str(self.obj_name)) self.paint_obj = self.app.collection.get_by_name(str(self.obj_name))
except Exception as e: except Exception as e:
log.debug("ToolPaint.on_paint_button_click() --> %s" % str(e)) log.debug("ToolPaint.on_paint_button_click() --> %s" % str(e))
self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Could not retrieve object: %s"), self.obj_name)) self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Could not retrieve object"), self.obj_name))
return return
if self.paint_obj is None: if self.paint_obj is None:
@ -1068,7 +1068,7 @@ class ToolPaint(AppTool, Gerber):
self.poly_sel_disconnect_flag = True self.poly_sel_disconnect_flag = True
elif self.select_method == 2: # _("Area Selection") elif self.select_method == 2: # _("Area Selection")
self.app.inform.emit('[WARNING_NOTCL] %s' % _("Click the start point of the paint area.")) self.app.inform.emit('[WARNING_NOTCL] %s' % _("Click the start point of the area."))
if self.app.is_legacy is False: if self.app.is_legacy is False:
self.app.plotcanvas.graph_event_disconnect('mouse_press', self.app.on_mouse_click_over_plot) self.app.plotcanvas.graph_event_disconnect('mouse_press', self.app.on_mouse_click_over_plot)
@ -1134,7 +1134,7 @@ class ToolPaint(AppTool, Gerber):
self.app.inform.emit( self.app.inform.emit(
'%s: %d. %s' % (_("Added polygon"), '%s: %d. %s' % (_("Added polygon"),
int(len(self.poly_dict)), int(len(self.poly_dict)),
_("Click to add next polygon or right click to start painting.")) _("Click to add next polygon or right click to start."))
) )
else: else:
try: try:
@ -1147,7 +1147,7 @@ class ToolPaint(AppTool, Gerber):
return return
self.app.inform.emit( self.app.inform.emit(
'%s. %s' % (_("Removed polygon"), '%s. %s' % (_("Removed polygon"),
_("Click to add/remove next polygon or right click to start painting.")) _("Click to add/remove next polygon or right click to start."))
) )
self.app.tool_shapes.redraw() self.app.tool_shapes.redraw()
@ -1860,7 +1860,7 @@ class ToolPaint(AppTool, Gerber):
except Exception as e: except Exception as e:
log.debug("Could not Paint the polygons. %s" % str(e)) log.debug("Could not Paint the polygons. %s" % str(e))
mssg = '[ERROR] %s\n%s' % (_("Could not do Paint. Try a different combination of parameters. " mssg = '[ERROR] %s\n%s' % (_("Could not do Paint. Try a different combination of parameters. "
"Or a different strategy of paint"), str(e)) "Or a different method of Paint"), str(e))
self.app.inform.emit(mssg) self.app.inform.emit(mssg)
continue continue
@ -2069,7 +2069,7 @@ class ToolPaint(AppTool, Gerber):
except Exception as e: except Exception as e:
log.debug("Could not Paint the polygons. %s" % str(e)) log.debug("Could not Paint the polygons. %s" % str(e))
msg = '[ERROR] %s\n%s' % (_("Could not do Paint. Try a different combination of parameters. " msg = '[ERROR] %s\n%s' % (_("Could not do Paint. Try a different combination of parameters. "
"Or a different strategy of paint"), str(e)) "Or a different method of Paint"), str(e))
self.app.inform.emit(msg) self.app.inform.emit(msg)
continue continue
@ -2842,7 +2842,7 @@ class PaintUI:
"this function will not be able to create painting geometry.") "this function will not be able to create painting geometry.")
) )
self.tools_table.horizontalHeaderItem(1).setToolTip( self.tools_table.horizontalHeaderItem(1).setToolTip(
_("Tool Diameter. It's value (in current FlatCAM units) \n" _("Tool Diameter. It's value\n"
"is the cut width into the material.")) "is the cut width into the material."))
self.tools_table.horizontalHeaderItem(2).setToolTip( self.tools_table.horizontalHeaderItem(2).setToolTip(
@ -2945,7 +2945,7 @@ class PaintUI:
self.deltool_btn.setIcon(QtGui.QIcon(self.app.resource_location + '/trash16.png')) self.deltool_btn.setIcon(QtGui.QIcon(self.app.resource_location + '/trash16.png'))
self.deltool_btn.setToolTip( self.deltool_btn.setToolTip(
_("Delete a selection of tools in the Tool Table\n" _("Delete a selection of tools in the Tool Table\n"
"by first selecting a row(s) in the Tool Table.") "by first selecting a row in the Tool Table.")
) )
self.grid3.addWidget(self.deltool_btn, 9, 0, 1, 2) self.grid3.addWidget(self.deltool_btn, 9, 0, 1, 2)

View File

@ -812,8 +812,8 @@ class PanelizeUI:
self.panel_type_label = FCLabel("<b>%s:</b>" % _("Panel Type")) self.panel_type_label = FCLabel("<b>%s:</b>" % _("Panel Type"))
self.panel_type_label.setToolTip( self.panel_type_label.setToolTip(
_("Choose the type of object for the panel object:\n" _("Choose the type of object for the panel object:\n"
"- Geometry\n" "- Gerber\n"
"- Gerber") "- Geometry")
) )
form_layout.addRow(self.panel_type_label) form_layout.addRow(self.panel_type_label)
form_layout.addRow(self.panel_type_radio) form_layout.addRow(self.panel_type_radio)

View File

@ -412,7 +412,7 @@ class WizardUI:
self.tools_table.setVisible(False) self.tools_table.setVisible(False)
self.layout.addWidget(FCLabel("")) self.layout.addWidget(FCLabel(""))
self.layout.addWidget(FCLabel("<b>%s:</b>" % _("Excellon format"))) self.layout.addWidget(FCLabel("<b>%s:</b>" % _("Excellon Format")))
# Form Layout # Form Layout
form_layout1 = QtWidgets.QFormLayout() form_layout1 = QtWidgets.QFormLayout()
self.layout.addLayout(form_layout1) self.layout.addLayout(form_layout1)

View File

@ -509,7 +509,7 @@ class ToolPunchGerber(AppTool):
self.app.inform.emit('[WARNING_NOTCL] %s' % _("The value of the fixed diameter is 0.0. Aborting.")) self.app.inform.emit('[WARNING_NOTCL] %s' % _("The value of the fixed diameter is 0.0. Aborting."))
return 'fail' return 'fail'
fail_msg = _("Could not generate punched hole Gerber because the punch hole size is bigger than" fail_msg = _("Failed. Punch hole size is bigger than"
" some of the apertures in the Gerber object.") " some of the apertures in the Gerber object.")
new_options = {} new_options = {}
@ -581,9 +581,9 @@ class ToolPunchGerber(AppTool):
punched_solid_geometry = temp_solid_geometry.difference(punching_geo) punched_solid_geometry = temp_solid_geometry.difference(punching_geo)
if punched_solid_geometry == temp_solid_geometry: if punched_solid_geometry == temp_solid_geometry:
self.app.inform.emit('[WARNING_NOTCL] %s' % msg = '[WARNING_NOTCL] %s' % \
_("Could not generate punched hole Gerber because the newly created object " _("Failed. The new object geometry is the same as the one in the source object geometry...")
"geometry is the same as the one in the source object geometry...")) self.app.inform.emit(msg)
return 'fail' return 'fail'
# update the gerber apertures to include the clear geometry so it can be exported successfully # update the gerber apertures to include the clear geometry so it can be exported successfully
@ -1037,7 +1037,7 @@ class PunchUI:
pad_all_grid.addLayout(pad_grid, 0, 0) pad_all_grid.addLayout(pad_grid, 0, 0)
# Select all # Select all
self.select_all_cb = FCCheckBox('%s' % _("ALL")) self.select_all_cb = FCCheckBox('%s' % _("All"))
pad_grid.addWidget(self.select_all_cb, 0, 0) pad_grid.addWidget(self.select_all_cb, 0, 0)
# Circular Aperture Selection # Circular Aperture Selection

View File

@ -203,7 +203,7 @@ class QRCode(AppTool):
log.debug("QRCode.make() bounds error --> %s" % str(ee)) log.debug("QRCode.make() bounds error --> %s" % str(ee))
app_obj.call_source = 'qrcode_tool' app_obj.call_source = 'qrcode_tool'
app_obj.inform.emit(_("Click on the Destination point ...")) app_obj.inform.emit(_("Click on the DESTINATION point ..."))
self.app.worker_task.emit({'fcn': job_thread_qr, 'params': [self.app]}) self.app.worker_task.emit({'fcn': job_thread_qr, 'params': [self.app]})

View File

@ -590,12 +590,12 @@ class SolderPaste(AppTool):
self.tooltable_tools.pop(t, None) self.tooltable_tools.pop(t, None)
except AttributeError: except AttributeError:
self.app.inform.emit('[WARNING_NOTCL] %s' % _("Delete failed. Select a Nozzle tool to delete.")) self.app.inform.emit('[WARNING_NOTCL] %s' % _("Delete failed. Select a tool to delete."))
return return
except Exception as e: except Exception as e:
log.debug(str(e)) log.debug(str(e))
self.app.inform.emit('[success] %s' % _("Nozzle tool(s) deleted from Tool Table.")) self.app.inform.emit('[success] %s' % _("Tools deleted from Tool Table."))
self.build_ui() self.build_ui()
def on_rmb_combo(self, pos, combo): def on_rmb_combo(self, pos, combo):
@ -806,7 +806,8 @@ class SolderPaste(AppTool):
if not geo_obj.tools[tooluid_key]['solid_geometry']: if not geo_obj.tools[tooluid_key]['solid_geometry']:
a += 1 a += 1
if a == len(geo_obj.tools): if a == len(geo_obj.tools):
self.app.inform.emit('[ERROR_NOTCL] %s' % _('Cancelled. Empty file, it has no geometry...')) msg = '[ERROR_NOTCL] %s' % '%s ...' % _('Cancelled. Empty file, it has no geometry')
self.app.inform.emit(msg)
return 'fail' return 'fail'
app_obj.inform.emit('[success] %s...' % _("Solder Paste geometry generated successfully")) app_obj.inform.emit('[success] %s...' % _("Solder Paste geometry generated successfully"))
@ -890,7 +891,7 @@ class SolderPaste(AppTool):
ymax = obj.options['ymax'] ymax = obj.options['ymax']
except Exception as e: except Exception as e:
log.debug("SolderPaste.on_create_gcode() --> %s\n" % str(e)) log.debug("SolderPaste.on_create_gcode() --> %s\n" % str(e))
msg = '[ERROR] %s' % _("An internal error has ocurred. See shell.\n") msg = '[ERROR] %s' % _("An internal error has occurred. See shell.\n")
msg += 'SolderPaste.on_create_gcode() --> %s' % str(e) msg += 'SolderPaste.on_create_gcode() --> %s' % str(e)
msg += traceback.format_exc() msg += traceback.format_exc()
self.app.inform.emit(msg) self.app.inform.emit(msg)
@ -1186,7 +1187,7 @@ class SolderUI:
self.addtool_entry_lbl = QtWidgets.QLabel('<b>%s:</b>' % _('New Nozzle Tool')) self.addtool_entry_lbl = QtWidgets.QLabel('<b>%s:</b>' % _('New Nozzle Tool'))
self.addtool_entry_lbl.setToolTip( self.addtool_entry_lbl.setToolTip(
_("Diameter for the new Nozzle tool to add in the Tool Table") _("Diameter for the new tool to add in the Tool Table")
) )
self.addtool_entry = FCDoubleSpinner(callback=self.confirmation_message) self.addtool_entry = FCDoubleSpinner(callback=self.confirmation_message)
self.addtool_entry.set_range(0.0000001, 10000.0000) self.addtool_entry.set_range(0.0000001, 10000.0000)
@ -1210,7 +1211,7 @@ class SolderUI:
self.deltool_btn = QtWidgets.QPushButton(_('Delete')) self.deltool_btn = QtWidgets.QPushButton(_('Delete'))
self.deltool_btn.setToolTip( self.deltool_btn.setToolTip(
_("Delete a selection of tools in the Tool Table\n" _("Delete a selection of tools in the Tool Table\n"
"by first selecting a row(s) in the Tool Table.") "by first selecting a row in the Tool Table.")
) )
grid0.addWidget(self.addtool_btn, 0, 0) grid0.addWidget(self.addtool_btn, 0, 0)
@ -1351,7 +1352,7 @@ class SolderUI:
self.frz_dispense_label = QtWidgets.QLabel('%s:' % _("Feedrate Z Dispense")) self.frz_dispense_label = QtWidgets.QLabel('%s:' % _("Feedrate Z Dispense"))
self.frz_dispense_label.setToolTip( self.frz_dispense_label.setToolTip(
_("Feedrate (speed) while moving up vertically\n" _("Feedrate (speed) while moving up vertically\n"
" to Dispense position (on Z plane).") "to Dispense position (on Z plane).")
) )
self.gcode_form_layout.addRow(self.frz_dispense_label, self.frz_dispense_entry) self.gcode_form_layout.addRow(self.frz_dispense_label, self.frz_dispense_entry)

View File

@ -781,7 +781,7 @@ class SubUI:
grid0.addWidget(self.sub_geo_combo, 20, 1) grid0.addWidget(self.sub_geo_combo, 20, 1)
self.close_paths_cb = FCCheckBox(_("Close paths")) self.close_paths_cb = FCCheckBox(_("Close paths"))
self.close_paths_cb.setToolTip(_("Checking this will close the paths cut by the Geometry subtractor object.")) self.close_paths_cb.setToolTip(_("Checking this will close the paths cut by the subtractor object."))
grid0.addWidget(self.close_paths_cb, 22, 0, 1, 2) grid0.addWidget(self.close_paths_cb, 22, 0, 1, 2)

View File

@ -308,8 +308,7 @@ class ToolTransform(AppTool):
sel_obj.plot() sel_obj.plot()
self.app.inform.emit('[success] %s...' % _('Rotate done')) self.app.inform.emit('[success] %s...' % _('Rotate done'))
except Exception as e: except Exception as e:
self.app.inform.emit('[ERROR_NOTCL] %s %s, %s.' % self.app.inform.emit('[ERROR_NOTCL] %s: %s.' % (_("Action was not executed"), str(e)))
(_("Due of"), str(e), _("action was not executed.")))
return return
def on_flip(self, axis, point): def on_flip(self, axis, point):
@ -336,7 +335,7 @@ class ToolTransform(AppTool):
sel_obj.options['mirror_y'] = not sel_obj.options['mirror_y'] sel_obj.options['mirror_y'] = not sel_obj.options['mirror_y']
else: else:
sel_obj.options['mirror_y'] = True sel_obj.options['mirror_y'] = True
self.app.inform.emit('[success] %s...' % _('Flip on the Y axis done')) self.app.inform.emit('[success] %s...' % _('Flip on Y axis done'))
elif axis == 'Y': elif axis == 'Y':
sel_obj.mirror('Y', (px, py)) sel_obj.mirror('Y', (px, py))
# add information to the object that it was changed and how much # add information to the object that it was changed and how much
@ -345,12 +344,11 @@ class ToolTransform(AppTool):
sel_obj.options['mirror_x'] = not sel_obj.options['mirror_x'] sel_obj.options['mirror_x'] = not sel_obj.options['mirror_x']
else: else:
sel_obj.options['mirror_x'] = True sel_obj.options['mirror_x'] = True
self.app.inform.emit('[success] %s...' % _('Flip on the X axis done')) self.app.inform.emit('[success] %s...' % _('Flip on X axis done'))
self.app.app_obj.object_changed.emit(sel_obj) self.app.app_obj.object_changed.emit(sel_obj)
sel_obj.plot() sel_obj.plot()
except Exception as e: except Exception as e:
self.app.inform.emit('[ERROR_NOTCL] %s %s, %s.' % self.app.inform.emit('[ERROR_NOTCL] %s: %s.' % (_("Action was not executed"), str(e)))
(_("Due of"), str(e), _("action was not executed.")))
return return
def on_skew(self, axis, xvalue, yvalue, point): def on_skew(self, axis, xvalue, yvalue, point):
@ -382,8 +380,7 @@ class ToolTransform(AppTool):
sel_obj.plot() sel_obj.plot()
self.app.inform.emit('[success] %s %s %s...' % (_('Skew on the'), str(axis), _("axis done"))) self.app.inform.emit('[success] %s %s %s...' % (_('Skew on the'), str(axis), _("axis done")))
except Exception as e: except Exception as e:
self.app.inform.emit('[ERROR_NOTCL] %s %s, %s.' % self.app.inform.emit('[ERROR_NOTCL] %s: %s.' % (_("Action was not executed"), str(e)))
(_("Due of"), str(e), _("action was not executed.")))
return return
def on_scale(self, axis, xfactor, yfactor, point=None): def on_scale(self, axis, xfactor, yfactor, point=None):
@ -410,8 +407,7 @@ class ToolTransform(AppTool):
self.app.inform.emit('[success] %s %s %s...' % (_('Scale on the'), str(axis), _('axis done'))) self.app.inform.emit('[success] %s %s %s...' % (_('Scale on the'), str(axis), _('axis done')))
except Exception as e: except Exception as e:
self.app.inform.emit('[ERROR_NOTCL] %s %s, %s.' % self.app.inform.emit('[ERROR_NOTCL] %s: %s.' % (_("Action was not executed"), str(e)))
(_("Due of"), str(e), _("action was not executed.")))
return return
def on_offset(self, axis, num): def on_offset(self, axis, num):
@ -440,7 +436,7 @@ class ToolTransform(AppTool):
self.app.inform.emit('[success] %s %s %s...' % (_('Offset on the'), str(axis), _('axis done'))) self.app.inform.emit('[success] %s %s %s...' % (_('Offset on the'), str(axis), _('axis done')))
except Exception as e: except Exception as e:
self.app.inform.emit('[ERROR_NOTCL] %s: %s.' % (_("Action was not executed, due of"), str(e))) self.app.inform.emit('[ERROR_NOTCL] %s: %s.' % (_("Action was not executed"), str(e)))
return return
def on_buffer_action(self, value, join, factor=None): def on_buffer_action(self, value, join, factor=None):
@ -475,7 +471,7 @@ class ToolTransform(AppTool):
except Exception as e: except Exception as e:
self.app.log.debug("ToolTransform.on_buffer_action() --> %s" % str(e)) self.app.log.debug("ToolTransform.on_buffer_action() --> %s" % str(e))
self.app.inform.emit('[ERROR_NOTCL] %s: %s.' % (_("Action was not executed, due of"), str(e))) self.app.inform.emit('[ERROR_NOTCL] %s: %s.' % (_("Action was not executed"), str(e)))
return return
@staticmethod @staticmethod
@ -616,7 +612,7 @@ class TransformUI:
self.rotate_label = FCLabel('%s:' % _("Angle")) self.rotate_label = FCLabel('%s:' % _("Angle"))
self.rotate_label.setToolTip( self.rotate_label.setToolTip(
_("Angle for Rotation action, in degrees.\n" _("Angle, in degrees.\n"
"Float number between -360 and 359.\n" "Float number between -360 and 359.\n"
"Positive numbers for CW motion.\n" "Positive numbers for CW motion.\n"
"Negative numbers for CCW motion.") "Negative numbers for CCW motion.")

View File

@ -104,7 +104,7 @@ def on_language_apply_click(app, restart=False):
msgbox.setText(_("The application will restart.")) msgbox.setText(_("The application will restart."))
msgbox.setInformativeText('%s %s?' % msgbox.setInformativeText('%s %s?' %
(_("Are you sure do you want to change the current language to"), name.capitalize())) (_("Are you sure do you want to change the current language to"), name.capitalize()))
msgbox.setWindowTitle(_("Apply Language ...")) msgbox.setWindowTitle('%s ...' % _("Apply Language"))
msgbox.setWindowIcon(QtGui.QIcon(resource_loc + '/language32.png')) msgbox.setWindowIcon(QtGui.QIcon(resource_loc + '/language32.png'))
msgbox.setIcon(QtWidgets.QMessageBox.Question) msgbox.setIcon(QtWidgets.QMessageBox.Question)

View File

@ -5123,10 +5123,10 @@ class App(QtCore.QObject):
self.form = QtWidgets.QFormLayout(self) self.form = QtWidgets.QFormLayout(self)
self.ref_radio = RadioSet([ self.ref_radio = RadioSet([
{"label": _("Bottom-Left"), "value": "bl"}, {"label": _("Bottom Left"), "value": "bl"},
{"label": _("Top-Left"), "value": "tl"}, {"label": _("Top Left"), "value": "tl"},
{"label": _("Bottom-Right"), "value": "br"}, {"label": _("Bottom Right"), "value": "br"},
{"label": _("Top-Right"), "value": "tr"}, {"label": _("Top Right"), "value": "tr"},
{"label": _("Center"), "value": "c"} {"label": _("Center"), "value": "c"}
], orientation='vertical', stretch=False) ], orientation='vertical', stretch=False)
self.ref_radio.set_value(choice) self.ref_radio.set_value(choice)
@ -5844,7 +5844,7 @@ class App(QtCore.QObject):
"not existing or doesn't have the read permissions.\n" "not existing or doesn't have the read permissions.\n"
"Check to see if exists, it should be here: %s\n" "Check to see if exists, it should be here: %s\n"
"It may help to reboot the app, it will try to recreate it if it's missing." % self.data_path) "It may help to reboot the app, it will try to recreate it if it's missing." % self.data_path)
self.inform.emit('[ERROR] %s' % _("Could not load Tools DB file.")) self.inform.emit('[ERROR] %s' % _("Could not load the file."))
return 'fail' return 'fail'
for idx in range(self.ui.plot_tab_area.count()): for idx in range(self.ui.plot_tab_area.count()):
@ -6047,7 +6047,7 @@ class App(QtCore.QObject):
self.inform.emit('[success] %s' % self.inform.emit('[success] %s' %
_("Flip on Y axis done.")) _("Flip on Y axis done."))
except Exception as e: except Exception as e:
self.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Flip action was not executed."), str(e))) self.app.inform.emit('[ERROR_NOTCL] %s: %s.' % (_("Action was not executed"), str(e)))
return return
def on_flipx(self): def on_flipx(self):
@ -6094,7 +6094,7 @@ class App(QtCore.QObject):
self.inform.emit('[success] %s' % self.inform.emit('[success] %s' %
_("Flip on X axis done.")) _("Flip on X axis done."))
except Exception as e: except Exception as e:
self.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Flip action was not executed."), str(e))) self.app.inform.emit('[ERROR_NOTCL] %s: %s.' % (_("Action was not executed"), str(e)))
return return
def on_rotate(self, silent=False, preset=None): def on_rotate(self, silent=False, preset=None):
@ -9820,14 +9820,14 @@ class MenuFileHandlers(QtCore.QObject):
def job_thread_exc(app_obj): def job_thread_exc(app_obj):
ret = make_excellon() ret = make_excellon()
if ret == 'fail': if ret == 'fail':
app_obj.inform.emit('[ERROR_NOTCL] %s' % _('Could not export Excellon file.')) app_obj.inform.emit('[ERROR_NOTCL] %s' % _('Could not export.'))
return return
self.worker_task.emit({'fcn': job_thread_exc, 'params': [self]}) self.worker_task.emit({'fcn': job_thread_exc, 'params': [self]})
else: else:
eret = make_excellon() eret = make_excellon()
if eret == 'fail': if eret == 'fail':
self.inform.emit('[ERROR_NOTCL] %s' % _('Could not export Excellon file.')) self.inform.emit('[ERROR_NOTCL] %s' % _('Could not export.'))
return 'fail' return 'fail'
if local_use is not None: if local_use is not None:
return eret return eret
@ -9954,14 +9954,14 @@ class MenuFileHandlers(QtCore.QObject):
def job_thread_grb(app_obj): def job_thread_grb(app_obj):
ret = make_gerber() ret = make_gerber()
if ret == 'fail': if ret == 'fail':
app_obj.inform.emit('[ERROR_NOTCL] %s' % _('Could not export file.')) app_obj.inform.emit('[ERROR_NOTCL] %s' % _('Could not export.'))
return return
self.worker_task.emit({'fcn': job_thread_grb, 'params': [self]}) self.worker_task.emit({'fcn': job_thread_grb, 'params': [self]})
else: else:
gret = make_gerber() gret = make_gerber()
if gret == 'fail': if gret == 'fail':
self.inform.emit('[ERROR_NOTCL] %s' % _('Could not export file.')) self.inform.emit('[ERROR_NOTCL] %s' % _('Could not export.'))
return 'fail' return 'fail'
if local_use is not None: if local_use is not None:
return gret return gret
@ -10021,14 +10021,14 @@ class MenuFileHandlers(QtCore.QObject):
def job_thread_exc(app_obj): def job_thread_exc(app_obj):
ret_dxf_val = make_dxf() ret_dxf_val = make_dxf()
if ret_dxf_val == 'fail': if ret_dxf_val == 'fail':
app_obj.inform.emit('[WARNING_NOTCL] %s' % _('Could not export DXF file.')) app_obj.inform.emit('[WARNING_NOTCL] %s' % _('Could not export.'))
return return
self.worker_task.emit({'fcn': job_thread_exc, 'params': [self]}) self.worker_task.emit({'fcn': job_thread_exc, 'params': [self]})
else: else:
ret = make_dxf() ret = make_dxf()
if ret == 'fail': if ret == 'fail':
self.inform.emit('[WARNING_NOTCL] %s' % _('Could not export DXF file.')) self.inform.emit('[WARNING_NOTCL] %s' % _('Could not export.'))
return return
if local_use is not None: if local_use is not None:
return ret return ret

View File

@ -5213,7 +5213,7 @@ class CNCjob(Geometry):
# ############################################################################################################# # #############################################################################################################
self.gcode = gcode self.gcode = gcode
self.app.inform.emit(_("Finished G-Code generation...")) self.app.inform.emit('%s ...' % _("Finished G-Code generation"))
return gcode, start_gcode return gcode, start_gcode
# no longer used # no longer used
@ -7090,7 +7090,7 @@ class CNCjob(Geometry):
# For Incremental coordinates type G91 # For Incremental coordinates type G91
# next_x = pt[0] - prev_x # next_x = pt[0] - prev_x
# next_y = pt[1] - prev_y # next_y = pt[1] - prev_y
self.app.inform.emit('[ERROR_NOTCL] %s' % _('G91 coordinates not implemented ...')) self.app.inform.emit('[ERROR_NOTCL] %s...' % _('G91 coordinates not implemented'))
next_x = pt[0] next_x = pt[0]
next_y = pt[1] next_y = pt[1]
@ -7238,7 +7238,7 @@ class CNCjob(Geometry):
# For Incremental coordinates type G91 # For Incremental coordinates type G91
# next_x = pt[0] - prev_x # next_x = pt[0] - prev_x
# next_y = pt[1] - prev_y # next_y = pt[1] - prev_y
self.app.inform.emit('[ERROR_NOTCL] %s' % _('G91 coordinates not implemented ...')) self.app.inform.emit('[ERROR_NOTCL] %s...' % _('G91 coordinates not implemented'))
next_x = pt[0] next_x = pt[0]
next_y = pt[1] next_y = pt[1]

View File

@ -867,7 +867,7 @@ class FlatCAMDefaults:
f.close() f.close()
except IOError: except IOError:
log.error("Could not load defaults file.") log.error("Could not load defaults file.")
inform.emit('[ERROR] %s' % _("Could not load defaults file.")) inform.emit('[ERROR] %s' % _("Could not load the file."))
# in case the defaults file can't be loaded, show all toolbars # in case the defaults file can't be loaded, show all toolbars
self.defaults["global_toolbar_view"] = 511 self.defaults["global_toolbar_view"] = 511
return return

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -278,7 +278,7 @@ class TclCommandCopperClear(TclCommand):
box_obj = self.app.collection.get_by_name(str(box_name)) box_obj = self.app.collection.get_by_name(str(box_name))
except Exception as e: except Exception as e:
log.debug("TclCommandCopperClear.execute() --> %s" % str(e)) log.debug("TclCommandCopperClear.execute() --> %s" % str(e))
self.raise_tcl_error("%s: %s" % (_("Could not retrieve box object"), name)) self.raise_tcl_error("%s: %s" % (_("Could not retrieve object"), name))
return "Could not retrieve object: %s" % name return "Could not retrieve object: %s" % name
self.app.ncclear_tool.clear_copper_tcl(ncc_obj=obj, self.app.ncclear_tool.clear_copper_tcl(ncc_obj=obj,

View File

@ -84,7 +84,7 @@ class TclCommandMirror(TclCommandSignaled):
try: try:
box = self.app.collection.get_by_name(args['box']) box = self.app.collection.get_by_name(args['box'])
except Exception: except Exception:
return "Could not retrieve object box: %s" % args['box'] return "Could not retrieve object: %s" % args['box']
if box is None: if box is None:
return "Object box not found: %s" % args['box'] return "Object box not found: %s" % args['box']

View File

@ -282,7 +282,7 @@ class TclCommandPaint(TclCommand):
box_obj = self.app.collection.get_by_name(str(box_name)) box_obj = self.app.collection.get_by_name(str(box_name))
except Exception as e: except Exception as e:
log.debug("TclCommandPaint.execute() --> %s" % str(e)) log.debug("TclCommandPaint.execute() --> %s" % str(e))
self.raise_tcl_error("%s: %s" % (_("Could not retrieve box object"), name)) self.raise_tcl_error("%s: %s" % (_("Could not retrieve object"), name))
return "Could not retrieve object: %s" % name return "Could not retrieve object: %s" % name
self.app.paint_tool.paint_poly_ref(obj=obj, self.app.paint_tool.paint_poly_ref(obj=obj,

View File

@ -78,7 +78,7 @@ class TclCommandScale(TclCommand):
obj_to_scale = self.app.collection.get_by_name(name) obj_to_scale = self.app.collection.get_by_name(name)
except Exception as e: except Exception as e:
log.debug("TclCommandCopperClear.execute() --> %s" % str(e)) log.debug("TclCommandCopperClear.execute() --> %s" % str(e))
self.raise_tcl_error("%s: %s" % (_("Could not retrieve box object"), name)) self.raise_tcl_error("%s: %s" % (_("Could not retrieve object"), name))
return "Could not retrieve object: %s" % name return "Could not retrieve object: %s" % name
if 'origin' not in args: if 'origin' not in args: