diff --git a/AppGUI/MainGUI.py b/AppGUI/MainGUI.py index 43b69767..6b1fc3d3 100644 --- a/AppGUI/MainGUI.py +++ b/AppGUI/MainGUI.py @@ -2495,6 +2495,7 @@ class MainGUI(QtWidgets.QMainWindow): if key == QtCore.Qt.Key_Space: for select in selected: select.ui.plot_cb.toggle() + QtWidgets.QApplication.processEvents() self.app.collection.update_view() self.app.delete_selection_shape() diff --git a/AppObjects/FlatCAMObj.py b/AppObjects/FlatCAMObj.py index cf44df38..b2cf95d8 100644 --- a/AppObjects/FlatCAMObj.py +++ b/AppObjects/FlatCAMObj.py @@ -464,20 +464,28 @@ class FlatCAMObj(QtCore.QObject): def visible(self, value, threaded=True): log.debug("FlatCAMObj.visible()") + current_visibility = self.shapes.visible # self.shapes.visible = value # maybe this is slower in VisPy? use enabled property? - if self.shapes.visible is True: - if value is False: - self.shapes.visible = False - else: - if value is True: - self.shapes.visible = True - if self.app.is_legacy is False: - # Not all object types has annotations - try: - self.annotation.visible = value - except Exception: - pass + def task(current_visibility): + if current_visibility is True: + if value is False: + self.shapes.visible = False + else: + if value is True: + self.shapes.visible = True + + if self.app.is_legacy is False: + # Not all object types has annotations + try: + self.annotation.visible = value + except Exception: + pass + + if threaded: + self.app.worker_task.emit({'fcn': task, 'params': [current_visibility]}) + else: + task(current_visibility) @property def drawing_tolerance(self): diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d27db27..546db41c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,7 @@ CHANGELOG for FlatCAM beta - added a label in status bar that will toggle the Preferences tab - made some changes such that that the label in status bar for toggling the Preferences Tab will be updated in various cases of closing the tab - changed colors for the status bar labels and added some of the new icons in the gray version +- remade visibility as threaded - it seems that I can't really squeeze more performance from this 31.05.2020