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

Merged in marius_stanciu/flatcam_beta/Beta (pull request #153)

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

+ 8 - 8
FlatCAM.py

@@ -1,4 +1,5 @@
-import sys, os
+import sys
+import os
 
 from PyQt5 import QtWidgets
 from PyQt5.QtCore import QSettings, Qt
@@ -10,22 +11,22 @@ if sys.platform == "win32":
     # cx_freeze 'module win32' workaround
     pass
 
+
 def debug_trace():
     """
     Set a tracepoint in the Python debugger that works with Qt
     :return: None
     """
     from PyQt5.QtCore import pyqtRemoveInputHook
-    #from pdb import set_trace
+    # from pdb import set_trace
     pyqtRemoveInputHook()
-    #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.
+    # set_trace()
 
 
 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()
 
     debug_trace()
@@ -59,4 +60,3 @@ if __name__ == '__main__':
     fc = App()
 
     sys.exit(app.exec_())
-

+ 27 - 22
FlatCAMApp.py

@@ -1,10 +1,10 @@
-# ######################################################### ##
+# ###########################################################
 # FlatCAM: 2D Post-processing for Manufacturing             #
 # http://flatcam.org                                        #
 # Author: Juan Pablo Caram (c)                              #
 # Date: 2/5/2014                                            #
 # MIT Licence                                               #
-# ######################################################### ##
+# ###########################################################
 
 import urllib.request, urllib.parse, urllib.error
 import getopt
@@ -25,9 +25,9 @@ import gc
 
 from xml.dom.minidom import parseString as parse_xml_string
 
-# ##################################### ##
-# #      Imports part of FlatCAM       # ##
-# ##################################### ##
+# #######################################
+# #      Imports part of FlatCAM       ##
+# #######################################
 from ObjectCollection import *
 from FlatCAMObj import *
 from flatcamGUI.PlotCanvas import *
@@ -681,7 +681,7 @@ class App(QtCore.QObject):
             "zoom_out_key": '-',
             "zoom_in_key": '=',
             "grid_toggle_key": 'G',
-            "zoom_ratio": 1.5,
+            "global_zoom_ratio": 1.5,
             "global_point_clipboard_format": "(%.4f, %.4f)",
             "global_zdownrate": None,
 
@@ -875,7 +875,7 @@ class App(QtCore.QObject):
             "tools_calc_vshape_cut_z": 0.000787,
             "tools_calc_electro_length": 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_transform_rotate": 90,
@@ -929,10 +929,9 @@ class App(QtCore.QObject):
             self.ui.general_defaults_form.general_app_group.language_cb.setCurrentText(ret_val)
             log.debug("App.__init__() --> Applied %s language." % str(ret_val).capitalize())
 
-
-        # ################################ ##
-        # # ## CREATE UNIQUE SERIAL NUMBER # ##
-        # ################################ ##
+        # ##################################
+        # ### CREATE UNIQUE SERIAL NUMBER ##
+        # ##################################
 
         chars = 'abcdefghijklmnopqrstuvwxyz0123456789'
         if self.defaults['global_serial'] == 0 or len(str(self.defaults['global_serial'])) < 10:
@@ -1416,9 +1415,15 @@ class App(QtCore.QObject):
         self.ui.menuviewdisableall.triggered.connect(self.disable_all_plots)
         self.ui.menuviewdisableother.triggered.connect(self.disable_other_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_in.triggered.connect(lambda: self.plotcanvas.zoom(1 / 1.5))
-        self.ui.menuview_zoom_out.triggered.connect(lambda: self.plotcanvas.zoom(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']))
+        )
+
         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_parea.triggered.connect(self.on_toggle_plotarea)
@@ -2784,7 +2789,7 @@ class App(QtCore.QObject):
                 self.inform.emit(_("[ERROR_NOTCL] Failed to parse defaults file."))
                 return
             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):
         self.report_usage("on_export_preferences")
@@ -2796,16 +2801,16 @@ class App(QtCore.QObject):
         self.date = ''.join(c for c in self.date if c not in ':-')
         self.date = self.date.replace(' ', '_')
 
-        filter = "Config File (*.FlatConfig);;All Files (*.*)"
+        filter__ = "Config File (*.FlatConfig);;All Files (*.*)"
         try:
             filename, _f = QtWidgets.QFileDialog.getSaveFileName(
                 caption=_("Export FlatCAM Preferences"),
                 directory=self.data_path + '/preferences_' + self.date,
-                filter=filter
+                filter=filter__
             )
         except TypeError:
             filename, _f = QtWidgets.QFileDialog.getSaveFileName(caption=_("Export FlatCAM Preferences"),
-                                                                 filter=filter)
+                                                                 filter=filter__)
 
         filename = str(filename)
         defaults_from_file = {}
@@ -3461,11 +3466,11 @@ class App(QtCore.QObject):
         # if len(set(geo_type_list)) == 1 means that all list elements are the same
         if len(set(geo_type_list)) != 1:
             self.inform.emit(_("[ERROR] Failed join. The Geometry objects are of different types.\n"
-                             "At least one is MultiGeo type and the other is SingleGeo type. A possibility is to "
-                             "convert from one to another and retry joining \n"
-                             "but in the case of converting from MultiGeo to SingleGeo, informations may be lost and "
-                             "the result may not be what was expected. \n"
-                             "Check the generated GCODE."))
+                               "At least one is MultiGeo type and the other is SingleGeo type. A possibility is to "
+                               "convert from one to another and retry joining \n"
+                               "but in the case of converting from MultiGeo to SingleGeo, informations may be lost and "
+                               "the result may not be what was expected. \n"
+                               "Check the generated GCODE."))
             return
 
         # if at least one True object is in the list then due of the previous check, all list elements are True objects

