- fixed the Punch Gerber Tool bug that did not allowed the projects to be loaded or to create a new project. Fixed issue #456

- in Tool Subtract added an option to delete the source objects after a successful operation. Fixed issue #455
This commit is contained in:
Marius Stanciu
2020-10-30 12:04:35 +02:00
committed by Marius
parent a7c03248d6
commit 46900d795d
4 changed files with 49 additions and 17 deletions

View File

@@ -11,6 +11,8 @@ CHANGELOG for FlatCAM beta
- fixed the Punch Gerber Tool bug that did not allowed the projects to be loaded or to create a new project. Fixed issue #456 - fixed the Punch Gerber Tool bug that did not allowed the projects to be loaded or to create a new project. Fixed issue #456
- in Tool Subtract added an option to delete the source objects after a successful operation. Fixed issue #455 - in Tool Subtract added an option to delete the source objects after a successful operation. Fixed issue #455
- when entering into an Editor now the Project tab is disabled and the Properties tab where the Editor is installed change the text to 'Editor' and the color is set in Red. After exiting the Tab text is reverted to previous state.
- fixed and issue where the Tab color that was changed in various states of the app was reverted back to a default color 'black'. Now it reverts to whatever color had before therefore being compatible with an usage of black theme
29.10.2020 29.10.2020

View File

@@ -1425,6 +1425,8 @@ class ToolsDB2(QtWidgets.QWidget):
''' '''
self.db_tool_dict = {} self.db_tool_dict = {}
self.old_color = QtGui.QColor('black')
# ############################################################################## # ##############################################################################
# ############################################################################## # ##############################################################################
# TOOLS DATABASE UI # TOOLS DATABASE UI
@@ -1719,6 +1721,12 @@ class ToolsDB2(QtWidgets.QWidget):
self.ui_connect() self.ui_connect()
def setup_db_ui(self): def setup_db_ui(self):
# set the old color for the Tools Database Tab
for idx in range(self.app.ui.plot_tab_area.count()):
if self.app.ui.plot_tab_area.tabText(idx) == _("Tools Database"):
self.old_color = self.app.ui.plot_tab_area.tabBar.tabTextColor(idx)
filename = self.app.tools_database_path() filename = self.app.tools_database_path()
# load the database tools from the file # load the database tools from the file
@@ -2155,7 +2163,7 @@ class ToolsDB2(QtWidgets.QWidget):
# Preferences save, update the color of the Tools DB Tab text # Preferences save, update the color of the Tools DB Tab text
for idx in range(self.app_ui.plot_tab_area.count()): for idx in range(self.app_ui.plot_tab_area.count()):
if self.app_ui.plot_tab_area.tabText(idx) == _("Tools Database"): if self.app_ui.plot_tab_area.tabText(idx) == _("Tools Database"):
self.app_ui.plot_tab_area.tabBar.setTabTextColor(idx, QtGui.QColor('black')) self.app_ui.plot_tab_area.tabBar.setTabTextColor(idx, self.old_color)
self.ui.save_db_btn.setStyleSheet("") self.ui.save_db_btn.setStyleSheet("")
# clean the dictionary and leave only keys of interest # clean the dictionary and leave only keys of interest

View File

