mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-25 13:24:54 +01:00
fixed few issues of loaded data
This commit is contained in:
parent
6903865976
commit
0b18f1cce3
3 changed files with 19 additions and 2 deletions
|
|
@ -9,6 +9,8 @@ log = logging.getLogger(__name__)
|
|||
M_OVERRIDEN_KEY = "__overriden_keys__"
|
||||
# Metadata key for storing information about environments
|
||||
M_ENVIRONMENT_KEY = "__environment_keys__"
|
||||
# Metadata key for storing dynamic created labels
|
||||
M_DYNAMIC_KEY_LABEL = "__dynamic_keys_labels__"
|
||||
# NOTE key popping not implemented yet
|
||||
M_POP_KEY = "__pop_key__"
|
||||
|
||||
|
|
|
|||
|
|
@ -2034,7 +2034,6 @@ class ModifiableDictItem(QtWidgets.QWidget, SettingObject):
|
|||
add_btn.setFixedSize(self._btn_size, self._btn_size)
|
||||
|
||||
edit_btn = None
|
||||
remove_btn = None
|
||||
if self.labeled_items:
|
||||
edit_btn = IconButton(
|
||||
"fa.edit", QtCore.Qt.lightGray, QtCore.Qt.white
|
||||
|
|
@ -2049,6 +2048,9 @@ class ModifiableDictItem(QtWidgets.QWidget, SettingObject):
|
|||
remove_btn.setFixedSize(self._btn_size, self._btn_size)
|
||||
|
||||
if self.labeled_items:
|
||||
add_btn.setVisible(False)
|
||||
remove_btn.setVisible(False)
|
||||
|
||||
wrapper_widget.add_widget_before_label(add_btn)
|
||||
wrapper_widget.add_widget_before_label(edit_btn)
|
||||
wrapper_widget.add_widget_after_label(key_input)
|
||||
|
|
@ -2422,6 +2424,8 @@ class ModifiableDict(QtWidgets.QWidget, InputObject):
|
|||
previous_inputs = tuple(self.input_fields)
|
||||
for item_key, item_value in value.items():
|
||||
self.add_row(key=item_key, value=item_value)
|
||||
if self.labeled_items:
|
||||
self.add_row(is_empty=True)
|
||||
|
||||
for input_field in previous_inputs:
|
||||
self.remove_row(input_field)
|
||||
|
|
|
|||
|
|
@ -2,7 +2,11 @@ import os
|
|||
import re
|
||||
import json
|
||||
import copy
|
||||
from pype.settings.lib import M_OVERRIDEN_KEY, M_ENVIRONMENT_KEY
|
||||
from pype.settings.lib import (
|
||||
M_OVERRIDEN_KEY,
|
||||
M_ENVIRONMENT_KEY,
|
||||
M_DYNAMIC_KEY_LABEL
|
||||
)
|
||||
from queue import Queue
|
||||
|
||||
|
||||
|
|
@ -35,6 +39,8 @@ def convert_gui_data_with_metadata(data, ignored_keys=None):
|
|||
|
||||
if key == "environments":
|
||||
output[M_ENVIRONMENT_KEY] = value
|
||||
elif key == "dynamic_key_label":
|
||||
output[M_DYNAMIC_KEY_LABEL] = value
|
||||
else:
|
||||
raise KeyError("Unknown metadata key \"{}\"".format(key))
|
||||
|
||||
|
|
@ -51,6 +57,11 @@ def convert_data_to_gui_data(data, first=True):
|
|||
if M_ENVIRONMENT_KEY in data:
|
||||
data.pop(M_ENVIRONMENT_KEY)
|
||||
|
||||
if M_DYNAMIC_KEY_LABEL in data:
|
||||
if METADATA_KEY not in data:
|
||||
data[METADATA_KEY] = {}
|
||||
data[METADATA_KEY]["dynamic_key_label"] = data.pop(M_DYNAMIC_KEY_LABEL)
|
||||
|
||||
for key, value in data.items():
|
||||
output[key] = convert_data_to_gui_data(value, False)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue