- in 2sided Plugin I've added ability to use shortcut keys (like Escape) when waiting for picking a hole when the Hole Snap feature is used
- in 2sided Plugin entering in the Hole Snap feature will disable the notebook to signal that you need somehow to escape this mode
This commit is contained in:
@@ -14,6 +14,8 @@ CHANGELOG for FlatCAM beta
|
|||||||
- updated the language strings from the source
|
- updated the language strings from the source
|
||||||
- translation to Simplified Chinese language is done by 俊霄 余
|
- translation to Simplified Chinese language is done by 俊霄 余
|
||||||
- updated the Turkish translation files, by Mehmet Kaya
|
- updated the Turkish translation files, by Mehmet Kaya
|
||||||
|
- in 2sided Plugin I've added ability to use shortcut keys (like Escape) when waiting for picking a hole when the Hole Snap feature is used
|
||||||
|
- in 2sided Plugin entering in the Hole Snap feature will disable the notebook to signal that you need somehow to escape this mode
|
||||||
|
|
||||||
22.08.2021
|
22.08.2021
|
||||||
|
|
||||||
|
|||||||
@@ -3888,6 +3888,31 @@ class MainGUI(QtWidgets.QMainWindow):
|
|||||||
if key == QtCore.Qt.Key.Key_G:
|
if key == QtCore.Qt.Key.Key_G:
|
||||||
self.app.ui.grid_snap_btn.trigger()
|
self.app.ui.grid_snap_btn.trigger()
|
||||||
|
|
||||||
|
# Jump to coords
|
||||||
|
if key == QtCore.Qt.Key.Key_J:
|
||||||
|
self.app.on_jump_to()
|
||||||
|
elif self.app.call_source == '2_sided_tool':
|
||||||
|
# CTRL + ALT
|
||||||
|
if modifiers == QtCore.Qt.KeyboardModifier.ControlModifier | QtCore.Qt.KeyboardModifier.AltModifier:
|
||||||
|
if key == QtCore.Qt.Key.Key_X:
|
||||||
|
self.app.abort_all_tasks()
|
||||||
|
return
|
||||||
|
elif modifiers == QtCore.Qt.KeyboardModifier.ControlModifier:
|
||||||
|
pass
|
||||||
|
elif modifiers == QtCore.Qt.KeyboardModifier.ShiftModifier:
|
||||||
|
pass
|
||||||
|
elif modifiers == QtCore.Qt.KeyboardModifier.AltModifier:
|
||||||
|
pass
|
||||||
|
# NO MODIFIER
|
||||||
|
elif modifiers == QtCore.Qt.KeyboardModifier.NoModifier:
|
||||||
|
# Escape = Deselect All
|
||||||
|
if key == QtCore.Qt.Key.Key_Escape or key == 'Escape':
|
||||||
|
self.app.dblsidedtool.on_exit(cancelled=True)
|
||||||
|
|
||||||
|
# Grid toggle
|
||||||
|
if key == QtCore.Qt.Key.Key_G:
|
||||||
|
self.app.ui.grid_snap_btn.trigger()
|
||||||
|
|
||||||
# Jump to coords
|
# Jump to coords
|
||||||
if key == QtCore.Qt.Key.Key_J:
|
if key == QtCore.Qt.Key.Key_J:
|
||||||
self.app.on_jump_to()
|
self.app.on_jump_to()
|
||||||
|
|||||||
@@ -383,6 +383,10 @@ class DblSidedTool(AppTool):
|
|||||||
|
|
||||||
self.local_connected = True
|
self.local_connected = True
|
||||||
|
|
||||||
|
# disable the Notebook while in this feature
|
||||||
|
self.app.ui.notebook.setDisabled(True)
|
||||||
|
self.app.call_source = "2_sided_tool"
|
||||||
|
|
||||||
self.app.inform.emit('%s.' % _("Click on canvas within the desired Excellon drill hole"))
|
self.app.inform.emit('%s.' % _("Click on canvas within the desired Excellon drill hole"))
|
||||||
self.mr = self.canvas.graph_event_connect('mouse_release', self.on_mouse_click_release)
|
self.mr = self.canvas.graph_event_connect('mouse_release', self.on_mouse_click_release)
|
||||||
|
|
||||||
@@ -426,10 +430,16 @@ class DblSidedTool(AppTool):
|
|||||||
|
|
||||||
# set the reference point for mirror
|
# set the reference point for mirror
|
||||||
self.ui.point_entry.set_value(center_pt_coords)
|
self.ui.point_entry.set_value(center_pt_coords)
|
||||||
|
self.on_exit()
|
||||||
self.app.inform.emit('[success] %s' % _("Mirror reference point set."))
|
self.app.inform.emit('[success] %s' % _("Mirror reference point set."))
|
||||||
|
|
||||||
elif event.button == right_button and self.app.event_is_dragging is False:
|
elif event.button == right_button and self.app.event_is_dragging is False:
|
||||||
|
self.on_exit(cancelled=True)
|
||||||
|
|
||||||
|
def on_exit(self, cancelled=None):
|
||||||
|
self.app.call_source = "app"
|
||||||
|
self.app.ui.notebook.setDisabled(False)
|
||||||
|
if cancelled is True:
|
||||||
self.app.delete_selection_shape()
|
self.app.delete_selection_shape()
|
||||||
self.disconnect_events()
|
self.disconnect_events()
|
||||||
self.app.inform.emit('[WARNING_NOTCL] %s' % _("Cancelled by user request."))
|
self.app.inform.emit('[WARNING_NOTCL] %s' % _("Cancelled by user request."))
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
.TH FLATCAM "1" "April 2021" "flatcam-beta" "User Commands"
|
.TH FLATCAM "1" "August 2021" "flatcam-beta" "User Commands"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
flatcam-beta \- PCB CAM software
|
flatcam-beta \- PCB CAM software
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
@@ -6,9 +6,12 @@ flatcam-beta \- PCB CAM software
|
|||||||
[\fI\,OPTION\/\fR]...
|
[\fI\,OPTION\/\fR]...
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
.PP
|
.PP
|
||||||
FlatCAM lets you take your designs to a CNC router. You can open Gerber,
|
FlatCAM is a Gerber Viewer/Editor. It has many plugins that do a variety of tasks.
|
||||||
Excellon or G-code, edit it or create from scatch, and output G-Code.
|
You can open Gerber, Excellon, G-code, DXF, SVG, edit it, transform it
|
||||||
Isolation routing is one of many tasks that FlatCAM is perfect for.
|
or create a new one from scratch.
|
||||||
|
|
||||||
|
You can output a film to help in creating PCB's through the UV method.
|
||||||
|
Through isolation routing it lets you take your designs to a CNC router.
|
||||||
.PP
|
.PP
|
||||||
.TP
|
.TP
|
||||||
\fB\-h, \-?, \-\-help\fP
|
\fB\-h, \-?, \-\-help\fP
|
||||||
|
|||||||
Reference in New Issue
Block a user