Store some flamenco job preferences on a per-manager basis

Managers often require distinct input and output path, which can now
be saved and loaded from the User Preferences, as well as in the
Flamenco panel.
This commit is contained in:
2018-07-25 15:01:39 +02:00
parent 62d16fff35
commit 973dafcc3a
2 changed files with 58 additions and 3 deletions

View File

@@ -68,7 +68,7 @@ class FlamencoManagerGroup(PropertyGroup):
items=available_managers,
name='Flamenco Manager',
description='Which Flamenco Manager to use for jobs',
update=project_specific.store,
update=project_specific.updated_manager,
)
status = EnumProperty(
@@ -89,6 +89,7 @@ class FlamencoManagerGroup(PropertyGroup):
@available_managers.setter
def available_managers(self, new_managers):
self['available_managers'] = new_managers
project_specific.updated_manager()
class FlamencoPollMixin:
@@ -676,6 +677,24 @@ class FLAMENCO_PT_render(bpy.types.Panel, FlamencoPollMixin):
prefs = preferences()
labeled_row = layout.split(0.25, align=True)
labeled_row.label('Manager:')
prop_btn_row = labeled_row.row(align=True)
bcp = prefs.flamenco_manager
if bcp.status in {'NONE', 'IDLE'}:
if not bcp.available_managers or not bcp.manager:
prop_btn_row.operator('flamenco.managers',
text='Find Flamenco Managers',
icon='FILE_REFRESH')
else:
prop_btn_row.prop(bcp, 'manager', text='')
prop_btn_row.operator('flamenco.managers',
text='',
icon='FILE_REFRESH')
else:
prop_btn_row.label('Fetching available managers.')
labeled_row = layout.split(0.25, align=True)
labeled_row.label('Job Type:')
labeled_row.prop(context.scene, 'flamenco_render_job_type', text='')