Merge pull request #562 from pypeclub/bugfix/intent_value_setting

Intent publish setting wasn't working with default value
This commit is contained in:
Milan Kolar 2020-10-05 18:10:47 +02:00 committed by GitHub
commit f9a3fa8d71
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 25 additions and 19 deletions

View file

@ -314,12 +314,15 @@ class ExtractBurnin(pype.api.Extractor):
"comment": context.data.get("comment") or ""
})
intent_label = context.data.get("intent")
intent_label = context.data.get("intent") or ""
if intent_label and isinstance(intent_label, dict):
intent_label = intent_label.get("label")
value = intent_label.get("value")
if value:
intent_label = intent_label["label"]
else:
intent_label = ""
if intent_label:
burnin_data["intent"] = intent_label
burnin_data["intent"] = intent_label
temp_data = {
"frame_start": frame_start,

View file

@ -225,7 +225,6 @@ class Window(QtWidgets.QDialog):
intent_model = model.IntentModel()
intent_box.setModel(intent_model)
intent_box.currentIndexChanged.connect(self.on_intent_changed)
comment_intent_widget = QtWidgets.QWidget()
comment_intent_layout = QtWidgets.QHBoxLayout(comment_intent_widget)
@ -563,6 +562,20 @@ class Window(QtWidgets.QDialog):
):
instance_item.setData(enable_value, Roles.IsEnabledRole)
def _add_intent_to_context(self):
if (
self.intent_model.has_items
and "intent" not in self.controller.context.data
):
idx = self.intent_model.index(self.intent_box.currentIndex(), 0)
intent_value = self.intent_model.data(idx, Roles.IntentItemValue)
intent_label = self.intent_model.data(idx, QtCore.Qt.DisplayRole)
self.controller.context.data["intent"] = {
"value": intent_value,
"label": intent_label
}
def on_instance_toggle(self, index, state=None):
"""An item is requesting to be toggled"""
if not index.data(Roles.IsOptionalRole):
@ -618,12 +631,16 @@ class Window(QtWidgets.QDialog):
self.comment_box.setEnabled(False)
self.intent_box.setEnabled(False)
self._add_intent_to_context()
self.validate()
def on_play_clicked(self):
self.comment_box.setEnabled(False)
self.intent_box.setEnabled(False)
self._add_intent_to_context()
self.publish()
def on_reset_clicked(self):
@ -652,18 +669,6 @@ class Window(QtWidgets.QDialog):
"""The user has typed a comment."""
self.controller.context.data["comment"] = self.comment_box.text()
def on_intent_changed(self):
idx = self.intent_model.index(self.intent_box.currentIndex(), 0)
intent_value = self.intent_model.data(idx, Roles.IntentItemValue)
intent_label = self.intent_model.data(idx, QtCore.Qt.DisplayRole)
# TODO move to play
if self.controller.context:
self.controller.context.data["intent"] = {
"value": intent_value,
"label": intent_label
}
def on_about_to_process(self, plugin, instance):
"""Reflect currently running pair in GUI"""
if instance is None:
@ -754,8 +759,6 @@ class Window(QtWidgets.QDialog):
self.comment_box.setText(comment or None)
self.comment_box.setEnabled(True)
if self.intent_model.has_items:
self.on_intent_changed()
self.intent_box.setEnabled(True)
# Refresh tab