- added new function to toggle fullscreen status in Menu -> View -> Toggle Full Screen. Shortcut key: Alt+F10

- added key shortcuts for Enable Plots, Disable Plots and Disable other plots functions (Alt+1, Alt+2, Alt+3)
This commit is contained in:
Marius Stanciu
2019-01-31 15:29:05 +02:00
committed by Marius
parent 3c355f72be
commit d1780acad9
5 changed files with 83 additions and 19 deletions

View File

@@ -1020,12 +1020,13 @@ class App(QtCore.QObject):
self.ui.menuoptions_transform_flipy.triggered.connect(self.on_flipy) self.ui.menuoptions_transform_flipy.triggered.connect(self.on_flipy)
self.ui.menuviewdisableall.triggered.connect(lambda: self.disable_plots(self.collection.get_list())) self.ui.menuviewdisableall.triggered.connect(self.disable_all_plots)
self.ui.menuviewdisableother.triggered.connect(lambda: self.disable_plots(self.collection.get_non_selected())) self.ui.menuviewdisableother.triggered.connect(self.disable_other_plots)
self.ui.menuviewenable.triggered.connect(lambda: self.enable_plots(self.collection.get_list())) 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)
self.ui.menuview_zoom_in.triggered.connect(lambda: self.plotcanvas.zoom(1 / 1.5)) 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_out.triggered.connect(lambda: self.plotcanvas.zoom(1.5))
self.ui.menuview_toggle_fscreen.triggered.connect(self.on_fullscreen)
self.ui.menuview_toggle_grid.triggered.connect(self.on_toggle_grid) self.ui.menuview_toggle_grid.triggered.connect(self.on_toggle_grid)
self.ui.menuview_toggle_axis.triggered.connect(self.on_toggle_axis) self.ui.menuview_toggle_axis.triggered.connect(self.on_toggle_axis)
self.ui.menuview_toggle_workspace.triggered.connect(self.on_workspace_menu) self.ui.menuview_toggle_workspace.triggered.connect(self.on_workspace_menu)
@@ -1314,6 +1315,9 @@ class App(QtCore.QObject):
# Variable to hold the status of the axis # Variable to hold the status of the axis
self.toggle_axis = True self.toggle_axis = True
# Variable to store the status of the fullscreen event
self.toggle_fscreen = False
self.cursor = None self.cursor = None
# Variable to store the GCODE that was edited # Variable to store the GCODE that was edited
@@ -2737,6 +2741,17 @@ class App(QtCore.QObject):
# app restart section # app restart section
pass pass
def on_fullscreen(self):
if self.toggle_fscreen is False:
for tb in self.ui.findChildren(QtWidgets.QToolBar):
tb.setVisible(False)
self.ui.notebook.setVisible(False)
self.toggle_fscreen = True
else:
self.restore_toolbar_view()
self.ui.notebook.setVisible(True)
self.toggle_fscreen = False
def on_toggle_axis(self): def on_toggle_axis(self):
if self.toggle_axis is False: if self.toggle_axis is False:
self.plotcanvas.v_line.set_data(color=(0.70, 0.3, 0.3, 1.0)) self.plotcanvas.v_line.set_data(color=(0.70, 0.3, 0.3, 1.0))
@@ -3674,17 +3689,7 @@ class App(QtCore.QObject):
if index.internalPointer().parent_item != self.collection.root_item: if index.internalPointer().parent_item != self.collection.root_item:
self.ui.notebook.setCurrentWidget(self.ui.selected_tab) self.ui.notebook.setCurrentWidget(self.ui.selected_tab)
def on_zoom_fit(self, event):
"""
Callback for zoom-out request. This can be either from the corresponding
toolbar button or the '1' key when the canvas is focused. Calls ``self.adjust_axes()``
with axes limits from the geometry bounds of all objects.
:param event: Ignored.
:return: None
"""
self.plotcanvas.fit_view()
def grid_status(self): def grid_status(self):
if self.ui.grid_snap_btn.isChecked(): if self.ui.grid_snap_btn.isChecked():
@@ -3739,6 +3744,16 @@ class App(QtCore.QObject):
return return
elif self.key_modifiers == QtCore.Qt.AltModifier: elif self.key_modifiers == QtCore.Qt.AltModifier:
# place holder for further shortcut key # 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': if event.key == 'C':
self.calculator_tool.run() self.calculator_tool.run()
@@ -3763,6 +3778,9 @@ class App(QtCore.QObject):
if event.key == 'Z': if event.key == 'Z':
self.panelize_tool.run() self.panelize_tool.run()
if event.key == 'F10':
self.on_fullscreen()
elif self.key_modifiers == QtCore.Qt.ShiftModifier: elif self.key_modifiers == QtCore.Qt.ShiftModifier:
# place holder for further shortcut key # place holder for further shortcut key
@@ -3946,6 +3964,7 @@ class App(QtCore.QObject):
<b>ALT+P:</b> Paint Area Tool<br> <b>ALT+P:</b> Paint Area Tool<br>
<b>ALT+R:</b> Transformation Tool<br> <b>ALT+R:</b> Transformation Tool<br>
<b>ALT+U:</b> Cutout PCB Tool<br> <b>ALT+U:</b> Cutout PCB Tool<br>
<b>ALT+F10:</b> Toggle Full Screen<br>
<br> <br>
<b>F1:</b> Open Online Manual<br> <b>F1:</b> Open Online Manual<br>
<b>F2:</b> Open Online Tutorials<br> <b>F2:</b> Open Online Tutorials<br>
@@ -6170,6 +6189,30 @@ class App(QtCore.QObject):
"info" "info"
) )
def on_zoom_fit(self, event):
"""
Callback for zoom-out request. This can be either from the corresponding
toolbar button or the '1' key when the canvas is focused. Calls ``self.adjust_axes()``
with axes limits from the geometry bounds of all objects.
:param event: Ignored.
:return: None
"""
self.plotcanvas.fit_view()
def disable_all_plots(self):
self.disable_plots(self.collection.get_list())
self.inform.emit("[success]All plots disabled.")
def disable_other_plots(self):
self.disable_plots(self.collection.get_non_selected())
self.inform.emit("[success]All non selected plots disabled.")
def enable_all_plots(self):
self.enable_plots(self.collection.get_list())
self.inform.emit("[success]All plots enabled.")
# TODO: FIX THIS # TODO: FIX THIS
''' '''
By default this is not threaded By default this is not threaded

