Merge pull request #4066 from pypeclub/bugfix/settings_lock_can_be_bypassed

Settings UI: Locked setting can't bypass lock
This commit is contained in:
Jakub Trllo 2022-11-04 12:05:50 +01:00 committed by GitHub
commit 25f7f62022
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 1 deletions

View file

@ -892,6 +892,10 @@ class ProjectWidget(SettingsCategoryWidget):
def __init__(self, *args, **kwargs):
super(ProjectWidget, self).__init__(*args, **kwargs)
def set_edit_mode(self, enabled):
super(ProjectWidget, self).set_edit_mode(enabled)
self.project_list_widget.set_edit_mode(enabled)
def _check_last_saved_info(self):
if self.is_modifying_defaults:
return True

View file

@ -646,6 +646,9 @@ class UnsavedChangesDialog(QtWidgets.QDialog):
def __init__(self, parent=None):
super(UnsavedChangesDialog, self).__init__(parent)
self.setWindowTitle("Unsaved changes")
message_label = QtWidgets.QLabel(self.message)
btns_widget = QtWidgets.QWidget(self)
@ -1009,6 +1012,7 @@ class ProjectListWidget(QtWidgets.QWidget):
self._entity = None
self.current_project = None
self._edit_mode = True
super(ProjectListWidget, self).__init__(parent)
self.setObjectName("ProjectListWidget")
@ -1061,6 +1065,10 @@ class ProjectListWidget(QtWidgets.QWidget):
self.project_model = project_model
self.inactive_chk = inactive_chk
def set_edit_mode(self, enabled):
if self._edit_mode is not enabled:
self._edit_mode = enabled
def set_entity(self, entity):
self._entity = entity
@ -1112,7 +1120,7 @@ class ProjectListWidget(QtWidgets.QWidget):
save_changes = False
change_project = False
if self.validate_context_change():
if not self._edit_mode or self.validate_context_change():
change_project = True
else: