diff --git a/src/blenderbim/blenderbim/bim/ifc.py b/src/blenderbim/blenderbim/bim/ifc.py index 8d31281804..be63f87669 100644 --- a/src/blenderbim/blenderbim/bim/ifc.py +++ b/src/blenderbim/blenderbim/bim/ifc.py @@ -321,6 +321,7 @@ class IfcStore: @staticmethod def execute_ifc_operator(operator, context, is_invoke=False): + bpy.context.scene.BIMProperties.is_dirty = True is_top_level_operator = not bool(IfcStore.current_transaction) if is_top_level_operator: diff --git a/src/blenderbim/blenderbim/bim/module/project/operator.py b/src/blenderbim/blenderbim/bim/module/project/operator.py index ad7b428306..ef6decdec4 100644 --- a/src/blenderbim/blenderbim/bim/module/project/operator.py +++ b/src/blenderbim/blenderbim/bim/module/project/operator.py @@ -1105,6 +1105,7 @@ class ExportIFC(bpy.types.Operator): save_blend_file = bool(bpy.data.is_saved and bpy.data.is_dirty and bpy.data.filepath) if save_blend_file: bpy.ops.wm.save_mainfile(filepath=bpy.data.filepath) + bpy.context.scene.BIMProperties.is_dirty = False blenderbim.bim.handler.refresh_ui_data() self.report( {"INFO"}, diff --git a/src/blenderbim/blenderbim/bim/module/project/ui.py b/src/blenderbim/blenderbim/bim/module/project/ui.py index 485b04908e..7a4947b7c2 100644 --- a/src/blenderbim/blenderbim/bim/module/project/ui.py +++ b/src/blenderbim/blenderbim/bim/module/project/ui.py @@ -206,7 +206,10 @@ class BIM_PT_project(Panel): if props.ifc_file: row = self.layout.row(align=True) - row.label(text="Saved", icon="EXPORT") + if context.scene.BIMProperties.is_dirty: + row.label(text="Saved*", icon="EXPORT") + else: + row.label(text="Saved", icon="EXPORT") row.label(text=ProjectData.data["last_saved"]) row = self.layout.row(align=True) diff --git a/src/blenderbim/blenderbim/bim/prop.py b/src/blenderbim/blenderbim/bim/prop.py index 9188d138d3..6e00811b26 100644 --- a/src/blenderbim/blenderbim/bim/prop.py +++ b/src/blenderbim/blenderbim/bim/prop.py @@ -351,6 +351,7 @@ class BIMTabProperties(PropertyGroup): class BIMProperties(PropertyGroup): + is_dirty: BoolProperty(name="Is Dirty", default=False) schema_dir: StringProperty( default=os.path.join(cwd, "schema") + os.path.sep, name="Schema Directory", update=update_schema_dir )