View File

@@ -254,17 +254,21 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
### View ### ### View ###
self.menuview = self.menu.addMenu('&View') self.menuview = self.menu.addMenu('&View')
self.menuviewenable = self.menuview.addAction(QtGui.QIcon('share/replot16.png'), 'Enable all plots') self.menuviewenable = self.menuview.addAction(QtGui.QIcon('share/replot16.png'), 'Enable all plots\tALT+1')
self.menuviewdisableall = self.menuview.addAction(QtGui.QIcon('share/clear_plot16.png'), self.menuviewdisableall = self.menuview.addAction(QtGui.QIcon('share/clear_plot16.png'),
'Disable all plots') 'Disable all plots\tALT+2')
self.menuviewdisableother = self.menuview.addAction(QtGui.QIcon('share/clear_plot16.png'), self.menuviewdisableother = self.menuview.addAction(QtGui.QIcon('share/clear_plot16.png'),
'Disable non-selected') 'Disable non-selected\tALT+3')
# Separator # Separator
self.menuview.addSeparator() self.menuview.addSeparator()
self.menuview_zoom_fit = self.menuview.addAction(QtGui.QIcon('share/zoom_fit32.png'), "&Zoom Fit\t1") self.menuview_zoom_fit = self.menuview.addAction(QtGui.QIcon('share/zoom_fit32.png'), "&Zoom Fit\t1")
self.menuview_zoom_in = self.menuview.addAction(QtGui.QIcon('share/zoom_in32.png'), "&Zoom In\t2") self.menuview_zoom_in = self.menuview.addAction(QtGui.QIcon('share/zoom_in32.png'), "&Zoom In\t2")
self.menuview_zoom_out = self.menuview.addAction(QtGui.QIcon('share/zoom_out32.png'), "&Zoom Out\t3") self.menuview_zoom_out = self.menuview.addAction(QtGui.QIcon('share/zoom_out32.png'), "&Zoom Out\t3")
self.menuview.addSeparator()
self.menuview_toggle_fscreen = self.menuview.addAction(
QtGui.QIcon('share/fscreen32.png'), "&Toggle FullScreen\tALT+F10")
self.menuview.addSeparator() self.menuview.addSeparator()
self.menuview_toggle_grid = self.menuview.addAction(QtGui.QIcon('share/grid32.png'), "&Toggle Grid\tG") self.menuview_toggle_grid = self.menuview.addAction(QtGui.QIcon('share/grid32.png'), "&Toggle Grid\tG")
self.menuview_toggle_axis = self.menuview.addAction(QtGui.QIcon('share/axis32.png'), "&Toggle Axis\tSHIFT+G") self.menuview_toggle_axis = self.menuview.addAction(QtGui.QIcon('share/axis32.png'), "&Toggle Axis\tSHIFT+G")
@@ -1801,7 +1805,8 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI):
self.optimization_time_label.setToolTip( self.optimization_time_label.setToolTip(
"When OR-Tools Metaheuristic (MH) is enabled there is a\n" "When OR-Tools Metaheuristic (MH) is enabled there is a\n"
"maximum threshold for how much time is spent doing the\n" "maximum threshold for how much time is spent doing the\n"
"path optimization. This max duration is set here." "path optimization. This max duration is set here.\n"
"In seconds."
) )
@@ -1976,7 +1981,8 @@ class ExcellonOptPrefGroupUI(OptionsGroupUI):
fplungelabel.setToolTip( fplungelabel.setToolTip(
"By checking this, the vertical move from\n" "By checking this, the vertical move from\n"
"Z_Toolchange to Z_move is done with G0,\n" "Z_Toolchange to Z_move is done with G0,\n"
"meaning the fastest speed available." "meaning the fastest speed available.\n"
"WARNING: the move is done at Toolchange X,Y coords."
) )
self.fplunge_cb = FCCheckBox() self.fplunge_cb = FCCheckBox()
grid2.addWidget(fplungelabel, 13, 0) grid2.addWidget(fplungelabel, 13, 0)
@@ -2283,7 +2289,8 @@ class GeometryOptPrefGroupUI(OptionsGroupUI):
fplungelabel.setToolTip( fplungelabel.setToolTip(
"By checking this, the vertical move from\n" "By checking this, the vertical move from\n"
"Z_Toolchange to Z_move is done with G0,\n" "Z_Toolchange to Z_move is done with G0,\n"
"meaning the fastest speed available." "meaning the fastest speed available.\n"
"WARNING: the move is done at Toolchange X,Y coords."
) )
self.fplunge_cb = FCCheckBox() self.fplunge_cb = FCCheckBox()
grid1.addWidget(fplungelabel, 17, 0) grid1.addWidget(fplungelabel, 17, 0)

