Merge remote-tracking branch 'remotes/jpcgt/flatcam/Beta' into Beta

This commit is contained in:
camellan
2019-06-09 19:10:56 +04:00
11 changed files with 1378 additions and 1043 deletions

View File

@@ -1,4 +1,5 @@
import sys, os import sys
import os
from PyQt5 import QtWidgets from PyQt5 import QtWidgets
from PyQt5.QtCore import QSettings, Qt from PyQt5.QtCore import QSettings, Qt
@@ -10,22 +11,22 @@ if sys.platform == "win32":
# cx_freeze 'module win32' workaround # cx_freeze 'module win32' workaround
pass pass
def debug_trace(): def debug_trace():
""" """
Set a tracepoint in the Python debugger that works with Qt Set a tracepoint in the Python debugger that works with Qt
:return: None :return: None
""" """
from PyQt5.QtCore import pyqtRemoveInputHook from PyQt5.QtCore import pyqtRemoveInputHook
#from pdb import set_trace # from pdb import set_trace
pyqtRemoveInputHook() pyqtRemoveInputHook()
#set_trace() # set_trace()
# All X11 calling should be thread safe otherwise we have strange issues
# QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_X11InitThreads)
# NOTE: Never talk to the GUI from threads! This is why I commented the above.
if __name__ == '__main__': if __name__ == '__main__':
# All X11 calling should be thread safe otherwise we have strange issues
# QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_X11InitThreads)
# NOTE: Never talk to the GUI from threads! This is why I commented the above.
freeze_support() freeze_support()
debug_trace() debug_trace()
@@ -59,4 +60,3 @@ if __name__ == '__main__':
fc = App() fc = App()
sys.exit(app.exec_()) sys.exit(app.exec_())

View File

