1414
1515import meshroom
1616from meshroom .core import pluginManager
17+ from meshroom .core .submitter import BaseSubmitter
1718from meshroom .core .taskManager import TaskManager
1819from meshroom .common import Property , Variant , Signal , Slot
1920
@@ -265,6 +266,7 @@ def __init__(self, inputArgs):
265266
266267 # instantiate Reconstruction object
267268 self ._undoStack = commands .UndoStack (self )
269+ self ._defaultSubmitterName = os .environ .get ('MESHROOM_DEFAULT_SUBMITTER' , '' )
268270 self ._taskManager = TaskManager (self )
269271 self ._activeProject = Reconstruction (undoStack = self ._undoStack , taskManager = self ._taskManager , defaultPipeline = args .pipeline , parent = self )
270272 self ._activeProject .setSubmitLabel (args .submitLabel )
@@ -698,7 +700,28 @@ def _getEnvironmentVariableValue(self, key: str, defaultValue: bool) -> bool:
698700 if val != True and str (val ).lower () in ("0" , "false" , "off" ):
699701 return False
700702 return True
701-
703+
704+ def _submittersList (self ):
705+ """
706+ Get the list of available submitters
707+ Model provides :
708+ name : the name of the submitter
709+ isDefault : True if this is the current submitter
710+ """
711+ submittersList = []
712+ for s in meshroom .core .submitters :
713+ submitterName = s .name if isinstance (s , BaseSubmitter ) else s
714+ submittersList .append ({
715+ "name" : submitterName ,
716+ "isDefault" : True if submitterName == self ._defaultSubmitterName else False
717+ })
718+ return submittersList
719+
720+ @Slot (str )
721+ def setDefaultSubmitter (self , name ):
722+ logging .warning (f"Submitter is now set to : { name } " )
723+ self ._defaultSubmitterName = name
724+
702725 activeProjectChanged = Signal ()
703726 activeProject = Property (Variant , lambda self : self ._activeProject , notify = activeProjectChanged )
704727
@@ -713,3 +736,4 @@ def _getEnvironmentVariableValue(self, key: str, defaultValue: bool) -> bool:
713736 recentImportedImagesFolders = Property ("QVariantList" , _recentImportedImagesFolders , notify = recentImportedImagesFoldersChanged )
714737 default8bitViewerEnabled = Property (bool , _default8bitViewerEnabled , constant = True )
715738 defaultSequencePlayerEnabled = Property (bool , _defaultSequencePlayerEnabled , constant = True )
739+ submittersListModel = Property ("QVariantList" , _submittersList , constant = True )
0 commit comments