From 385ef2c298fafada5ed1b62d775f64fd9a4fe917 Mon Sep 17 00:00:00 2001 From: Pablo Vazquez Date: Thu, 19 Oct 2023 15:26:48 +0200 Subject: [PATCH] Extensions: Move Extensions Repositories panel to Extensions tab Move "Extensions Repositories" panel from FilePaths to Extensions. Temporary change until a design is agreed on, to make it easier to test repos while developing without going back and forth between sections. --- scripts/startup/bl_ui/space_userpref.py | 95 ++++++++++--------- source/blender/makesrna/intern/rna_userdef.cc | 2 +- 2 files changed, 49 insertions(+), 48 deletions(-) diff --git a/scripts/startup/bl_ui/space_userpref.py b/scripts/startup/bl_ui/space_userpref.py index 71559ca44f7..4cc37158a81 100644 --- a/scripts/startup/bl_ui/space_userpref.py +++ b/scripts/startup/bl_ui/space_userpref.py @@ -1579,51 +1579,6 @@ class USERPREF_UL_asset_libraries(bpy.types.UIList): layout.prop(asset_library, "name", text="", emboss=False) -class USERPREF_PT_file_paths_extension_repos(FilePathsPanel, Panel): - bl_label = "Extension Repositories" - - @classmethod - def poll(cls, context): - return context.preferences.experimental.use_extension_repos - - def draw(self, context): - layout = self.layout - layout.use_property_split = False - layout.use_property_decorate = False - - paths = context.preferences.filepaths - active_library_index = paths.active_extension_repo - - row = layout.row() - - row.template_list( - "USERPREF_UL_extension_repos", "user_extension_repos", - paths, "extension_repos", - paths, "active_extension_repo" - ) - - col = row.column(align=True) - col.operator("preferences.extension_repo_add", text="", icon='ADD') - props = col.operator("preferences.extension_repo_remove", text="", icon='REMOVE') - props.index = active_library_index - - try: - active_repo = None if active_library_index < 0 else paths.extension_repos[active_library_index] - except IndexError: - active_repo = None - - if active_repo is None: - return - - layout.separator() - - layout.prop(active_repo, "directory") - layout.prop(active_repo, "remote_path") - row = layout.row() - row.prop(active_repo, "use_cache") - row.prop(active_repo, "module") - - class USERPREF_UL_extension_repos(bpy.types.UIList): def draw_item(self, _context, layout, _data, item, icon, _active_data, _active_propname, _index): repo = item @@ -2056,6 +2011,51 @@ class USERPREF_PT_extensions(ExtensionsPanel, Panel): ).url = "https://projects.blender.org/ideasman42/bl_ext" +class USERPREF_PT_extensions_repos(ExtensionsPanel, Panel): + bl_label = "Extension Repositories" + + @classmethod + def poll(cls, context): + return context.preferences.experimental.use_extension_repos + + def draw(self, context): + layout = self.layout + layout.use_property_split = False + layout.use_property_decorate = False + + paths = context.preferences.filepaths + active_library_index = paths.active_extension_repo + + row = layout.row() + + row.template_list( + "USERPREF_UL_extension_repos", "user_extension_repos", + paths, "extension_repos", + paths, "active_extension_repo" + ) + + col = row.column(align=True) + col.operator("preferences.extension_repo_add", text="", icon='ADD') + props = col.operator("preferences.extension_repo_remove", text="", icon='REMOVE') + props.index = active_library_index + + try: + active_repo = None if active_library_index < 0 else paths.extension_repos[active_library_index] + except IndexError: + active_repo = None + + if active_repo is None: + return + + layout.separator() + + layout.prop(active_repo, "directory") + layout.prop(active_repo, "remote_path") + row = layout.row() + row.prop(active_repo, "use_cache") + row.prop(active_repo, "module") + + # ----------------------------------------------------------------------------- # Add-On Panels @@ -2669,7 +2669,6 @@ classes = ( USERPREF_PT_file_paths_render, USERPREF_PT_file_paths_asset_libraries, USERPREF_PT_file_paths_script_directories, - USERPREF_PT_file_paths_extension_repos, USERPREF_PT_file_paths_applications, USERPREF_PT_text_editor, USERPREF_PT_text_editor_presets, @@ -2694,9 +2693,11 @@ classes = ( USERPREF_PT_keymap, - USERPREF_PT_extensions, USERPREF_PT_addons, + USERPREF_PT_extensions, + USERPREF_PT_extensions_repos, + USERPREF_PT_studiolight_lights, USERPREF_PT_studiolight_light_editor, USERPREF_PT_studiolight_matcaps, diff --git a/source/blender/makesrna/intern/rna_userdef.cc b/source/blender/makesrna/intern/rna_userdef.cc index f481f5671d5..39a43f6606c 100644 --- a/source/blender/makesrna/intern/rna_userdef.cc +++ b/source/blender/makesrna/intern/rna_userdef.cc @@ -56,7 +56,6 @@ const EnumPropertyItem rna_enum_preference_section_items[] = { {USER_SECTION_EDITING, "EDITING", 0, "Editing", ""}, {USER_SECTION_ANIMATION, "ANIMATION", 0, "Animation", ""}, RNA_ENUM_ITEM_SEPR, - {USER_SECTION_EXTENSIONS, "EXTENSIONS", 0, "Extensions", ""}, {USER_SECTION_ADDONS, "ADDONS", 0, "Add-ons", ""}, #if 0 /* def WITH_USERDEF_WORKSPACES */ RNA_ENUM_ITEM_SEPR, @@ -72,6 +71,7 @@ const EnumPropertyItem rna_enum_preference_section_items[] = { {USER_SECTION_SYSTEM, "SYSTEM", 0, "System", ""}, {USER_SECTION_SAVE_LOAD, "SAVE_LOAD", 0, "Save & Load", ""}, {USER_SECTION_FILE_PATHS, "FILE_PATHS", 0, "File Paths", ""}, + {USER_SECTION_EXTENSIONS, "EXTENSIONS", 0, "Extensions", ""}, RNA_ENUM_ITEM_SEPR, {USER_SECTION_EXPERIMENTAL, "EXPERIMENTAL", 0, "Experimental", ""}, {0, nullptr, 0, nullptr, nullptr},