diff --git a/openpype/modules/ftrack/lib/custom_attributes.py b/openpype/modules/ftrack/lib/custom_attributes.py index 33eea32baa0..f6b82c90b1a 100644 --- a/openpype/modules/ftrack/lib/custom_attributes.py +++ b/openpype/modules/ftrack/lib/custom_attributes.py @@ -15,12 +15,17 @@ def default_custom_attributes_definition(): def app_definitions_from_app_manager(app_manager): - app_definitions = [] + _app_definitions = [] for app_name, app in app_manager.applications.items(): if app.enabled and app.is_host: - app_definitions.append({ - app_name: app.full_label - }) + _app_definitions.append( + (app_name, app.full_label) + ) + + # Sort items by label + app_definitions = [] + for key, label in sorted(_app_definitions, key=lambda item: item[1]): + app_definitions.append({key: label}) if not app_definitions: app_definitions.append({"empty": "< Empty >"}) @@ -28,11 +33,16 @@ def app_definitions_from_app_manager(app_manager): def tool_definitions_from_app_manager(app_manager): - tools_data = [] + _tools_data = [] for tool_name, tool in app_manager.tools.items(): - tools_data.append({ - tool_name: tool.label - }) + _tools_data.append( + (tool_name, tool.label) + ) + + # Sort items by label + tools_data = [] + for key, label in sorted(_tools_data, key=lambda item: item[1]): + tools_data.append({key: label}) # Make sure there is at least one item if not tools_data: diff --git a/openpype/settings/defaults/system_settings/tools.json b/openpype/settings/defaults/system_settings/tools.json index b0adccc65e7..181236abe83 100644 --- a/openpype/settings/defaults/system_settings/tools.json +++ b/openpype/settings/defaults/system_settings/tools.json @@ -32,7 +32,7 @@ }, "__dynamic_keys_labels__": { "3-2": "3.2", - "3-1": "3.2" + "3-1": "3.1" } } },