From 47af955dd15d9613e77415a9e883ffc6afdacb48 Mon Sep 17 00:00:00 2001 From: Gorgious56 Date: Thu, 21 May 2026 09:48:00 +0200 Subject: [PATCH] Simplify pending edit popup text --- .../bonsai/bim/module/project/operator.py | 32 +++---------------- 1 file changed, 5 insertions(+), 27 deletions(-) diff --git a/src/bonsai/bonsai/bim/module/project/operator.py b/src/bonsai/bonsai/bim/module/project/operator.py index 92ff97d9b1..96e88e15b2 100644 --- a/src/bonsai/bonsai/bim/module/project/operator.py +++ b/src/bonsai/bonsai/bim/module/project/operator.py @@ -1909,30 +1909,11 @@ class ExportIFC(bpy.types.Operator, ExportHelper): def _draw_parametric_confirm(self, layout: bpy.types.UILayout) -> None: col = layout.column(align=True) - col.label(text="Saving will commit all in-progress parametric edits to IFC") - col.label(text="before writing the file.") - layout.separator() - # Auto-derive the noun list from the parametric registry so the dialog stays - # in sync as new parametric element types are added. - nouns = [feature.name for feature in tool.Parametric.EDIT_TYPES] - if len(nouns) > 1: - noun_list = ", ".join(nouns[:-1]) + " or " + nouns[-1] - else: - noun_list = nouns[0] if nouns else "" - col = layout.column(align=True) - col.label(text="For example, if you are editing a parametric") - col.label(text=f"{noun_list}, all pending changes will be applied") - col.label(text="to the IFC file first.") - layout.separator() - col = layout.column(align=True) - col.label(text='Click "Commit & Save" to apply the pending edits and save,') - col.label(text="or press Esc to abort the save.") + col.label(text="Saving will apply all parametric edits (stairs, walls, etc.).") layout.separator() box = layout.box() col = box.column(align=True) - col.label(text="To disable this prompt and always auto-commit silently,", icon="INFO") - col.label(text='turn off "Confirm Before Auto-Committing Parametric Edits') - col.label(text='on Save" in the Bonsai add-on preferences.') + col.label(text="You can disable this prompt in Bonsai preferences", icon="INFO") def invoke(self, context, event): if not tool.Ifc.get(): @@ -1944,19 +1925,16 @@ class ExportIFC(bpy.types.Operator, ExportHelper): filepath = props.ifc_file if not filepath or self.should_save_as: return ExportHelper.invoke(self, context, event) - + # Set filepath before showing pending edits prompt : self.filepath = str(tool.Blender.ensure_blender_path_is_abs(Path(filepath))) prefs = tool.Blender.get_addon_preferences() if prefs.prompt_auto_commit_parametric_edits and tool.Parametric.get_pending_edits(): - # `invoke_props_dialog` fires `execute()` on OK using current properties, - # so `self.filepath` must already be set above. The `confirm_parametric_edits` - # flag routes `draw()` to the multi-line confirm body instead of the file dialog. self.confirm_parametric_edits = True return context.window_manager.invoke_props_dialog( self, - width=460, + width=400, title="Pending Parametric Edits", - confirm_text="Commit & Save", + confirm_text="Apply Edits & Save", ) return self.execute(context)