+ 7 - 1
README.md

@@ -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
 
 - make sure that the annotation shapes are deleted on creation of a new project
 - 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
-- RELEASE 8.918
 
 7.06.2019
 

+ 13 - 13
flatcamGUI/FlatCAMGUI.py

@@ -355,8 +355,8 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
         # Separator
         self.menuview.addSeparator()
         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_out = self.menuview.addAction(QtGui.QIcon('share/zoom_out32.png'), _("&Zoom Out\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.addSeparator()
 
         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>
                     </tr>
                     <tr height="20">
-                        <td height="20"><strong>&#39;=&#39;</strong></td>
+                        <td height="20"><strong>&#39;-&#39;</strong></td>
                         <td>&nbsp;Zoom Out</td>
                     </tr>
                     <tr height="20">
-                        <td height="20"><strong>&#39;-&#39;</strong></td>
+                        <td height="20"><strong>&#39;=&#39;</strong></td>
                         <td>&nbsp;Zoom In</td>
                     </tr>
                     <tr height="20">
@@ -2289,7 +2289,7 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
                     self.app.on_set_origin()
                     return
 
-                # Set Origin
+                # Properties Tool
                 if key == QtCore.Qt.Key_P:
                     self.app.properties_tool.run()
                     return
@@ -2329,11 +2329,11 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
 
                 # Zoom In
                 if key == QtCore.Qt.Key_Equal:
-                    self.app.plotcanvas.zoom(1 / self.app.defaults['zoom_ratio'], self.app.mouse)
+                    self.app.plotcanvas.zoom(1 / self.app.defaults['global_zoom_ratio'], self.app.mouse)
 
                 # Zoom Out
                 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)
 
                 # toggle display of Notebook area
                 if key == QtCore.Qt.Key_QuoteLeft:
@@ -2455,11 +2455,11 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
                     self.app.geo_editor.transform_tool.on_rotate_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])
 
                 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])
 
                 # Switch to Project Tab
@@ -2657,13 +2657,13 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
 
                 if key == QtCore.Qt.Key_Minus or key == '-':
                     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])
                     return
 
                 if key == QtCore.Qt.Key_Equal or key == '=':
                     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])
                     return
 
@@ -2869,13 +2869,13 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
 
                 if key == QtCore.Qt.Key_Minus or key == '-':
                     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])
                     return
 
                 if key == QtCore.Qt.Key_Equal or key == '=':
                     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])
                     return
 

BIN
locale/de/LC_MESSAGES/strings.mo


Разница между файлами не показана из-за своего большого размера
+ 199 - 198
locale/de/LC_MESSAGES/strings.po


BIN
locale/en/LC_MESSAGES/strings.mo


Разница между файлами не показана из-за своего большого размера
+ 199 - 198
locale/en/LC_MESSAGES/strings.po


BIN
locale/ro/LC_MESSAGES/strings.mo


Разница между файлами не показана из-за своего большого размера
+ 199 - 198
locale/ro/LC_MESSAGES/strings.po


Разница между файлами не показана из-за своего большого размера
+ 201 - 201
locale_template/strings.pot


Некоторые файлы не были показаны из-за большого количества измененных файлов