- fixed more issues (new) in NCC Tool
- added a new layout named 'minimal'
This commit is contained in:
@@ -798,9 +798,7 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
|
||||
settings = QSettings("Open Source", "FlatCAM")
|
||||
if settings.contains("layout"):
|
||||
layout = settings.value('layout', type=str)
|
||||
if layout == 'standard':
|
||||
pass
|
||||
elif layout == 'compact':
|
||||
if layout == 'compact':
|
||||
self.removeToolBar(self.snap_toolbar)
|
||||
self.snap_toolbar.setMaximumHeight(30)
|
||||
self.splitter_left.addWidget(self.snap_toolbar)
|
||||
@@ -2347,41 +2345,34 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
|
||||
|
||||
QtWidgets.qApp.installEventFilter(self)
|
||||
|
||||
# restore the Toolbar State from file
|
||||
# ########################################################################
|
||||
# ################## RESTORE THE TOOLBAR STATE from file #################
|
||||
# ########################################################################
|
||||
|
||||
settings = QSettings("Open Source", "FlatCAM")
|
||||
if settings.contains("saved_gui_state"):
|
||||
saved_gui_state = settings.value('saved_gui_state')
|
||||
self.restoreState(saved_gui_state)
|
||||
log.debug("FlatCAMGUI.__init__() --> UI state restored.")
|
||||
log.debug("FlatCAMGUI.__init__() --> UI state restored from QSettings.")
|
||||
|
||||
if settings.contains("layout"):
|
||||
layout = settings.value('layout', type=str)
|
||||
if layout == 'standard':
|
||||
# self.exc_edit_toolbar.setVisible(False)
|
||||
self.exc_edit_toolbar.setDisabled(True)
|
||||
# self.geo_edit_toolbar.setVisible(False)
|
||||
self.geo_edit_toolbar.setDisabled(True)
|
||||
# self.grb_edit_toolbar.setVisible(False)
|
||||
self.grb_edit_toolbar.setDisabled(True)
|
||||
self.exc_edit_toolbar.setDisabled(True)
|
||||
self.geo_edit_toolbar.setDisabled(True)
|
||||
self.grb_edit_toolbar.setDisabled(True)
|
||||
|
||||
if layout == 'standard':
|
||||
self.corner_snap_btn.setVisible(False)
|
||||
self.snap_magnet.setVisible(False)
|
||||
elif layout == 'compact':
|
||||
self.exc_edit_toolbar.setDisabled(True)
|
||||
self.geo_edit_toolbar.setDisabled(True)
|
||||
self.grb_edit_toolbar.setDisabled(True)
|
||||
|
||||
else:
|
||||
self.snap_magnet.setVisible(True)
|
||||
self.corner_snap_btn.setVisible(True)
|
||||
self.snap_magnet.setDisabled(True)
|
||||
self.corner_snap_btn.setDisabled(True)
|
||||
log.debug("FlatCAMGUI.__init__() --> UI layout restored from QSettings.")
|
||||
log.debug("FlatCAMGUI.__init__() --> UI layout restored from QSettings. Layout = %s" % str(layout))
|
||||
else:
|
||||
# self.exc_edit_toolbar.setVisible(False)
|
||||
self.exc_edit_toolbar.setDisabled(True)
|
||||
# self.geo_edit_toolbar.setVisible(False)
|
||||
self.geo_edit_toolbar.setDisabled(True)
|
||||
# self.grb_edit_toolbar.setVisible(False)
|
||||
self.grb_edit_toolbar.setDisabled(True)
|
||||
|
||||
self.corner_snap_btn.setVisible(False)
|
||||
@@ -2483,11 +2474,14 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
|
||||
|
||||
def populate_toolbars(self):
|
||||
"""
|
||||
Will populate the App Toolbars with theie actions
|
||||
Will populate the App Toolbars with their actions
|
||||
|
||||
:return: None
|
||||
"""
|
||||
|
||||
# ########################################################################
|
||||
# ## File Toolbar # ##
|
||||
# ########################################################################
|
||||
self.file_open_gerber_btn = self.toolbarfile.addAction(
|
||||
QtGui.QIcon(self.app.resource_location + '/flatcam_icon32.png'), _("Open Gerber"))
|
||||
self.file_open_excellon_btn = self.toolbarfile.addAction(
|
||||
@@ -2498,7 +2492,9 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
|
||||
self.file_save_btn = self.toolbarfile.addAction(
|
||||
QtGui.QIcon(self.app.resource_location + '/project_save32.png'), _("Save project"))
|
||||
|
||||
# ########################################################################
|
||||
# ## Edit Toolbar # ##
|
||||
# ########################################################################
|
||||
self.newgeo_btn = self.toolbargeo.addAction(
|
||||
QtGui.QIcon(self.app.resource_location + '/new_file_geo32.png'), _("New Blank Geometry"))
|
||||
self.newgrb_btn = self.toolbargeo.addAction(
|
||||
@@ -2556,7 +2552,9 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
|
||||
self.run_script_btn = self.toolbarshell.addAction(
|
||||
QtGui.QIcon(self.app.resource_location + '/script16.png'), _('Run Script ...'))
|
||||
|
||||
# ########################################################################
|
||||
# ## Tools Toolbar # ##
|
||||
# ########################################################################
|
||||
self.dblsided_btn = self.toolbartools.addAction(
|
||||
QtGui.QIcon(self.app.resource_location + '/doubleside32.png'), _("2Sided Tool"))
|
||||
self.align_btn = self.toolbartools.addAction(
|
||||
@@ -2601,7 +2599,9 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
|
||||
self.cal_btn = self.toolbartools.addAction(
|
||||
QtGui.QIcon(self.app.resource_location + '/calibrate_32.png'), _("Calibration Tool"))
|
||||
|
||||
# ########################################################################
|
||||
# ## Excellon Editor Toolbar # ##
|
||||
# ########################################################################
|
||||
self.select_drill_btn = self.exc_edit_toolbar.addAction(
|
||||
QtGui.QIcon(self.app.resource_location + '/pointer32.png'), _("Select"))
|
||||
self.add_drill_btn = self.exc_edit_toolbar.addAction(
|
||||
@@ -2625,7 +2625,9 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
|
||||
self.move_drill_btn = self.exc_edit_toolbar.addAction(
|
||||
QtGui.QIcon(self.app.resource_location + '/move32.png'), _("Move Drill"))
|
||||
|
||||
# ########################################################################
|
||||
# ## Geometry Editor Toolbar # ##
|
||||
# ########################################################################
|
||||
self.geo_select_btn = self.geo_edit_toolbar.addAction(
|
||||
QtGui.QIcon(self.app.resource_location + '/pointer32.png'), _("Select 'Esc'"))
|
||||
self.geo_add_circle_btn = self.geo_edit_toolbar.addAction(
|
||||
@@ -2675,7 +2677,9 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
|
||||
self.geo_move_btn = self.geo_edit_toolbar.addAction(
|
||||
QtGui.QIcon(self.app.resource_location + '/move32.png'), _("Move Objects"))
|
||||
|
||||
# ########################################################################
|
||||
# ## Gerber Editor Toolbar # ##
|
||||
# ########################################################################
|
||||
self.grb_select_btn = self.grb_edit_toolbar.addAction(
|
||||
QtGui.QIcon(self.app.resource_location + '/pointer32.png'), _("Select"))
|
||||
self.grb_add_pad_btn = self.grb_edit_toolbar.addAction(
|
||||
@@ -2715,10 +2719,12 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
|
||||
self.aperture_move_btn = self.grb_edit_toolbar.addAction(
|
||||
QtGui.QIcon(self.app.resource_location + '/move32.png'), _("Move"))
|
||||
|
||||
# ########################################################################
|
||||
# ## Snap Toolbar # ##
|
||||
# ########################################################################
|
||||
|
||||
# Snap GRID toolbar is always active to facilitate usage of measurements done on GRID
|
||||
# self.addToolBar(self.snap_toolbar)
|
||||
|
||||
self.grid_snap_btn = self.snap_toolbar.addAction(
|
||||
QtGui.QIcon(self.app.resource_location + '/grid32.png'), _('Snap to grid'))
|
||||
self.grid_gap_x_entry = FCEntry2()
|
||||
@@ -2757,29 +2763,25 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
|
||||
settings = QSettings("Open Source", "FlatCAM")
|
||||
if settings.contains("layout"):
|
||||
layout = settings.value('layout', type=str)
|
||||
if layout == 'standard':
|
||||
self.exc_edit_toolbar.setVisible(True)
|
||||
self.exc_edit_toolbar.setDisabled(True)
|
||||
self.geo_edit_toolbar.setVisible(True)
|
||||
self.geo_edit_toolbar.setDisabled(True)
|
||||
self.grb_edit_toolbar.setVisible(True)
|
||||
self.grb_edit_toolbar.setDisabled(True)
|
||||
|
||||
if layout == 'standard':
|
||||
self.corner_snap_btn.setVisible(False)
|
||||
self.snap_magnet.setVisible(False)
|
||||
elif layout == 'compact':
|
||||
self.exc_edit_toolbar.setVisible(True)
|
||||
self.exc_edit_toolbar.setDisabled(True)
|
||||
self.geo_edit_toolbar.setVisible(True)
|
||||
self.geo_edit_toolbar.setDisabled(True)
|
||||
self.grb_edit_toolbar.setVisible(True)
|
||||
self.grb_edit_toolbar.setDisabled(True)
|
||||
|
||||
else:
|
||||
self.corner_snap_btn.setVisible(True)
|
||||
self.snap_magnet.setVisible(True)
|
||||
self.corner_snap_btn.setDisabled(True)
|
||||
self.snap_magnet.setDisabled(True)
|
||||
|
||||
# on 'minimal' layout only some toolbars are active
|
||||
if layout != 'minimal':
|
||||
self.exc_edit_toolbar.setVisible(True)
|
||||
self.exc_edit_toolbar.setDisabled(True)
|
||||
self.geo_edit_toolbar.setVisible(True)
|
||||
self.geo_edit_toolbar.setDisabled(True)
|
||||
self.grb_edit_toolbar.setVisible(True)
|
||||
self.grb_edit_toolbar.setDisabled(True)
|
||||
|
||||
def keyPressEvent(self, event):
|
||||
"""
|
||||
Key event handler for the entire app.
|
||||
|
||||
@@ -396,6 +396,7 @@ class GeneralGUIPrefGroupUI(OptionsGroupUI):
|
||||
# don't translate the QCombo items as they are used in QSettings and identified by name
|
||||
self.layout_combo.addItem("standard")
|
||||
self.layout_combo.addItem("compact")
|
||||
self.layout_combo.addItem("minimal")
|
||||
|
||||
grid0.addWidget(self.layout_label, 4, 0)
|
||||
grid0.addWidget(self.layout_combo, 4, 1)
|
||||
@@ -732,6 +733,9 @@ class GeneralGUIPrefGroupUI(OptionsGroupUI):
|
||||
self.proj_color_dis_entry.editingFinished.connect(self.on_proj_color_dis_entry)
|
||||
self.proj_color_dis_button.clicked.connect(self.on_proj_color_dis_button)
|
||||
|
||||
self.layout_combo.activated.connect(self.on_layout)
|
||||
|
||||
|
||||
def on_theme_change(self):
|
||||
val = self.theme_radio.get_value()
|
||||
t_settings = QSettings("Open Source", "FlatCAM")
|
||||
@@ -947,6 +951,156 @@ class GeneralGUIPrefGroupUI(OptionsGroupUI):
|
||||
self.proj_color_dis_entry.set_value(new_val_sel)
|
||||
self.app.defaults['global_proj_item_dis_color'] = new_val_sel
|
||||
|
||||
def on_layout(self, index=None, lay=None):
|
||||
"""
|
||||
Set the toolbars layout (location)
|
||||
|
||||
:param index:
|
||||
:param lay: Type of layout to be set on the toolbard
|
||||
:return: None
|
||||
"""
|
||||
self.app.report_usage("on_layout()")
|
||||
if lay:
|
||||
current_layout = lay
|
||||
else:
|
||||
current_layout = self.layout_combo.get_value()
|
||||
|
||||
lay_settings = QSettings("Open Source", "FlatCAM")
|
||||
lay_settings.setValue('layout', current_layout)
|
||||
|
||||
# This will write the setting to the platform specific storage.
|
||||
del lay_settings
|
||||
|
||||
# first remove the toolbars:
|
||||
try:
|
||||
self.app.ui.removeToolBar(self.app.ui.toolbarfile)
|
||||
self.app.ui.removeToolBar(self.app.ui.toolbargeo)
|
||||
self.app.ui.removeToolBar(self.app.ui.toolbarview)
|
||||
self.app.ui.removeToolBar(self.app.ui.toolbarshell)
|
||||
self.app.ui.removeToolBar(self.app.ui.toolbartools)
|
||||
self.app.ui.removeToolBar(self.app.ui.exc_edit_toolbar)
|
||||
self.app.ui.removeToolBar(self.app.ui.geo_edit_toolbar)
|
||||
self.app.ui.removeToolBar(self.app.ui.grb_edit_toolbar)
|
||||
self.app.ui.removeToolBar(self.app.ui.snap_toolbar)
|
||||
self.app.ui.removeToolBar(self.app.ui.toolbarshell)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
if current_layout == 'compact':
|
||||
# ## TOOLBAR INSTALLATION # ##
|
||||
self.app.ui.toolbarfile = QtWidgets.QToolBar('File Toolbar')
|
||||
self.app.ui.toolbarfile.setObjectName('File_TB')
|
||||
self.app.ui.addToolBar(Qt.LeftToolBarArea, self.app.ui.toolbarfile)
|
||||
|
||||
self.app.ui.toolbargeo = QtWidgets.QToolBar('Edit Toolbar')
|
||||
self.app.ui.toolbargeo.setObjectName('Edit_TB')
|
||||
self.app.ui.addToolBar(Qt.LeftToolBarArea, self.app.ui.toolbargeo)
|
||||
|
||||
self.app.ui.toolbarshell = QtWidgets.QToolBar('Shell Toolbar')
|
||||
self.app.ui.toolbarshell.setObjectName('Shell_TB')
|
||||
self.app.ui.addToolBar(Qt.LeftToolBarArea, self.app.ui.toolbarshell)
|
||||
|
||||
self.app.ui.toolbartools = QtWidgets.QToolBar('Tools Toolbar')
|
||||
self.app.ui.toolbartools.setObjectName('Tools_TB')
|
||||
self.app.ui.addToolBar(Qt.LeftToolBarArea, self.app.ui.toolbartools)
|
||||
|
||||
self.app.ui.geo_edit_toolbar = QtWidgets.QToolBar('Geometry Editor Toolbar')
|
||||
# self.app.ui.geo_edit_toolbar.setVisible(False)
|
||||
self.app.ui.geo_edit_toolbar.setObjectName('GeoEditor_TB')
|
||||
self.app.ui.addToolBar(Qt.RightToolBarArea, self.app.ui.geo_edit_toolbar)
|
||||
|
||||
self.app.ui.toolbarview = QtWidgets.QToolBar('View Toolbar')
|
||||
self.app.ui.toolbarview.setObjectName('View_TB')
|
||||
self.app.ui.addToolBar(Qt.RightToolBarArea, self.app.ui.toolbarview)
|
||||
|
||||
self.app.ui.addToolBarBreak(area=Qt.RightToolBarArea)
|
||||
|
||||
self.app.ui.grb_edit_toolbar = QtWidgets.QToolBar('Gerber Editor Toolbar')
|
||||
# self.app.ui.grb_edit_toolbar.setVisible(False)
|
||||
self.app.ui.grb_edit_toolbar.setObjectName('GrbEditor_TB')
|
||||
self.app.ui.addToolBar(Qt.RightToolBarArea, self.app.ui.grb_edit_toolbar)
|
||||
|
||||
self.app.ui.exc_edit_toolbar = QtWidgets.QToolBar('Excellon Editor Toolbar')
|
||||
self.app.ui.exc_edit_toolbar.setObjectName('ExcEditor_TB')
|
||||
self.app.ui.addToolBar(Qt.RightToolBarArea, self.app.ui.exc_edit_toolbar)
|
||||
|
||||
self.app.ui.snap_toolbar = QtWidgets.QToolBar('Grid Toolbar')
|
||||
self.app.ui.snap_toolbar.setObjectName('Snap_TB')
|
||||
self.app.ui.snap_toolbar.setMaximumHeight(30)
|
||||
self.app.ui.splitter_left.addWidget(self.app.ui.snap_toolbar)
|
||||
|
||||
self.app.ui.corner_snap_btn.setVisible(True)
|
||||
self.app.ui.snap_magnet.setVisible(True)
|
||||
else:
|
||||
# ## TOOLBAR INSTALLATION # ##
|
||||
self.app.ui.toolbarfile = QtWidgets.QToolBar('File Toolbar')
|
||||
self.app.ui.toolbarfile.setObjectName('File_TB')
|
||||
self.app.ui.addToolBar(self.app.ui.toolbarfile)
|
||||
|
||||
self.app.ui.toolbargeo = QtWidgets.QToolBar('Edit Toolbar')
|
||||
self.app.ui.toolbargeo.setObjectName('Edit_TB')
|
||||
self.app.ui.addToolBar(self.app.ui.toolbargeo)
|
||||
|
||||
self.app.ui.toolbarview = QtWidgets.QToolBar('View Toolbar')
|
||||
self.app.ui.toolbarview.setObjectName('View_TB')
|
||||
self.app.ui.addToolBar(self.app.ui.toolbarview)
|
||||
|
||||
self.app.ui.toolbarshell = QtWidgets.QToolBar('Shell Toolbar')
|
||||
self.app.ui.toolbarshell.setObjectName('Shell_TB')
|
||||
self.app.ui.addToolBar(self.app.ui.toolbarshell)
|
||||
|
||||
self.app.ui.toolbartools = QtWidgets.QToolBar('Tools Toolbar')
|
||||
self.app.ui.toolbartools.setObjectName('Tools_TB')
|
||||
self.app.ui.addToolBar(self.app.ui.toolbartools)
|
||||
|
||||
self.app.ui.exc_edit_toolbar = QtWidgets.QToolBar('Excellon Editor Toolbar')
|
||||
# self.app.ui.exc_edit_toolbar.setVisible(False)
|
||||
self.app.ui.exc_edit_toolbar.setObjectName('ExcEditor_TB')
|
||||
self.app.ui.addToolBar(self.app.ui.exc_edit_toolbar)
|
||||
|
||||
self.app.ui.addToolBarBreak()
|
||||
|
||||
self.app.ui.geo_edit_toolbar = QtWidgets.QToolBar('Geometry Editor Toolbar')
|
||||
# self.app.ui.geo_edit_toolbar.setVisible(False)
|
||||
self.app.ui.geo_edit_toolbar.setObjectName('GeoEditor_TB')
|
||||
self.app.ui.addToolBar(self.app.ui.geo_edit_toolbar)
|
||||
|
||||
self.app.ui.grb_edit_toolbar = QtWidgets.QToolBar('Gerber Editor Toolbar')
|
||||
# self.app.ui.grb_edit_toolbar.setVisible(False)
|
||||
self.app.ui.grb_edit_toolbar.setObjectName('GrbEditor_TB')
|
||||
self.app.ui.addToolBar(self.app.ui.grb_edit_toolbar)
|
||||
|
||||
self.app.ui.snap_toolbar = QtWidgets.QToolBar('Grid Toolbar')
|
||||
self.app.ui.snap_toolbar.setObjectName('Snap_TB')
|
||||
# self.app.ui.snap_toolbar.setMaximumHeight(30)
|
||||
self.app.ui.addToolBar(self.app.ui.snap_toolbar)
|
||||
|
||||
self.app.ui.corner_snap_btn.setVisible(False)
|
||||
self.app.ui.snap_magnet.setVisible(False)
|
||||
|
||||
if current_layout == 'minimal':
|
||||
self.app.ui.toolbarview.setVisible(False)
|
||||
self.app.ui.toolbarshell.setVisible(False)
|
||||
self.app.ui.snap_toolbar.setVisible(False)
|
||||
self.app.ui.geo_edit_toolbar.setVisible(False)
|
||||
self.app.ui.grb_edit_toolbar.setVisible(False)
|
||||
self.app.ui.exc_edit_toolbar.setVisible(False)
|
||||
self.app.ui.lock_toolbar(lock=True)
|
||||
|
||||
# add all the actions to the toolbars
|
||||
self.app.ui.populate_toolbars()
|
||||
|
||||
# reconnect all the signals to the toolbar actions
|
||||
self.app.connect_toolbar_signals()
|
||||
|
||||
self.app.ui.grid_snap_btn.setChecked(True)
|
||||
self.app.on_grid_snap_triggered(state=True)
|
||||
|
||||
self.app.ui.grid_gap_x_entry.setText(str(self.app.defaults["global_gridx"]))
|
||||
self.app.ui.grid_gap_y_entry.setText(str(self.app.defaults["global_gridy"]))
|
||||
self.app.ui.snap_max_dist_entry.setText(str(self.app.defaults["global_snap_max"]))
|
||||
self.app.ui.grid_gap_link_cb.setChecked(True)
|
||||
|
||||
|
||||
class GeneralAPPSetGroupUI(OptionsGroupUI):
|
||||
def __init__(self, decimals=4, parent=None):
|
||||
|
||||
Reference in New Issue
Block a user