@@ -1,10 +1,10 @@
# ######################################################### ## # ###########################################################
# FlatCAM: 2D Post-processing for Manufacturing # # FlatCAM: 2D Post-processing for Manufacturing #
# http://flatcam.org # # http://flatcam.org #
# Author: Juan Pablo Caram (c) # # Author: Juan Pablo Caram (c) #
# Date: 2/5/2014 # # Date: 2/5/2014 #
# MIT Licence # # MIT Licence #
# ######################################################### ## # ###########################################################
import urllib.request, urllib.parse, urllib.error import urllib.request, urllib.parse, urllib.error
import getopt import getopt
@@ -25,9 +25,9 @@ import gc
from xml.dom.minidom import parseString as parse_xml_string from xml.dom.minidom import parseString as parse_xml_string
# ##################################### ## # #######################################
# # Imports part of FlatCAM # ## # # Imports part of FlatCAM ##
# ##################################### ## # #######################################
from ObjectCollection import * from ObjectCollection import *
from FlatCAMObj import * from FlatCAMObj import *
from flatcamGUI.PlotCanvas import * from flatcamGUI.PlotCanvas import *
@@ -681,7 +681,7 @@ class App(QtCore.QObject):
"zoom_out_key": '-', "zoom_out_key": '-',
"zoom_in_key": '=', "zoom_in_key": '=',
"grid_toggle_key": 'G', "grid_toggle_key": 'G',
"zoom_ratio": 1.5, "global_zoom_ratio": 1.5,
"global_point_clipboard_format": "(%.4f, %.4f)", "global_point_clipboard_format": "(%.4f, %.4f)",
"global_zdownrate": None, "global_zdownrate": None,
@@ -875,7 +875,7 @@ class App(QtCore.QObject):
"tools_calc_vshape_cut_z": 0.000787, "tools_calc_vshape_cut_z": 0.000787,
"tools_calc_electro_length": 10.0, "tools_calc_electro_length": 10.0,
"tools_calc_electro_width": 10.0, "tools_calc_electro_width": 10.0,
"tools_calc_electro_cdensity":13.0, "tools_calc_electro_cdensity": 13.0,
"tools_calc_electro_growth": 10.0, "tools_calc_electro_growth": 10.0,
"tools_transform_rotate": 90, "tools_transform_rotate": 90,
@@ -929,10 +929,9 @@ class App(QtCore.QObject):
self.ui.general_defaults_form.general_app_group.language_cb.setCurrentText(ret_val) self.ui.general_defaults_form.general_app_group.language_cb.setCurrentText(ret_val)
log.debug("App.__init__() --> Applied %s language." % str(ret_val).capitalize()) log.debug("App.__init__() --> Applied %s language." % str(ret_val).capitalize())
# ##################################
# ################################ ## # ### CREATE UNIQUE SERIAL NUMBER ##
# # ## CREATE UNIQUE SERIAL NUMBER # ## # ##################################
# ################################ ##
chars = 'abcdefghijklmnopqrstuvwxyz0123456789' chars = 'abcdefghijklmnopqrstuvwxyz0123456789'
if self.defaults['global_serial'] == 0 or len(str(self.defaults['global_serial'])) < 10: if self.defaults['global_serial'] == 0 or len(str(self.defaults['global_serial'])) < 10:
@@ -1416,9 +1415,20 @@ class App(QtCore.QObject):
self.ui.menuviewdisableall.triggered.connect(self.disable_all_plots) self.ui.menuviewdisableall.triggered.connect(self.disable_all_plots)
self.ui.menuviewdisableother.triggered.connect(self.disable_other_plots) self.ui.menuviewdisableother.triggered.connect(self.disable_other_plots)
self.ui.menuviewenable.triggered.connect(self.enable_all_plots) self.ui.menuviewenable.triggered.connect(self.enable_all_plots)
self.ui.menuview_zoom_fit.triggered.connect(self.on_zoom_fit) self.ui.menuview_zoom_fit.triggered.connect(self.on_zoom_fit)
<<<<<<< HEAD
self.ui.menuview_zoom_in.triggered.connect(lambda: self.plotcanvas.zoom(1.5)) self.ui.menuview_zoom_in.triggered.connect(lambda: self.plotcanvas.zoom(1.5))
self.ui.menuview_zoom_out.triggered.connect(lambda: self.plotcanvas.zoom(1 / 1.5)) self.ui.menuview_zoom_out.triggered.connect(lambda: self.plotcanvas.zoom(1 / 1.5))
=======
self.ui.menuview_zoom_in.triggered.connect(
lambda: self.plotcanvas.zoom(1 / float(self.defaults['global_zoom_ratio']))
)
self.ui.menuview_zoom_out.triggered.connect(
lambda: self.plotcanvas.zoom(float(self.defaults['global_zoom_ratio']))
)
>>>>>>> remotes/jpcgt/flatcam/Beta
self.ui.menuview_toggle_code_editor.triggered.connect(self.on_toggle_code_editor) self.ui.menuview_toggle_code_editor.triggered.connect(self.on_toggle_code_editor)
self.ui.menuview_toggle_fscreen.triggered.connect(self.on_fullscreen) self.ui.menuview_toggle_fscreen.triggered.connect(self.on_fullscreen)
self.ui.menuview_toggle_parea.triggered.connect(self.on_toggle_plotarea) self.ui.menuview_toggle_parea.triggered.connect(self.on_toggle_plotarea)
@@ -2784,7 +2794,7 @@ class App(QtCore.QObject):
self.inform.emit(_("[ERROR_NOTCL] Failed to parse defaults file.")) self.inform.emit(_("[ERROR_NOTCL] Failed to parse defaults file."))
return return
self.defaults.update(defaults_from_file) self.defaults.update(defaults_from_file)
self.inform.emit(_("[success] Imported Defaults from %s") %filename) self.inform.emit(_("[success] Imported Defaults from %s") % filename)
def on_export_preferences(self): def on_export_preferences(self):
self.report_usage("on_export_preferences") self.report_usage("on_export_preferences")
@@ -2796,16 +2806,16 @@ class App(QtCore.QObject):
self.date = ''.join(c for c in self.date if c not in ':-') self.date = ''.join(c for c in self.date if c not in ':-')
self.date = self.date.replace(' ', '_') self.date = self.date.replace(' ', '_')
filter = "Config File (*.FlatConfig);;All Files (*.*)" filter__ = "Config File (*.FlatConfig);;All Files (*.*)"
try: try:
filename, _f = QtWidgets.QFileDialog.getSaveFileName( filename, _f = QtWidgets.QFileDialog.getSaveFileName(
caption=_("Export FlatCAM Preferences"), caption=_("Export FlatCAM Preferences"),
directory=self.data_path + '/preferences_' + self.date, directory=self.data_path + '/preferences_' + self.date,
filter=filter filter=filter__
) )
except TypeError: except TypeError:
filename, _f = QtWidgets.QFileDialog.getSaveFileName(caption=_("Export FlatCAM Preferences"), filename, _f = QtWidgets.QFileDialog.getSaveFileName(caption=_("Export FlatCAM Preferences"),
filter=filter) filter=filter__)
filename = str(filename) filename = str(filename)
defaults_from_file = {} defaults_from_file = {}

