From 132c1caa6e848f78a155dfb2bc4e9b7c5d2d574d Mon Sep 17 00:00:00 2001 From: Kristian <57712777+NMC-TBone@users.noreply.github.com> Date: Sat, 11 Jan 2025 05:15:05 +0100 Subject: [PATCH] fix(split type preset): add default option & use grid_flow --- addon/i3dio/ui/object.py | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/addon/i3dio/ui/object.py b/addon/i3dio/ui/object.py index 235c3fdb..b73c4e6c 100755 --- a/addon/i3dio/ui/object.py +++ b/addon/i3dio/ui/object.py @@ -508,8 +508,11 @@ def description(cls, _context, properties): f"Supports wood harvester: {'Yes' if support_harvester else 'No'}") def execute(self, context): - preset = SPLIT_TYPE_PRESETS.get(self.preset, {}) i3d_attributes = context.object.i3d_attributes + if self.preset == "Default": + i3d_attributes.split_type = i3d_attributes.i3d_map['split_type']['default'] + return {'FINISHED'} + preset = SPLIT_TYPE_PRESETS.get(self.preset, {}) i3d_attributes.split_type = preset['split_type'] return {'FINISHED'} @@ -521,17 +524,12 @@ class I3D_IO_MT_split_type_presets(bpy.types.Menu): def draw(self, _context): layout = self.layout - row = layout.row(align=False) - col1 = row.column(align=True) - col2 = row.column(align=True) - presets = list(SPLIT_TYPE_PRESETS.keys()) - middle = len(presets) // 2 - - for idx, preset in enumerate(presets): - if idx <= middle: - col1.operator(I3D_IO_OT_set_split_type_preset.bl_idname, text=preset).preset = preset - else: - col2.operator(I3D_IO_OT_set_split_type_preset.bl_idname, text=preset).preset = preset + grid = layout.grid_flow(columns=2, even_columns=True, even_rows=True) + for preset in list(SPLIT_TYPE_PRESETS.keys()): + grid.operator(I3D_IO_OT_set_split_type_preset.bl_idname, text=preset).preset = preset + + layout.separator() + layout.operator(I3D_IO_OT_set_split_type_preset.bl_idname, text="Default").preset = "Default" @register