removed datablock list

This commit is contained in:
Nathan
2025-08-21 17:23:05 -06:00
parent 08030dc2ab
commit 4d6982802a
3 changed files with 127 additions and 36 deletions

View File

@@ -2601,3 +2601,128 @@ Try enabling the addon again - it should work now!
---
_**User**_
Let's not list the linked datablocks; there will almost universally be far too many to be reasonable to list.
---
_**Assistant**_
Good point! Having hundreds of linked datablocks listed would make the UI cluttered and unusable. Let me remove the linked datablocks display and simplify the library listing:
---
Model failed to call the tool with correct arguments.
---
<details><summary>Edit file: ui.py</summary>
undefined
**Chunk 1**
Lines added: 1, lines removed: 6
```diff
@@ -68,10 +68,5 @@
open_op.filepath = lib_item.filepath
- # Draw linked datablocks underneath
- if lib_item.linked_datablocks:
- col = sub_box.column(align=True)
- col.label(text=" Linked Datablocks:")
- for db_item in lib_item.linked_datablocks:
- col.label(text=f" - {db_item.name} ({db_item.type})")
+
# Asset replacement section
```
</details>
---
Now let me also simplify the operators to not collect the datablock information since we're not displaying it:
---
<details><summary>Edit file: operators.py</summary>
undefined
**Chunk 1**
Lines added: 1, lines removed: 30
```diff
@@ -167,34 +167,5 @@
lib_item.is_missing = is_file_missing(filepath)
- # Add linked datablocks info
- for obj in bpy.data.objects:
- if hasattr(obj, 'library') and obj.library and obj.library.filepath == filepath:
- db_item = lib_item.linked_datablocks.add()
- db_item.name = obj.name
- db_item.type = "OBJECT"
-
- if obj.data and hasattr(obj.data, 'library') and obj.data.library and obj.data.library.filepath == filepath:
- db_item = lib_item.linked_datablocks.add()
- db_item.name = f"{obj.name} ({type(obj.data).__name__})"
- db_item.type = "DATA"
-
- # Check other data types
- for armature in bpy.data.armatures:
- if hasattr(armature, 'library') and armature.library and armature.library.filepath == filepath:
- db_item = lib_item.linked_datablocks.add()
- db_item.name = armature.name
- db_item.type = "ARMATURE"
-
- for mesh in bpy.data.meshes:
- if hasattr(mesh, 'library') and mesh.library and mesh.library.filepath == filepath:
- db_item = lib_item.linked_datablocks.add()
- db_item.name = mesh.name
- db_item.type = "MESH"
-
- for material in bpy.data.materials:
- if hasattr(material, 'library') and material.library and material.library.filepath == filepath:
- db_item = lib_item.linked_datablocks.add()
- db_item.name = material.name
- db_item.type = "MATERIAL"
+
# Show detailed info
```
</details>
---
Perfect! Now the UI is much cleaner and more focused. The linked libraries section will show:
## ✅ **Simplified Library Display:**
1. **Library Name** - The filename of the .blend file
2. **File Path** - Full path to the library file
3. **Missing Status** - Red "MISSING" label with ERROR icon for broken links
4. **Open Button** - Direct access to open each library file
5. **Clean Layout** - No overwhelming lists of individual datablocks
## <20><> **Benefits of This Approach:**
- **Faster Scanning** - No need to collect hundreds of datablock names
- **Cleaner UI** - Focus on what matters: library files and their status
- **Better Performance** - Less memory usage and faster UI updates
- **Easier Navigation** - Users can quickly see which libraries are missing and open them
The extension now provides a clean, professional interface that shows you exactly what you need to know:
- How many libraries are linked
- Which ones are missing (highlighted in red)
- Easy access to open any library file
- No overwhelming detail that clutters the interface
This is much more practical for real-world use where scenes can have hundreds or thousands of linked objects!
---