@@ -42,6 +42,8 @@ class PreferencesUIManager:
# if Preferences are changed in the Edit -> Preferences tab the value will be set to True # if Preferences are changed in the Edit -> Preferences tab the value will be set to True
self.preferences_changed_flag = False self.preferences_changed_flag = False
self.old_color = QtGui.QColor('black')
# when adding entries here read the comments in the method found below named: # when adding entries here read the comments in the method found below named:
# def app_obj.new_object(self, kind, name, initialize, active=True, fit=True, plot=True) # def app_obj.new_object(self, kind, name, initialize, active=True, fit=True, plot=True)
self.defaults_form_fields = { self.defaults_form_fields = {
@@ -908,7 +910,7 @@ class PreferencesUIManager:
# Preferences save, update the color of the Preferences Tab text # Preferences save, update the color of the Preferences Tab text
for idx in range(self.ui.plot_tab_area.count()): for idx in range(self.ui.plot_tab_area.count()):
if self.ui.plot_tab_area.tabText(idx) == _("Preferences"): if self.ui.plot_tab_area.tabText(idx) == _("Preferences"):
self.ui.plot_tab_area.tabBar.setTabTextColor(idx, QtGui.QColor('black')) self.ui.plot_tab_area.tabBar.setTabTextColor(idx, self.old_color)
# restore the default stylesheet by setting a blank one # restore the default stylesheet by setting a blank one
self.ui.pref_apply_button.setStyleSheet("") self.ui.pref_apply_button.setStyleSheet("")
@@ -1001,7 +1003,7 @@ class PreferencesUIManager:
# close the tab and delete it # close the tab and delete it
for idx in range(self.ui.plot_tab_area.count()): for idx in range(self.ui.plot_tab_area.count()):
if self.ui.plot_tab_area.tabText(idx) == _("Preferences"): if self.ui.plot_tab_area.tabText(idx) == _("Preferences"):
self.ui.plot_tab_area.tabBar.setTabTextColor(idx, QtGui.QColor('black')) self.ui.plot_tab_area.tabBar.setTabTextColor(idx, self.old_color)
self.ui.plot_tab_area.closeTab(idx) self.ui.plot_tab_area.closeTab(idx)
break break
@@ -1029,7 +1031,7 @@ class PreferencesUIManager:
# Preferences save, update the color of the Preferences Tab text # Preferences save, update the color of the Preferences Tab text
for idx in range(self.ui.plot_tab_area.count()): for idx in range(self.ui.plot_tab_area.count()):
if self.ui.plot_tab_area.tabText(idx) == _("Preferences"): if self.ui.plot_tab_area.tabText(idx) == _("Preferences"):
self.ui.plot_tab_area.tabBar.setTabTextColor(idx, QtGui.QColor('black')) self.ui.plot_tab_area.tabBar.setTabTextColor(idx, self.old_color)
self.ui.plot_tab_area.closeTab(idx) self.ui.plot_tab_area.closeTab(idx)
break break
@@ -1134,6 +1136,7 @@ class PreferencesUIManager:
for idx in range(self.ui.plot_tab_area.count()): for idx in range(self.ui.plot_tab_area.count()):
if self.ui.plot_tab_area.tabText(idx) == _("Preferences"): if self.ui.plot_tab_area.tabText(idx) == _("Preferences"):
self.old_color = self.ui.plot_tab_area.tabBar.tabTextColor(idx)
self.ui.plot_tab_area.tabBar.setTabTextColor(idx, QtGui.QColor('red')) self.ui.plot_tab_area.tabBar.setTabTextColor(idx, QtGui.QColor('red'))
self.ui.pref_apply_button.setStyleSheet("QPushButton {color: red;}") self.ui.pref_apply_button.setStyleSheet("QPushButton {color: red;}")

View File

@@ -1184,6 +1184,9 @@ class App(QtCore.QObject):
self.text_editor_tab = None self.text_editor_tab = None
# here store the color of a Tab text before it is changed so it can be restored in the future
self.old_tab_text_color = None
# reference for the self.ui.code_editor # reference for the self.ui.code_editor
self.reference_code_editor = None self.reference_code_editor = None
self.script_code = '' self.script_code = ''
@@ -2186,7 +2189,7 @@ class App(QtCore.QObject):
:return: None :return: None
""" """
self.defaults.report_usage("object2editor()") self.defaults.report_usage("object2editor()")
self.log.debug("######################### Starting the EDITOR ################################")
# disable the objects menu as it may interfere with the appEditors # disable the objects menu as it may interfere with the appEditors
self.ui.menuobjects.setDisabled(True) self.ui.menuobjects.setDisabled(True)
@@ -2236,7 +2239,6 @@ class App(QtCore.QObject):
# set call source to the Editor we go into # set call source to the Editor we go into
self.call_source = 'geo_editor' self.call_source = 'geo_editor'
elif isinstance(edited_object, ExcellonObject): elif isinstance(edited_object, ExcellonObject):
# store the Excellon Editor Toolbar visibility before entering in the Editor # store the Excellon Editor Toolbar visibility before entering in the Editor
self.exc_editor.toolbar_old_state = True if self.ui.exc_edit_toolbar.isVisible() else False self.exc_editor.toolbar_old_state = True if self.ui.exc_edit_toolbar.isVisible() else False
@@ -2248,7 +2250,6 @@ class App(QtCore.QObject):
# set call source to the Editor we go into # set call source to the Editor we go into
self.call_source = 'exc_editor' self.call_source = 'exc_editor'
elif isinstance(edited_object, GerberObject): elif isinstance(edited_object, GerberObject):
# store the Gerber Editor Toolbar visibility before entering in the Editor # store the Gerber Editor Toolbar visibility before entering in the Editor
self.grb_editor.toolbar_old_state = True if self.ui.grb_edit_toolbar.isVisible() else False self.grb_editor.toolbar_old_state = True if self.ui.grb_edit_toolbar.isVisible() else False
@@ -2263,7 +2264,6 @@ class App(QtCore.QObject):
# reset the following variables so the UI is built again after edit # reset the following variables so the UI is built again after edit
edited_object.ui_build = False edited_object.ui_build = False
elif isinstance(edited_object, CNCJobObject): elif isinstance(edited_object, CNCJobObject):
if self.ui.splitter.sizes()[0] == 0: if self.ui.splitter.sizes()[0] == 0:
@@ -2275,9 +2275,19 @@ class App(QtCore.QObject):
self.gcode_editor.edit_fcgcode(edited_object) self.gcode_editor.edit_fcgcode(edited_object)
# make sure that we can't select another object while in Editor Mode: # make sure that we can't select another object while in Editor Mode:
# self.collection.view.setSelectionMode(QtWidgets.QAbstractItemView.NoSelection)
self.ui.project_frame.setDisabled(True) self.ui.project_frame.setDisabled(True)
for idx in range(self.ui.notebook.count()):
# store the Properties Tab text color here and change the color and text
if self.ui.notebook.tabText(idx) == _("Properties"):
self.old_tab_text_color = self.ui.notebook.tabBar.tabTextColor(idx)
self.ui.notebook.tabBar.setTabTextColor(idx, QtGui.QColor('red'))
self.ui.notebook.tabBar.setTabText(idx, _("Editor"))
# disable the Project Tab
if self.ui.notebook.tabText(idx) == _("Project"):
self.ui.notebook.tabBar.setTabEnabled(idx, False)
# delete any selection shape that might be active as they are not relevant in Editor # delete any selection shape that might be active as they are not relevant in Editor
self.delete_selection_shape() self.delete_selection_shape()
@@ -2302,6 +2312,7 @@ class App(QtCore.QObject):
:return: None :return: None
""" """
self.defaults.report_usage("editor2object()") self.defaults.report_usage("editor2object()")
self.log.debug("######################### Closing the EDITOR ################################")
# re-enable the objects menu that was disabled on entry in Editor mode # re-enable the objects menu that was disabled on entry in Editor mode
self.ui.menuobjects.setDisabled(False) self.ui.menuobjects.setDisabled(False)
@@ -2431,7 +2442,6 @@ class App(QtCore.QObject):
return return
self.inform.emit('[selected] %s %s' % (obj_type, _("is updated, returning to App..."))) self.inform.emit('[selected] %s %s' % (obj_type, _("is updated, returning to App...")))
elif response == bt_no: elif response == bt_no:
# show the Tools Toolbar # show the Tools Toolbar
tools_tb = self.ui.toolbartools tools_tb = self.ui.toolbartools
@@ -2498,6 +2508,16 @@ class App(QtCore.QObject):
if self.ui.splitter.sizes()[0] == 0: if self.ui.splitter.sizes()[0] == 0:
self.ui.splitter.setSizes([1, 1]) self.ui.splitter.setSizes([1, 1])
for idx in range(self.ui.notebook.count()):
# restore the Properties Tab text and color
if self.ui.notebook.tabText(idx) == _("Editor"):
self.ui.notebook.tabBar.setTabTextColor(idx, self.old_tab_text_color)
self.ui.notebook.tabBar.setTabText(idx, _("Properties"))
# enable the Project Tab
if self.ui.notebook.tabText(idx) == _("Project"):
self.ui.notebook.tabBar.setTabEnabled(idx, True)
# restore the call_source to app # restore the call_source to app
self.call_source = 'app' self.call_source = 'app'
@@ -2506,7 +2526,6 @@ class App(QtCore.QObject):
self.ui.plot_tab_area.protectTab(0) self.ui.plot_tab_area.protectTab(0)
# make sure that we reenable the selection on Project Tab after returning from Editor Mode: # make sure that we reenable the selection on Project Tab after returning from Editor Mode:
# self.collection.view.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
self.ui.project_frame.setDisabled(False) self.ui.project_frame.setDisabled(False)
def get_last_folder(self): def get_last_folder(self):