- all kwy shortcuts work across the entire application; started to move all the shortcuts definitions in FlatCAMGUI.keyPressEvent()
This commit is contained in:
438
FlatCAMApp.py
438
FlatCAMApp.py
@@ -964,8 +964,7 @@ class App(QtCore.QObject):
|
||||
self.plotcanvas.vis_connect('mouse_double_click', self.on_double_click_over_plot)
|
||||
|
||||
# Keys over plot enabled
|
||||
self.plotcanvas.vis_connect('key_press', self.on_key_over_plot)
|
||||
self.plotcanvas.vis_connect('key_release', self.on_key_release_over_plot)
|
||||
self.plotcanvas.vis_connect('key_press', self.ui.keyPressEvent)
|
||||
|
||||
self.ui.splitter.setStretchFactor(1, 2)
|
||||
|
||||
@@ -3934,223 +3933,224 @@ class App(QtCore.QObject):
|
||||
else:
|
||||
return 0
|
||||
|
||||
def on_key_over_plot(self, event):
|
||||
"""
|
||||
Callback for the key pressed event when the canvas is focused. Keyboard
|
||||
shortcuts are handled here. So far, these are the shortcuts:
|
||||
|
||||
========== ============================================
|
||||
Key Action
|
||||
========== ============================================
|
||||
'1' Zoom-fit. Fits the axes limits to the data.
|
||||
'2' Zoom-out.
|
||||
'3' Zoom-in.
|
||||
'ctrl+m' Toggle on-off the measuring tool.
|
||||
========== ============================================
|
||||
|
||||
:param event: Ignored.
|
||||
:return: None
|
||||
"""
|
||||
|
||||
self.key_modifiers = QtWidgets.QApplication.keyboardModifiers()
|
||||
|
||||
if self.key_modifiers == QtCore.Qt.ControlModifier:
|
||||
if event.key == 'A':
|
||||
self.on_selectall()
|
||||
|
||||
if event.key == 'C':
|
||||
self.on_copy_object()
|
||||
|
||||
if event.key == 'E':
|
||||
self.on_fileopenexcellon()
|
||||
if event.key == 'G':
|
||||
self.on_fileopengerber()
|
||||
|
||||
if event.key == 'N':
|
||||
self.on_file_new_click()
|
||||
|
||||
if event.key == 'M':
|
||||
self.measurement_tool.run()
|
||||
|
||||
if event.key == 'O':
|
||||
self.on_file_openproject()
|
||||
|
||||
if event.key == 'S':
|
||||
self.on_file_saveproject()
|
||||
|
||||
# Toggle Plot Area
|
||||
if event.key == 'F10':
|
||||
self.on_toggle_plotarea()
|
||||
|
||||
return
|
||||
elif self.key_modifiers == QtCore.Qt.AltModifier:
|
||||
# place holder for further shortcut key
|
||||
|
||||
if event.key == '1':
|
||||
self.enable_all_plots()
|
||||
|
||||
if event.key == '2':
|
||||
self.disable_all_plots()
|
||||
|
||||
if event.key == '3':
|
||||
self.disable_other_plots()
|
||||
|
||||
if event.key == 'C':
|
||||
self.calculator_tool.run()
|
||||
|
||||
if event.key == 'D':
|
||||
self.dblsidedtool.run()
|
||||
|
||||
if event.key == 'L':
|
||||
self.film_tool.run()
|
||||
|
||||
if event.key == 'N':
|
||||
self.ncclear_tool.run()
|
||||
|
||||
if event.key == 'P':
|
||||
self.paint_tool.run()
|
||||
|
||||
if event.key == 'R':
|
||||
self.transform_tool.run()
|
||||
|
||||
if event.key == 'U':
|
||||
self.cutout_tool.run()
|
||||
|
||||
if event.key == 'Z':
|
||||
self.panelize_tool.run()
|
||||
|
||||
if event.key == 'F10':
|
||||
self.on_fullscreen()
|
||||
|
||||
return
|
||||
elif self.key_modifiers == QtCore.Qt.ShiftModifier:
|
||||
# place holder for further shortcut key
|
||||
|
||||
if event.key == 'C':
|
||||
self.on_copy_name()
|
||||
|
||||
# Toggle axis
|
||||
if event.key == 'G':
|
||||
self.on_toggle_axis()
|
||||
|
||||
# Open Preferences Window
|
||||
if event.key == 'P':
|
||||
self.on_preferences()
|
||||
|
||||
# Rotate Object by 90 degree CCW
|
||||
if event.key == 'R':
|
||||
self.on_rotate(silent=True, preset=-90)
|
||||
|
||||
# Run a Script
|
||||
if event.key == 'S':
|
||||
self.on_filerunscript()
|
||||
|
||||
# Toggle Workspace
|
||||
if event.key == 'W':
|
||||
self.on_workspace_menu()
|
||||
|
||||
# Skew on X axis
|
||||
if event.key == 'X':
|
||||
self.on_skewx()
|
||||
|
||||
# Skew on Y axis
|
||||
if event.key == 'Y':
|
||||
self.on_skewy()
|
||||
|
||||
else:
|
||||
if event.key == 'F1':
|
||||
webbrowser.open(self.manual_url)
|
||||
return
|
||||
|
||||
if event.key == 'F2':
|
||||
webbrowser.open(self.video_url)
|
||||
return
|
||||
|
||||
if event.key == self.defaults['zoom_out_key']: # '-'
|
||||
self.plotcanvas.zoom(1 / self.defaults['zoom_ratio'], self.mouse)
|
||||
return
|
||||
|
||||
if event.key == self.defaults['zoom_in_key']: # '='
|
||||
self.plotcanvas.zoom(self.defaults['zoom_ratio'], self.mouse)
|
||||
return
|
||||
|
||||
if event.key == 'Delete':
|
||||
self.on_delete()
|
||||
return
|
||||
|
||||
if event.key == 'Space':
|
||||
if self.collection.get_active() is not None:
|
||||
self.collection.get_active().ui.plot_cb.toggle()
|
||||
self.delete_selection_shape()
|
||||
|
||||
if event.key == '1':
|
||||
self.on_select_tab('project')
|
||||
|
||||
if event.key == '2':
|
||||
self.on_select_tab('selected')
|
||||
|
||||
if event.key == '3':
|
||||
self.on_select_tab('tool')
|
||||
|
||||
if event.key == 'E':
|
||||
self.object2editor()
|
||||
|
||||
if event.key == self.defaults['grid_toggle_key']: # G
|
||||
self.ui.grid_snap_btn.trigger()
|
||||
|
||||
if event.key == 'J':
|
||||
self.on_jump_to()
|
||||
|
||||
if event.key == 'L':
|
||||
self.new_excellon_object()
|
||||
|
||||
if event.key == 'M':
|
||||
self.move_tool.toggle()
|
||||
return
|
||||
|
||||
if event.key == 'N':
|
||||
self.on_new_geometry()
|
||||
|
||||
if event.key == 'O':
|
||||
self.on_set_origin()
|
||||
|
||||
if event.key == 'P':
|
||||
self.properties_tool.run()
|
||||
|
||||
if event.key == 'Q':
|
||||
self.on_toggle_units_click()
|
||||
|
||||
if event.key == 'R':
|
||||
self.on_rotate(silent=True, preset=90)
|
||||
|
||||
if event.key == 'S':
|
||||
self.on_toggle_shell()
|
||||
|
||||
if event.key == 'V':
|
||||
self.on_zoom_fit(None)
|
||||
|
||||
if event.key == 'X':
|
||||
self.on_flipx()
|
||||
|
||||
if event.key == 'Y':
|
||||
self.on_flipy()
|
||||
|
||||
if event.key == '`':
|
||||
self.on_shortcut_list()
|
||||
|
||||
def on_key_release_over_plot(self, event):
|
||||
modifiers = QtWidgets.QApplication.keyboardModifiers()
|
||||
|
||||
if modifiers == QtCore.Qt.ControlModifier:
|
||||
return
|
||||
elif modifiers == QtCore.Qt.AltModifier:
|
||||
# place holder for further shortcut key
|
||||
return
|
||||
elif modifiers == QtCore.Qt.ShiftModifier:
|
||||
# place holder for further shortcut key
|
||||
return
|
||||
else:
|
||||
return
|
||||
# def on_key_over_plot(self, event):
|
||||
# """
|
||||
# Callback for the key pressed event when the canvas is focused. Keyboard
|
||||
# shortcuts are handled here. So far, these are the shortcuts:
|
||||
#
|
||||
# ========== ============================================
|
||||
# Key Action
|
||||
# ========== ============================================
|
||||
# '1' Zoom-fit. Fits the axes limits to the data.
|
||||
# '2' Zoom-out.
|
||||
# '3' Zoom-in.
|
||||
# 'ctrl+m' Toggle on-off the measuring tool.
|
||||
# ========== ============================================
|
||||
#
|
||||
# :param event: Ignored.
|
||||
# :return: None
|
||||
# """
|
||||
# print(type(event.key), event.key)
|
||||
# self.key_modifiers = QtWidgets.QApplication.keyboardModifiers()
|
||||
#
|
||||
# if self.key_modifiers == QtCore.Qt.ControlModifier:
|
||||
# if event.key == 'A':
|
||||
# self.on_selectall()
|
||||
#
|
||||
# if event.key == 'C':
|
||||
# self.on_copy_object()
|
||||
#
|
||||
# if event.key == 'E':
|
||||
# self.on_fileopenexcellon()
|
||||
#
|
||||
# if event.key == 'G':
|
||||
# self.on_fileopengerber()
|
||||
#
|
||||
# if event.key == 'N':
|
||||
# self.on_file_new_click()
|
||||
#
|
||||
# if event.key == 'M':
|
||||
# self.measurement_tool.run()
|
||||
#
|
||||
# if event.key == 'O':
|
||||
# self.on_file_openproject()
|
||||
#
|
||||
# if event.key == 'S':
|
||||
# self.on_file_saveproject()
|
||||
#
|
||||
# # Toggle Plot Area
|
||||
# if event.key == 'F10':
|
||||
# self.on_toggle_plotarea()
|
||||
#
|
||||
# return
|
||||
# elif self.key_modifiers == QtCore.Qt.AltModifier:
|
||||
# # place holder for further shortcut key
|
||||
#
|
||||
# if event.key == '1':
|
||||
# self.enable_all_plots()
|
||||
#
|
||||
# if event.key == '2':
|
||||
# self.disable_all_plots()
|
||||
#
|
||||
# if event.key == '3':
|
||||
# self.disable_other_plots()
|
||||
#
|
||||
# if event.key == 'C':
|
||||
# self.calculator_tool.run()
|
||||
#
|
||||
# if event.key == 'D':
|
||||
# self.dblsidedtool.run()
|
||||
#
|
||||
# if event.key == 'L':
|
||||
# self.film_tool.run()
|
||||
#
|
||||
# if event.key == 'N':
|
||||
# self.ncclear_tool.run()
|
||||
#
|
||||
# if event.key == 'P':
|
||||
# self.paint_tool.run()
|
||||
#
|
||||
# if event.key == 'R':
|
||||
# self.transform_tool.run()
|
||||
#
|
||||
# if event.key == 'U':
|
||||
# self.cutout_tool.run()
|
||||
#
|
||||
# if event.key == 'Z':
|
||||
# self.panelize_tool.run()
|
||||
#
|
||||
# if event.key == 'F10':
|
||||
# self.on_fullscreen()
|
||||
#
|
||||
# return
|
||||
# elif self.key_modifiers == QtCore.Qt.ShiftModifier:
|
||||
# # place holder for further shortcut key
|
||||
#
|
||||
# if event.key == 'C':
|
||||
# self.on_copy_name()
|
||||
#
|
||||
# # Toggle axis
|
||||
# if event.key == 'G':
|
||||
# self.on_toggle_axis()
|
||||
#
|
||||
# # Open Preferences Window
|
||||
# if event.key == 'P':
|
||||
# self.on_preferences()
|
||||
#
|
||||
# # Rotate Object by 90 degree CCW
|
||||
# if event.key == 'R':
|
||||
# self.on_rotate(silent=True, preset=-90)
|
||||
#
|
||||
# # Run a Script
|
||||
# if event.key == 'S':
|
||||
# self.on_filerunscript()
|
||||
#
|
||||
# # Toggle Workspace
|
||||
# if event.key == 'W':
|
||||
# self.on_workspace_menu()
|
||||
#
|
||||
# # Skew on X axis
|
||||
# if event.key == 'X':
|
||||
# self.on_skewx()
|
||||
#
|
||||
# # Skew on Y axis
|
||||
# if event.key == 'Y':
|
||||
# self.on_skewy()
|
||||
#
|
||||
# else:
|
||||
# if event.key == 'F1':
|
||||
# webbrowser.open(self.manual_url)
|
||||
# return
|
||||
#
|
||||
# if event.key == 'F2':
|
||||
# webbrowser.open(self.video_url)
|
||||
# return
|
||||
#
|
||||
# if event.key == self.defaults['zoom_out_key']: # '-'
|
||||
# self.plotcanvas.zoom(1 / self.defaults['zoom_ratio'], self.mouse)
|
||||
# return
|
||||
#
|
||||
# if event.key == self.defaults['zoom_in_key']: # '='
|
||||
# self.plotcanvas.zoom(self.defaults['zoom_ratio'], self.mouse)
|
||||
# return
|
||||
#
|
||||
# if event.key == 'Delete':
|
||||
# self.on_delete()
|
||||
# return
|
||||
#
|
||||
# if event.key == 'Space':
|
||||
# if self.collection.get_active() is not None:
|
||||
# self.collection.get_active().ui.plot_cb.toggle()
|
||||
# self.delete_selection_shape()
|
||||
#
|
||||
# if event.key == '1':
|
||||
# self.on_select_tab('project')
|
||||
#
|
||||
# if event.key == '2':
|
||||
# self.on_select_tab('selected')
|
||||
#
|
||||
# if event.key == '3':
|
||||
# self.on_select_tab('tool')
|
||||
#
|
||||
# if event.key == 'E':
|
||||
# self.object2editor()
|
||||
#
|
||||
# if event.key == self.defaults['grid_toggle_key']: # G
|
||||
# self.ui.grid_snap_btn.trigger()
|
||||
#
|
||||
# if event.key == 'J':
|
||||
# self.on_jump_to()
|
||||
#
|
||||
# if event.key == 'L':
|
||||
# self.new_excellon_object()
|
||||
#
|
||||
# if event.key == 'M':
|
||||
# self.move_tool.toggle()
|
||||
# return
|
||||
#
|
||||
# if event.key == 'N':
|
||||
# self.on_new_geometry()
|
||||
#
|
||||
# if event.key == 'O':
|
||||
# self.on_set_origin()
|
||||
#
|
||||
# if event.key == 'P':
|
||||
# self.properties_tool.run()
|
||||
#
|
||||
# if event.key == 'Q':
|
||||
# self.on_toggle_units_click()
|
||||
#
|
||||
# if event.key == 'R':
|
||||
# self.on_rotate(silent=True, preset=90)
|
||||
#
|
||||
# if event.key == 'S':
|
||||
# self.on_toggle_shell()
|
||||
#
|
||||
# if event.key == 'V':
|
||||
# self.on_zoom_fit(None)
|
||||
#
|
||||
# if event.key == 'X':
|
||||
# self.on_flipx()
|
||||
#
|
||||
# if event.key == 'Y':
|
||||
# self.on_flipy()
|
||||
#
|
||||
# if event.key == '`':
|
||||
# self.on_shortcut_list()
|
||||
#
|
||||
# def on_key_release_over_plot(self, event):
|
||||
# modifiers = QtWidgets.QApplication.keyboardModifiers()
|
||||
#
|
||||
# if modifiers == QtCore.Qt.ControlModifier:
|
||||
# return
|
||||
# elif modifiers == QtCore.Qt.AltModifier:
|
||||
# # place holder for further shortcut key
|
||||
# return
|
||||
# elif modifiers == QtCore.Qt.ShiftModifier:
|
||||
# # place holder for further shortcut key
|
||||
# return
|
||||
# else:
|
||||
# return
|
||||
|
||||
def on_shortcut_list(self):
|
||||
self.report_usage("on_shortcut_list()")
|
||||
|
||||
@@ -2134,19 +2134,20 @@ class FlatCAMGeoEditor(QtCore.QObject):
|
||||
|
||||
# make sure that the shortcuts key and mouse events will no longer be linked to the methods from FlatCAMApp
|
||||
# but those from FlatCAMGeoEditor
|
||||
self.app.plotcanvas.vis_disconnect('key_press', self.app.on_key_over_plot)
|
||||
|
||||
self.app.plotcanvas.vis_disconnect('key_press', self.app.ui.keyPressEvent)
|
||||
self.app.plotcanvas.vis_disconnect('mouse_press', self.app.on_mouse_click_over_plot)
|
||||
self.app.plotcanvas.vis_disconnect('mouse_move', self.app.on_mouse_move_over_plot)
|
||||
self.app.plotcanvas.vis_disconnect('mouse_release', self.app.on_mouse_click_release_over_plot)
|
||||
self.app.plotcanvas.vis_disconnect('mouse_double_click', self.app.on_double_click_over_plot)
|
||||
self.app.collection.view.keyPressed.disconnect()
|
||||
|
||||
self.app.collection.view.clicked.disconnect()
|
||||
|
||||
self.canvas.vis_connect('mouse_press', self.on_canvas_click)
|
||||
self.canvas.vis_connect('mouse_move', self.on_canvas_move)
|
||||
self.canvas.vis_connect('mouse_release', self.on_canvas_click_release)
|
||||
self.canvas.vis_connect('key_press', self.on_canvas_key)
|
||||
self.canvas.vis_connect('key_release', self.on_canvas_key_release)
|
||||
|
||||
|
||||
def disconnect_canvas_event_handlers(self):
|
||||
|
||||
@@ -2154,15 +2155,14 @@ class FlatCAMGeoEditor(QtCore.QObject):
|
||||
self.canvas.vis_disconnect('mouse_move', self.on_canvas_move)
|
||||
self.canvas.vis_disconnect('mouse_release', self.on_canvas_click_release)
|
||||
self.canvas.vis_disconnect('key_press', self.on_canvas_key)
|
||||
self.canvas.vis_disconnect('key_release', self.on_canvas_key_release)
|
||||
|
||||
|
||||
# we restore the key and mouse control to FlatCAMApp method
|
||||
self.app.plotcanvas.vis_connect('key_press', self.app.on_key_over_plot)
|
||||
self.app.plotcanvas.vis_connect('key_press', self.app.ui.keyPressEvent)
|
||||
self.app.plotcanvas.vis_connect('mouse_press', self.app.on_mouse_click_over_plot)
|
||||
self.app.plotcanvas.vis_connect('mouse_move', self.app.on_mouse_move_over_plot)
|
||||
self.app.plotcanvas.vis_connect('mouse_release', self.app.on_mouse_click_release_over_plot)
|
||||
self.app.plotcanvas.vis_connect('mouse_double_click', self.app.on_double_click_over_plot)
|
||||
self.app.collection.view.keyPressed.connect(self.app.collection.on_key)
|
||||
self.app.collection.view.clicked.connect(self.app.collection.on_mouse_down)
|
||||
|
||||
def add_shape(self, shape):
|
||||
@@ -4277,7 +4277,7 @@ class FlatCAMExcEditor(QtCore.QObject):
|
||||
|
||||
# make sure that the shortcuts key and mouse events will no longer be linked to the methods from FlatCAMApp
|
||||
# but those from FlatCAMGeoEditor
|
||||
self.app.plotcanvas.vis_disconnect('key_press', self.app.on_key_over_plot)
|
||||
self.app.plotcanvas.vis_disconnect('key_press', self.app.ui.keyPressEvent)
|
||||
self.app.plotcanvas.vis_disconnect('mouse_press', self.app.on_mouse_click_over_plot)
|
||||
self.app.plotcanvas.vis_disconnect('mouse_move', self.app.on_mouse_move_over_plot)
|
||||
self.app.plotcanvas.vis_disconnect('mouse_release', self.app.on_mouse_click_release_over_plot)
|
||||
@@ -4289,10 +4289,9 @@ class FlatCAMExcEditor(QtCore.QObject):
|
||||
self.canvas.vis_connect('mouse_move', self.on_canvas_move)
|
||||
self.canvas.vis_connect('mouse_release', self.on_canvas_click_release)
|
||||
self.canvas.vis_connect('key_press', self.on_canvas_key)
|
||||
self.canvas.vis_connect('key_release', self.on_canvas_key_release)
|
||||
|
||||
|
||||
def disconnect_canvas_event_handlers(self):
|
||||
|
||||
self.canvas.vis_disconnect('mouse_press', self.on_canvas_click)
|
||||
self.canvas.vis_disconnect('mouse_move', self.on_canvas_move)
|
||||
self.canvas.vis_disconnect('mouse_release', self.on_canvas_click_release)
|
||||
@@ -4300,12 +4299,12 @@ class FlatCAMExcEditor(QtCore.QObject):
|
||||
self.canvas.vis_disconnect('key_release', self.on_canvas_key_release)
|
||||
|
||||
# we restore the key and mouse control to FlatCAMApp method
|
||||
self.app.plotcanvas.vis_connect('key_press', self.app.on_key_over_plot)
|
||||
self.app.plotcanvas.vis_connect('key_press', self.app.ui.keyPressEvent)
|
||||
self.app.plotcanvas.vis_connect('mouse_press', self.app.on_mouse_click_over_plot)
|
||||
self.app.plotcanvas.vis_connect('mouse_move', self.app.on_mouse_move_over_plot)
|
||||
self.app.plotcanvas.vis_connect('mouse_release', self.app.on_mouse_click_release_over_plot)
|
||||
self.app.plotcanvas.vis_connect('mouse_double_click', self.app.on_double_click_over_plot)
|
||||
self.app.collection.view.keyPressed.connect(self.app.collection.on_key)
|
||||
|
||||
self.app.collection.view.clicked.connect(self.app.collection.on_mouse_down)
|
||||
|
||||
def clear(self):
|
||||
|
||||
@@ -1507,8 +1507,11 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
|
||||
if type(event) is int:
|
||||
key = event
|
||||
# events from the GUI are of type QKeyEvent
|
||||
else:
|
||||
elif type(event) == QtGui.QKeyEvent:
|
||||
key = event.key()
|
||||
# events from Vispy are of type KeyEvent
|
||||
else:
|
||||
key = event.key
|
||||
|
||||
if modifiers == QtCore.Qt.ControlModifier:
|
||||
if key == QtCore.Qt.Key_A:
|
||||
@@ -1528,6 +1531,7 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
|
||||
|
||||
if key == QtCore.Qt.Key_M:
|
||||
self.app.measurement_tool.run()
|
||||
|
||||
if key == QtCore.Qt.Key_O:
|
||||
self.app.on_file_openproject()
|
||||
|
||||
@@ -1603,16 +1607,30 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
|
||||
if key == Qt.Key_3:
|
||||
self.app.disable_other_plots()
|
||||
|
||||
# Calculator Tool
|
||||
if key == QtCore.Qt.Key_C:
|
||||
self.app.calculator_tool.run()
|
||||
|
||||
# 2-Sided PCB Tool
|
||||
if key == QtCore.Qt.Key_D:
|
||||
self.app.dblsidedtool.run()
|
||||
return
|
||||
|
||||
# Film Tool
|
||||
if key == QtCore.Qt.Key_L:
|
||||
self.app.film_tool.run()
|
||||
return
|
||||
|
||||
# Non-Copper Clear Tool
|
||||
if key == QtCore.Qt.Key_N:
|
||||
self.app.ncclear_tool.run()
|
||||
return
|
||||
|
||||
# Paint Tool
|
||||
if key == QtCore.Qt.Key_P:
|
||||
self.app.paint_tool.run()
|
||||
return
|
||||
|
||||
# Transformation Tool
|
||||
if key == QtCore.Qt.Key_R:
|
||||
self.app.transform_tool.run()
|
||||
@@ -1623,6 +1641,15 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
|
||||
self.app.cutout_tool.run()
|
||||
return
|
||||
|
||||
# Panelize Tool
|
||||
if key == QtCore.Qt.Key_Z:
|
||||
self.app.panelize_tool.run()
|
||||
return
|
||||
|
||||
# Toggle Fullscreen
|
||||
if key == QtCore.Qt.Key_F10:
|
||||
self.app.on_fullscreen()
|
||||
return
|
||||
else:
|
||||
# Open Manual
|
||||
if key == QtCore.Qt.Key_F1:
|
||||
|
||||
@@ -19,7 +19,7 @@ CAD program, and create G-Code for Isolation routing.
|
||||
- fixed the name self-insert in save dialog file for GCode; added protection in case the save path is None
|
||||
- fixed FlatCAM crash when trying to make drills GCode out of a file that have only slots.
|
||||
- changed the messages for Units Conversion
|
||||
- all kwy shortcuts work across the entire application; started to move all the shortcuts definitions in FlatCAMGUI.keyPressEvent()
|
||||
- all key shortcuts work across the entire application; moved all the shortcuts definitions in FlatCAMGUI.keyPressEvent()
|
||||
|
||||
5.02.3019
|
||||
|
||||
|
||||
@@ -184,25 +184,22 @@ class Measurement(FlatCAMTool):
|
||||
# disconnect the mouse/key events from functions of measurement tool
|
||||
self.app.plotcanvas.vis_disconnect('mouse_move', self.on_mouse_move_meas)
|
||||
self.app.plotcanvas.vis_disconnect('mouse_press', self.on_click_meas)
|
||||
self.app.plotcanvas.vis_disconnect('key_release', self.on_key_release_meas)
|
||||
|
||||
# reconnect the mouse/key events to the functions from where the tool was called
|
||||
if self.app.call_source == 'app':
|
||||
self.app.plotcanvas.vis_connect('mouse_move', self.app.on_mouse_move_over_plot)
|
||||
self.app.plotcanvas.vis_connect('mouse_press', self.app.on_mouse_click_over_plot)
|
||||
self.app.plotcanvas.vis_connect('key_press', self.app.on_key_over_plot)
|
||||
self.app.plotcanvas.vis_connect('key_press', self.app.ui.keyPressEvent)
|
||||
self.app.plotcanvas.vis_connect('mouse_release', self.app.on_mouse_click_release_over_plot)
|
||||
elif self.app.call_source == 'geo_editor':
|
||||
self.app.geo_editor.canvas.vis_connect('mouse_move', self.app.geo_editor.on_canvas_move)
|
||||
self.app.geo_editor.canvas.vis_connect('mouse_press', self.app.geo_editor.on_canvas_click)
|
||||
self.app.geo_editor.canvas.vis_connect('key_press', self.app.geo_editor.on_canvas_key)
|
||||
self.app.geo_editor.canvas.vis_connect('key_release', self.app.geo_editor.on_canvas_key_release)
|
||||
self.app.geo_editor.canvas.vis_connect('mouse_release', self.app.geo_editor.on_canvas_click_release)
|
||||
elif self.app.call_source == 'exc_editor':
|
||||
self.app.exc_editor.canvas.vis_connect('mouse_move', self.app.exc_editor.on_canvas_move)
|
||||
self.app.exc_editor.canvas.vis_connect('mouse_press', self.app.exc_editor.on_canvas_click)
|
||||
self.app.exc_editor.canvas.vis_connect('key_press', self.app.exc_editor.on_canvas_key)
|
||||
self.app.exc_editor.canvas.vis_connect('key_release', self.app.exc_editor.on_canvas_key_release)
|
||||
self.app.exc_editor.canvas.vis_connect('mouse_release', self.app.exc_editor.on_canvas_click_release)
|
||||
|
||||
self.clicked_meas = 0
|
||||
@@ -219,19 +216,17 @@ class Measurement(FlatCAMTool):
|
||||
if self.app.call_source == 'app':
|
||||
self.app.plotcanvas.vis_disconnect('mouse_move', self.app.on_mouse_move_over_plot)
|
||||
self.app.plotcanvas.vis_disconnect('mouse_press', self.app.on_mouse_click_over_plot)
|
||||
self.app.plotcanvas.vis_disconnect('key_press', self.app.on_key_over_plot)
|
||||
self.app.plotcanvas.vis_disconnect('key_press', self.app.ui.keyPressEvent)
|
||||
self.app.plotcanvas.vis_disconnect('mouse_release', self.app.on_mouse_click_release_over_plot)
|
||||
elif self.app.call_source == 'geo_editor':
|
||||
self.app.geo_editor.canvas.vis_disconnect('mouse_move', self.app.geo_editor.on_canvas_move)
|
||||
self.app.geo_editor.canvas.vis_disconnect('mouse_press', self.app.geo_editor.on_canvas_click)
|
||||
self.app.geo_editor.canvas.vis_disconnect('key_press', self.app.geo_editor.on_canvas_key)
|
||||
self.app.geo_editor.canvas.vis_disconnect('key_release', self.app.geo_editor.on_canvas_key_release)
|
||||
self.app.geo_editor.canvas.vis_disconnect('mouse_release', self.app.geo_editor.on_canvas_click_release)
|
||||
elif self.app.call_source == 'exc_editor':
|
||||
self.app.exc_editor.canvas.vis_disconnect('mouse_move', self.app.exc_editor.on_canvas_move)
|
||||
self.app.exc_editor.canvas.vis_disconnect('mouse_press', self.app.exc_editor.on_canvas_click)
|
||||
self.app.exc_editor.canvas.vis_disconnect('key_press', self.app.exc_editor.on_canvas_key)
|
||||
self.app.exc_editor.canvas.vis_disconnect('key_release', self.app.exc_editor.on_canvas_key_release)
|
||||
self.app.exc_editor.canvas.vis_disconnect('mouse_release', self.app.exc_editor.on_canvas_click_release)
|
||||
|
||||
# we can safely connect the app mouse events to the measurement tool
|
||||
|
||||
@@ -47,7 +47,7 @@ class ToolMove(FlatCAMTool):
|
||||
self.app.plotcanvas.vis_disconnect('mouse_move', self.on_move)
|
||||
self.app.plotcanvas.vis_disconnect('mouse_press', self.on_left_click)
|
||||
self.app.plotcanvas.vis_disconnect('key_release', self.on_key_press)
|
||||
self.app.plotcanvas.vis_connect('key_press', self.app.on_key_over_plot)
|
||||
self.app.plotcanvas.vis_connect('key_press', self.app.ui.keyPressEvent)
|
||||
|
||||
self.clicked_move = 0
|
||||
|
||||
|
||||
Reference in New Issue
Block a user