diff --git a/CHANGELOG.md b/CHANGELOG.md index 380e84d3..3bc2df0d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ CHANGELOG for FlatCAM beta - updated the language strings from the source - translation to Simplified Chinese language is done by 俊霄 余 - 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 diff --git a/appGUI/MainGUI.py b/appGUI/MainGUI.py index 51be23f2..7425966c 100644 --- a/appGUI/MainGUI.py +++ b/appGUI/MainGUI.py @@ -3888,6 +3888,31 @@ class MainGUI(QtWidgets.QMainWindow): if key == QtCore.Qt.Key.Key_G: 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 if key == QtCore.Qt.Key.Key_J: self.app.on_jump_to() diff --git a/appPlugins/ToolDblSided.py b/appPlugins/ToolDblSided.py index 0f9dabaf..1955e754 100644 --- a/appPlugins/ToolDblSided.py +++ b/appPlugins/ToolDblSided.py @@ -383,6 +383,10 @@ class DblSidedTool(AppTool): 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.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 self.ui.point_entry.set_value(center_pt_coords) - + self.on_exit() self.app.inform.emit('[success] %s' % _("Mirror reference point set.")) 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.disconnect_events() self.app.inform.emit('[WARNING_NOTCL] %s' % _("Cancelled by user request.")) diff --git a/flatcam-beta.1 b/flatcam-beta.1 index 012b4063..c0395722 100644 --- a/flatcam-beta.1 +++ b/flatcam-beta.1 @@ -1,4 +1,4 @@ -.TH FLATCAM "1" "April 2021" "flatcam-beta" "User Commands" +.TH FLATCAM "1" "August 2021" "flatcam-beta" "User Commands" .SH NAME flatcam-beta \- PCB CAM software .SH SYNOPSIS @@ -6,9 +6,12 @@ flatcam-beta \- PCB CAM software [\fI\,OPTION\/\fR]... .SH DESCRIPTION .PP -FlatCAM lets you take your designs to a CNC router. You can open Gerber, -Excellon or G-code, edit it or create from scatch, and output G-Code. -Isolation routing is one of many tasks that FlatCAM is perfect for. +FlatCAM is a Gerber Viewer/Editor. It has many plugins that do a variety of tasks. +You can open Gerber, Excellon, G-code, DXF, SVG, edit it, transform it +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 .TP \fB\-h, \-?, \-\-help\fP