SVN: UX improvements #136
@ -132,6 +132,8 @@ class May_Modifiy_Current_Blend(SVN_Operator_Single_File, Warning_Operator):
|
||||
super().execute(context)
|
||||
if self.reload_file:
|
||||
bpy.ops.wm.open_mainfile(filepath=bpy.data.filepath, load_ui=False)
|
||||
else:
|
||||
context.scene.svn.file_is_outdated = True
|
||||
return {'FINISHED'}
|
||||
|
||||
|
||||
|
@ -3,10 +3,9 @@
|
||||
# (c) 2022, Blender Foundation - Demeter Dzadik
|
||||
|
||||
from .util import get_addon_prefs
|
||||
from bpy.props import StringProperty, PointerProperty
|
||||
from bpy.props import StringProperty, PointerProperty, BoolProperty
|
||||
from bpy.types import PropertyGroup
|
||||
import bpy
|
||||
from pathlib import Path
|
||||
from typing import Optional, Dict, Any, List, Tuple, Set
|
||||
from . import wheels
|
||||
# This will load the dateutil and BAT wheel files.
|
||||
@ -27,6 +26,12 @@ class SVN_scene_properties(PropertyGroup):
|
||||
description="Absolute directory path of the SVN repository's root in the file system",
|
||||
)
|
||||
|
||||
file_is_outdated: BoolProperty(
|
||||
name="File Is Outdated",
|
||||
description="Set to True when downloading a newer version of this file without reloading it, so that the warning in the UI can persist. This won't work in some cases involving multiple running Blender instances",
|
||||
default=False
|
||||
)
|
||||
|
||||
def get_repo(self, context) -> Optional['SVN_repository']:
|
||||
"""Return the active repository."""
|
||||
prefs = get_addon_prefs(context)
|
||||
|
@ -17,9 +17,6 @@ def draw_outdated_file_warning(self, context):
|
||||
# If the current file is not in an SVN repository.
|
||||
return
|
||||
|
||||
if current_file.status == 'normal' and current_file.repos_status == 'none':
|
||||
return
|
||||
|
||||
layout = self.layout
|
||||
row = layout.row()
|
||||
row.alert = True
|
||||
@ -27,7 +24,7 @@ def draw_outdated_file_warning(self, context):
|
||||
if current_file.status == 'conflicted':
|
||||
row.operator('svn.resolve_conflict',
|
||||
text="SVN: This .blend file is conflicted.", icon='ERROR')
|
||||
elif current_file.repos_status != 'none':
|
||||
elif current_file.repos_status != 'none' or context.scene.svn.file_is_outdated:
|
||||
op = row.operator('svn.revert_and_update_file', text="SVN: This .blend file is outdated.", icon='ERROR')
|
||||
op.file_rel_path = repo.current_blend_file.svn_path
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user