- fixed bug that did not allow joining of any object to a Geometry object

- working on solving the lost triggered signals for the Editor Toolbars buttons after changing the layout
This commit is contained in:
Marius Stanciu
2020-10-30 18:16:09 +02:00
committed by Marius
parent 46900d795d
commit fa7b965f63
5 changed files with 259 additions and 235 deletions

View File

@@ -2128,6 +2128,7 @@ class MainGUI(QtWidgets.QMainWindow):
:return: None
"""
self.app.log.debug(" -> Add actions to new Toolbars")
# ########################################################################
# ## File Toolbar # ##

View File

@@ -326,7 +326,7 @@ class GeneralGUIPrefGroupUI(OptionsGroupUI):
self.proj_color_entry.editingFinished.connect(self.on_proj_color_entry)
self.proj_color_dis_entry.editingFinished.connect(self.on_proj_color_dis_entry)
self.layout_combo.activated.connect(self.on_layout)
self.layout_combo.activated.connect(self.app.on_layout)
@staticmethod
def handle_style(style):
@@ -407,143 +407,3 @@ class GeneralGUIPrefGroupUI(OptionsGroupUI):
def on_proj_color_dis_entry(self):
self.app.defaults['global_proj_item_dis_color'] = self.proj_color_dis_entry.get_value()
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.defaults.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.toolbaredit)
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.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.toolbaredit = QtWidgets.QToolBar('Edit Toolbar')
self.app.ui.toolbaredit.setObjectName('Edit_TB')
self.app.ui.addToolBar(Qt.LeftToolBarArea, self.app.ui.toolbaredit)
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)
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.toolbaredit = QtWidgets.QToolBar('Edit Toolbar')
self.app.ui.toolbaredit.setObjectName('Edit_TB')
self.app.ui.addToolBar(self.app.ui.toolbaredit)
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)
if current_layout == 'minimal':
self.app.ui.toolbarview.setVisible(False)
self.app.ui.toolbarshell.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()
try:
# reconnect all the signals to the toolbar actions
self.app.connect_toolbar_signals(ui=self.app.ui)
except Exception as e:
self.app.log.debug(
"appGUI.preferences.general.GeneralGUIPrefGroupUI.on_layout() - connect toolbar signals -> %s" % str(e))
self.app.ui.grid_snap_btn.setChecked(True)
self.app.ui.corner_snap_btn.setVisible(False)
self.app.ui.snap_magnet.setVisible(False)
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)