feat: expose commit to the user

This commit is contained in:
Swann Martinez
2019-08-28 13:13:32 +02:00
parent b3435eae56
commit da58346517
3 changed files with 27 additions and 2 deletions

View File

@ -273,6 +273,25 @@ class SessionApply(bpy.types.Operator):
return {"FINISHED"} return {"FINISHED"}
class SessionCommit(bpy.types.Operator):
bl_idname = "session.commit"
bl_label = "commit and push the target to other clients"
bl_description = "commit and push the target to other clients"
bl_options = {"REGISTER"}
target = bpy.props.StringProperty()
@classmethod
def poll(cls, context):
return True
def execute(self, context):
global client
client.commit(uuid=self.target)
client.push(uuid=self.target)
return {"FINISHED"}
classes = ( classes = (
SessionStartOperator, SessionStartOperator,
@ -281,6 +300,7 @@ classes = (
SessionSnapUserOperator, SessionSnapUserOperator,
SessionPropertyRightOperator, SessionPropertyRightOperator,
SessionApply, SessionApply,
SessionCommit,
) )

7
ui.py
View File

@ -1,6 +1,6 @@
import bpy import bpy
from . import operators from . import operators
from .libs.replication.replication.constants import FETCHED, ERROR from .libs.replication.replication.constants import FETCHED, ERROR, MODIFIED
from .bl_types.bl_user import BlUser from .bl_types.bl_user import BlUser
@ -213,6 +213,11 @@ def draw_property(context, parent, property_uuid, level=0):
"session.apply", "session.apply",
text="", text="",
icon=PROP_STATES[item.state]).target = item.uuid icon=PROP_STATES[item.state]).target = item.uuid
elif item.state == MODIFIED:
detail_item_box.operator(
"session.commit",
text="",
icon=PROP_STATES[item.state]).target = item.uuid
else: else:
detail_item_box.label(text="", icon=PROP_STATES[item.state]) detail_item_box.label(text="", icon=PROP_STATES[item.state])