View File

@@ -325,6 +325,18 @@ class ObjectCollection(QtCore.QAbstractItemModel):
self.app.on_skewy() self.app.on_skewy()
return return
elif modifiers == QtCore.Qt.AltModifier: elif modifiers == QtCore.Qt.AltModifier:
# Eanble all plots
if key == Qt.Key_1:
self.app.enable_all_plots()
# Disable all plots
if key == Qt.Key_2:
self.app.disable_all_plots()
# Disable all other plots
if key == Qt.Key_3:
self.app.disable_other_plots()
# 2-Sided PCB Tool # 2-Sided PCB Tool
if key == QtCore.Qt.Key_D: if key == QtCore.Qt.Key_D:
self.app.dblsidedtool.run() self.app.dblsidedtool.run()

View File

@@ -12,6 +12,8 @@ CAD program, and create G-Code for Isolation routing.
31.01.2019 31.01.2019
- added a parameter ('Fast plunge' in Edit -> Preferences -> Geometry Options and Excellon Options) to control if the fast move to Z_move is done or not - added a parameter ('Fast plunge' in Edit -> Preferences -> Geometry Options and Excellon Options) to control if the fast move to Z_move is done or not
- added new function to toggle fullscreen status in Menu -> View -> Toggle Full Screen. Shortcut key: Alt+F10
- added key shortcuts for Enable Plots, Disable Plots and Disable other plots functions (Alt+1, Alt+2, Alt+3)
30.01.2019 30.01.2019

BIN
share/fscreen32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB