mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-25 21:32:15 +01:00
label changes should work now
This commit is contained in:
parent
af642c6762
commit
c8d132fd06
1 changed files with 34 additions and 20 deletions
|
|
@ -13,8 +13,6 @@ from .lib import (
|
|||
CHILD_OFFSET
|
||||
)
|
||||
|
||||
from pype.settings.entities import NOT_SET
|
||||
|
||||
|
||||
def create_add_btn(parent):
|
||||
add_btn = QtWidgets.QPushButton("+", parent)
|
||||
|
|
@ -161,8 +159,8 @@ class ModifiableDictItem(QtWidgets.QWidget):
|
|||
self.is_key_duplicated = False
|
||||
self.is_required = False
|
||||
|
||||
self.origin_key = NOT_SET
|
||||
self.origin_key_label = NOT_SET
|
||||
self.origin_key = None
|
||||
self.origin_key_label = None
|
||||
|
||||
self.temp_key = ""
|
||||
self.uuid_key = None
|
||||
|
|
@ -171,6 +169,8 @@ class ModifiableDictItem(QtWidgets.QWidget):
|
|||
|
||||
self.wrapper_widget = None
|
||||
|
||||
self.key_label_input = None
|
||||
|
||||
if collapsible_key:
|
||||
self.create_collapsible_ui()
|
||||
else:
|
||||
|
|
@ -272,7 +272,7 @@ class ModifiableDictItem(QtWidgets.QWidget):
|
|||
key_input.textChanged.connect(self._on_key_change)
|
||||
key_input.returnPressed.connect(self._on_enter_press)
|
||||
|
||||
key_label_input.textChanged.connect(self._on_key_change)
|
||||
key_label_input.textChanged.connect(self._on_key_label_change)
|
||||
key_label_input.returnPressed.connect(self._on_enter_press)
|
||||
|
||||
edit_btn.clicked.connect(self.on_edit_pressed)
|
||||
|
|
@ -339,10 +339,13 @@ class ModifiableDictItem(QtWidgets.QWidget):
|
|||
|
||||
def set_key_label(self, key, label):
|
||||
self.set_key(key)
|
||||
if label:
|
||||
self.key_label_input.setText(label)
|
||||
self.set_label(label)
|
||||
self.set_edit_mode(False)
|
||||
|
||||
def set_label(self, label):
|
||||
if self.key_label_input and label is not None:
|
||||
self.key_label_input.setText(label)
|
||||
|
||||
def set_as_required(self, key):
|
||||
self.key_input.setText(key)
|
||||
self.key_input.setEnabled(False)
|
||||
|
|
@ -372,6 +375,8 @@ class ModifiableDictItem(QtWidgets.QWidget):
|
|||
self.set_edit_mode(False)
|
||||
|
||||
def _on_key_label_change(self):
|
||||
label = self.key_label_value()
|
||||
self.entity_widget.change_label(label, self)
|
||||
self.update_key_label()
|
||||
|
||||
def _on_key_change(self):
|
||||
|
|
@ -439,17 +444,6 @@ class ModifiableDictItem(QtWidgets.QWidget):
|
|||
def is_key_label_modified(self):
|
||||
return self.key_label_value() != self.origin_key_label
|
||||
|
||||
def is_value_modified(self):
|
||||
return self.input_field.is_modified
|
||||
|
||||
@property
|
||||
def is_modified(self):
|
||||
return (
|
||||
self.is_key_modified()
|
||||
or self.is_key_label_modified()
|
||||
or self.is_value_modified()
|
||||
)
|
||||
|
||||
def trigger_hierarchical_style_update(self):
|
||||
self.entity_widget.trigger_hierarchical_style_update()
|
||||
|
||||
|
|
@ -516,9 +510,9 @@ class ModifiableDictItem(QtWidgets.QWidget):
|
|||
return self.entity_widget.input_fields.index(self)
|
||||
|
||||
def key_label_value(self):
|
||||
if self.collapsible_key:
|
||||
if self.key_label_input:
|
||||
return self.key_label_input.text()
|
||||
return NOT_SET
|
||||
return None
|
||||
|
||||
def mouseReleaseEvent(self, event):
|
||||
return QtWidgets.QWidget.mouseReleaseEvent(self, event)
|
||||
|
|
@ -697,6 +691,13 @@ class DictMutableKeysWidget(BaseWidget):
|
|||
self.entity.children_by_key[sk_old_key]
|
||||
)
|
||||
|
||||
def change_label(self, label, input_field):
|
||||
entity = input_field.entity
|
||||
_label = self.entity.get_child_label(entity)
|
||||
if _label == label:
|
||||
return
|
||||
self.entity.set_child_label(entity, label)
|
||||
|
||||
def add_widget_for_child(
|
||||
self, child_entity, after_widget=None, first=False
|
||||
):
|
||||
|
|
@ -803,6 +804,10 @@ class DictMutableKeysWidget(BaseWidget):
|
|||
_input_field = self.add_widget_for_child(child_entity, *args)
|
||||
_input_field.origin_key = key
|
||||
_input_field.set_key(key)
|
||||
if self.entity.collapsible_key:
|
||||
label = self.entity.get_child_label(child_entity)
|
||||
_input_field.origin_key_label = label
|
||||
_input_field.set_label(label)
|
||||
_input_field.set_entity_value()
|
||||
|
||||
else:
|
||||
|
|
@ -810,6 +815,11 @@ class DictMutableKeysWidget(BaseWidget):
|
|||
changed = True
|
||||
input_field.set_key(key)
|
||||
|
||||
if self.entity.collapsible_key:
|
||||
label = self.entity.get_child_label(child_entity)
|
||||
if input_field.key_label_value() != label:
|
||||
input_field.set_label(label)
|
||||
|
||||
if changed:
|
||||
self.on_shuffle()
|
||||
|
||||
|
|
@ -821,6 +831,10 @@ class DictMutableKeysWidget(BaseWidget):
|
|||
input_field = self.add_widget_for_child(child_entity)
|
||||
input_field.origin_key = key
|
||||
input_field.set_key(key)
|
||||
if self.entity.collapsible_key:
|
||||
label = self.entity.get_child_label(child_entity)
|
||||
input_field.origin_key_label = label
|
||||
input_field.set_label(label)
|
||||
|
||||
for input_field in self.input_fields:
|
||||
input_field.set_entity_value()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue