예제 #1
0
    def __start__(self, fade=False):
        for cue in Application().cue_model:
            action = self.__adjust_action(cue, CueAction(self.action))
            if action:
                cue.execute(action=action)

        return False
예제 #2
0
    def setCurrentAction(self, action):
        if self.mode is CueActionComboBox.Mode.Value:
            name = CueAction(action).name
        elif self.mode is CueActionComboBox.Mode.Action:
            name = action.name
        else:
            name = action

        self.setCurrentText(translate('CueAction', name))
예제 #3
0
    def setEditorData(self, comboBox, index):
        value = index.data(Qt.EditRole)
        if self.mode == CueActionDelegate.Mode.Action:
            action = value
        elif self.mode == CueActionDelegate.Mode.Name:
            action = CueAction[value]
        else:
            action = CueAction(value)

        comboBox.setCurrentText(translate('CueAction', action.name))
예제 #4
0
    def _text(self, painter, option, index):
        value = index.data(Qt.EditRole)
        if self.mode == CueActionDelegate.Mode.Action:
            name = value.name
        elif self.mode == CueActionDelegate.Mode.Name:
            name = value
        else:
            name = CueAction(value).name

        return translate('CueAction', name)
예제 #5
0
    def cue_changed(self, cue, property_name, value):
        if property_name == 'controller':
            self.delete_from_map(cue)

            for protocol in self.__protocols:
                for key, action in value.get(protocol, []):
                    if key not in self.__map:
                        self.__map[key] = set()

                    self.__map[key].add(cue)
                    self.__actions_map[(key, cue)] = CueAction(action)
예제 #6
0
    def load_settings(self, settings):
        # Remove the edited cue from the list of possible targets
        edited_cue = Application().cue_model.get(settings.get('id'))
        if edited_cue:
            self.cue_select.remove_cue(edited_cue)

        for trigger, targets in settings.get('triggers', {}).items():
            for target, action in targets:
                target = Application().cue_model.get(target)
                if target is not None:
                    self.triggersModel.appendRow(target.__class__, trigger,
                                                 target.id, CueAction(action))
    def __start__(self, fade=False):
        if self.relative:
            index = self.index + self.target_index
        else:
            index = self.target_index

        try:
            cue = Application().layout.model_adapter.item(index)
            if cue is not self:
                cue.execute(CueAction(self.action))
        except IndexError:
            pass
예제 #8
0
    def __execute(self, trigger):
        for target_id, action in self.triggers.get(trigger, []):
            target = Application().cue_model.get(target_id)

            if target is not None:
                target.execute(CueAction(action))
예제 #9
0
 def load_settings(self, settings):
     for target_id, action in settings.get('targets', []):
         target = Application().cue_model.get(target_id)
         if target is not None:
             self._add_cue(target, CueAction(action))