def new_scheme_on_new_window(self): """New scheme. Return QDialog.Rejected if the user canceled the operation and QDialog.Accepted otherwise. """ window = self.instantiate_window() document = window.current_document() if document.isModifiedStrict(): # Ask for save changes if window.ask_save_changes() == QDialog.Rejected: return QDialog.Rejected new_scheme = config.workflow_constructor(parent=self) settings = QSettings() show = settings.value("schemeinfo/show-at-new-scheme", True, type=bool) if show: status = window.show_scheme_properties_for(new_scheme, self.tr("New Workflow")) if status == QDialog.Rejected: return QDialog.Rejected window.set_new_scheme(new_scheme) return QDialog.Accepted
def new_scheme_on_new_window(self): """New scheme. Return QDialog.Rejected if the user canceled the operation and QDialog.Accepted otherwise. """ window = self.instantiate_window() document = window.current_document() if document.isModifiedStrict(): # Ask for save changes if window.ask_save_changes() == QDialog.Rejected: return QDialog.Rejected new_scheme = config.workflow_constructor(parent=self) settings = QSettings() show = settings.value("schemeinfo/show-at-new-scheme", True, type=bool) if show: status = window.show_scheme_properties_for( new_scheme, self.tr("New Workflow") ) if status == QDialog.Rejected: return QDialog.Rejected window.set_new_scheme(new_scheme) return QDialog.Accepted
def closeSecondaryEvent(self, event): """Close the main window. """ document = self.current_document() if document.isModifiedStrict(): if self.ask_save_changes() == QDialog.Rejected: # Reject the event event.ignore() return old_scheme = document.scheme() # Set an empty scheme to clear the document document.setScheme(config.workflow_constructor(parent=self)) QApplication.sendEvent(old_scheme, QEvent(QEvent.Close)) old_scheme.deleteLater() config.save_config() geometry = self.saveGeometry() state = self.saveState(version=self.SETTINGS_VERSION) settings = QSettings() settings.beginGroup("mainwindow") settings.setValue("geometry", geometry) settings.setValue("state", state) settings.setValue("canvasdock/expanded", self.dock_widget.expanded()) settings.setValue("scheme-margins-enabled", self.scheme_margins_enabled) settings.setValue("last-scheme-dir", self.last_scheme_dir) settings.setValue("widgettoolbox/state", self.widgets_tool_box.saveState()) settings.setValue("quick-help/visible", self.canvas_tool_dock.quickHelpVisible()) settings.endGroup() event.accept()