View File

@@ -9,12 +9,18 @@ CAD program, and create G-Code for Isolation routing.
================================================= =================================================
9.06.2019
- updated translations
- fixed the the labels for shortcut keys for zoom in and zoom out both in the Menu links and in the Shortcut list
- made sure the zoom functions use the global_zoom_ratio parameter from App.self.defaults dictionary.
- some PEP8 cleanup
8.06.2019 8.06.2019
- make sure that the annotation shapes are deleted on creation of a new project - make sure that the annotation shapes are deleted on creation of a new project
- added folder for the Russian translation - added folder for the Russian translation
- made sure that visibility for TextGroup is set only if index is not None in VisPyVisuals.TextGroup.visible() setter - made sure that visibility for TextGroup is set only if index is not None in VisPyVisuals.TextGroup.visible() setter
- RELEASE 8.918
7.06.2019 7.06.2019

View File

@@ -355,8 +355,8 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
# Separator # Separator
self.menuview.addSeparator() self.menuview.addSeparator()
self.menuview_zoom_fit = self.menuview.addAction(QtGui.QIcon('share/zoom_fit32.png'), _("&Zoom Fit\tV")) self.menuview_zoom_fit = self.menuview.addAction(QtGui.QIcon('share/zoom_fit32.png'), _("&Zoom Fit\tV"))
self.menuview_zoom_in = self.menuview.addAction(QtGui.QIcon('share/zoom_in32.png'), _("&Zoom In\t-")) self.menuview_zoom_in = self.menuview.addAction(QtGui.QIcon('share/zoom_in32.png'), _("&Zoom In\t="))
self.menuview_zoom_out = self.menuview.addAction(QtGui.QIcon('share/zoom_out32.png'), _("&Zoom Out\t=")) self.menuview_zoom_out = self.menuview.addAction(QtGui.QIcon('share/zoom_out32.png'), _("&Zoom Out\t-"))
self.menuview.addSeparator() self.menuview.addSeparator()
self.menuview_toggle_code_editor = self.menuview.addAction(QtGui.QIcon('share/code_editor32.png'), self.menuview_toggle_code_editor = self.menuview.addAction(QtGui.QIcon('share/code_editor32.png'),
@@ -1069,11 +1069,11 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
<td>&nbsp;Flip on Y_axis</td> <td>&nbsp;Flip on Y_axis</td>
</tr> </tr>
<tr height="20"> <tr height="20">
<td height="20"><strong>&#39;=&#39;</strong></td> <td height="20"><strong>&#39;-&#39;</strong></td>
<td>&nbsp;Zoom Out</td> <td>&nbsp;Zoom Out</td>
</tr> </tr>
<tr height="20"> <tr height="20">
<td height="20"><strong>&#39;-&#39;</strong></td> <td height="20"><strong>&#39;=&#39;</strong></td>
<td>&nbsp;Zoom In</td> <td>&nbsp;Zoom In</td>
</tr> </tr>
<tr height="20"> <tr height="20">
@@ -2289,7 +2289,7 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.app.on_set_origin() self.app.on_set_origin()
return return
# Set Origin # Properties Tool
if key == QtCore.Qt.Key_P: if key == QtCore.Qt.Key_P:
self.app.properties_tool.run() self.app.properties_tool.run()
return return
@@ -2328,8 +2328,15 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.app.on_flipy() self.app.on_flipy()
# Zoom In # Zoom In
<<<<<<< HEAD
=======
if key == QtCore.Qt.Key_Equal:
self.app.plotcanvas.zoom(1 / self.app.defaults['global_zoom_ratio'], self.app.mouse)
# Zoom Out
>>>>>>> remotes/jpcgt/flatcam/Beta
if key == QtCore.Qt.Key_Minus: if key == QtCore.Qt.Key_Minus:
self.app.plotcanvas.zoom(self.app.defaults['zoom_ratio'], self.app.mouse) self.app.plotcanvas.zoom(self.app.defaults['global_zoom_ratio'], self.app.mouse)
# Zoom Out # Zoom Out
if key == QtCore.Qt.Key_Equal: if key == QtCore.Qt.Key_Equal:
@@ -2455,11 +2462,11 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.app.geo_editor.transform_tool.on_rotate_key() self.app.geo_editor.transform_tool.on_rotate_key()
if key == QtCore.Qt.Key_Minus or key == '-': if key == QtCore.Qt.Key_Minus or key == '-':
self.app.plotcanvas.zoom(1 / self.app.defaults['zoom_ratio'], self.app.plotcanvas.zoom(1 / self.app.defaults['global_zoom_ratio'],
[self.app.geo_editor.snap_x, self.app.geo_editor.snap_y]) [self.app.geo_editor.snap_x, self.app.geo_editor.snap_y])
if key == QtCore.Qt.Key_Equal or key == '=': if key == QtCore.Qt.Key_Equal or key == '=':
self.app.plotcanvas.zoom(self.app.defaults['zoom_ratio'], self.app.plotcanvas.zoom(self.app.defaults['global_zoom_ratio'],
[self.app.geo_editor.snap_x, self.app.geo_editor.snap_y]) [self.app.geo_editor.snap_x, self.app.geo_editor.snap_y])
# Switch to Project Tab # Switch to Project Tab
@@ -2657,13 +2664,13 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
if key == QtCore.Qt.Key_Minus or key == '-': if key == QtCore.Qt.Key_Minus or key == '-':
self.app.grb_editor.launched_from_shortcuts = True self.app.grb_editor.launched_from_shortcuts = True
self.app.plotcanvas.zoom(1 / self.app.defaults['zoom_ratio'], self.app.plotcanvas.zoom(1 / self.app.defaults['global_zoom_ratio'],
[self.app.grb_editor.snap_x, self.app.grb_editor.snap_y]) [self.app.grb_editor.snap_x, self.app.grb_editor.snap_y])
return return
if key == QtCore.Qt.Key_Equal or key == '=': if key == QtCore.Qt.Key_Equal or key == '=':
self.app.grb_editor.launched_from_shortcuts = True self.app.grb_editor.launched_from_shortcuts = True
self.app.plotcanvas.zoom(self.app.defaults['zoom_ratio'], self.app.plotcanvas.zoom(self.app.defaults['global_zoom_ratio'],
[self.app.grb_editor.snap_x, self.app.grb_editor.snap_y]) [self.app.grb_editor.snap_x, self.app.grb_editor.snap_y])
return return
@@ -2869,13 +2876,13 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
if key == QtCore.Qt.Key_Minus or key == '-': if key == QtCore.Qt.Key_Minus or key == '-':
self.app.exc_editor.launched_from_shortcuts = True self.app.exc_editor.launched_from_shortcuts = True
self.app.plotcanvas.zoom(1 / self.app.defaults['zoom_ratio'], self.app.plotcanvas.zoom(1 / self.app.defaults['global_zoom_ratio'],
[self.app.exc_editor.snap_x, self.app.exc_editor.snap_y]) [self.app.exc_editor.snap_x, self.app.exc_editor.snap_y])
return return
if key == QtCore.Qt.Key_Equal or key == '=': if key == QtCore.Qt.Key_Equal or key == '=':
self.app.exc_editor.launched_from_shortcuts = True self.app.exc_editor.launched_from_shortcuts = True
self.app.plotcanvas.zoom(self.app.defaults['zoom_ratio'], self.app.plotcanvas.zoom(self.app.defaults['global_zoom_ratio'],
[self.app.exc_editor.snap_x, self.app.exc_editor.snap_y]) [self.app.exc_editor.snap_x, self.app.exc_editor.snap_y])
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

File diff suppressed because it is too large Load Diff