Add condition "scene has not changed"

This commit is contained in:
WarmUpTill 2021-09-18 09:12:31 +02:00 committed by WarmUpTill
parent 64fd8dd50d
commit 97cbcd7e61
3 changed files with 8 additions and 1 deletions

View File

@ -96,6 +96,7 @@ AdvSceneSwitcher.condition.scene="Scene"
AdvSceneSwitcher.condition.scene.type.current="Current scene is"
AdvSceneSwitcher.condition.scene.type.previous="Previous scene is"
AdvSceneSwitcher.condition.scene.type.changed="Scene chagned"
AdvSceneSwitcher.condition.scene.type.notChanged="Scene has not changed"
AdvSceneSwitcher.condition.scene.entry="{{sceneType}} {{scenes}}"
AdvSceneSwitcher.condition.window="Window"
AdvSceneSwitcher.condition.window.entry.line1="{{windows}} exist and ..."

View File

@ -9,6 +9,7 @@ enum class SceneType {
CURRENT,
PREVIOUS,
CHANGED,
NOTCHANGED,
};
class MacroConditionScene : public MacroCondition {

View File

@ -14,6 +14,8 @@ static std::map<SceneType, std::string> sceneTypes = {
{SceneType::CURRENT, "AdvSceneSwitcher.condition.scene.type.current"},
{SceneType::PREVIOUS, "AdvSceneSwitcher.condition.scene.type.previous"},
{SceneType::CHANGED, "AdvSceneSwitcher.condition.scene.type.changed"},
{SceneType::NOTCHANGED,
"AdvSceneSwitcher.condition.scene.type.notChanged"},
};
bool MacroConditionScene::CheckCondition()
@ -31,6 +33,8 @@ bool MacroConditionScene::CheckCondition()
return switcher->previousScene == _scene.GetScene(false);
case SceneType::CHANGED:
return sceneChanged;
case SceneType::NOTCHANGED:
return !sceneChanged;
default:
break;
}
@ -119,7 +123,8 @@ void MacroConditionSceneEdit::TypeChanged(int value)
void MacroConditionSceneEdit::SetWidgetVisibility()
{
_scenes->setVisible(_entryData->_type != SceneType::CHANGED);
_scenes->setVisible(_entryData->_type == SceneType::CURRENT ||
_entryData->_type == SceneType::PREVIOUS);
}
void MacroConditionSceneEdit::UpdateEntryData()