diff --git a/data/locale/de-DE.ini b/data/locale/de-DE.ini index 7787172b..bdd0e0af 100644 --- a/data/locale/de-DE.ini +++ b/data/locale/de-DE.ini @@ -75,7 +75,7 @@ AdvSceneSwitcher.macroTab.edit.action="Aktions-Typ:" AdvSceneSwitcher.macroTab.add="Neues Makro hinzufügen" AdvSceneSwitcher.macroTab.name="Name:" AdvSceneSwitcher.macroTab.run="Makro ausführen" -AdvSceneSwitcher.macroTab.runFail="Ausführen von \"%1\" fehlgeschlagen!\nEntweder ist eine der Aktionen fehlgeschlagen oder das Makro wird bereits ausgeführt." +AdvSceneSwitcher.macroTab.runFail="Ausführen von \"%1\" fehlgeschlagen!\nEntweder ist eine der Aktionen fehlgeschlagen oder das Makro wird bereits ausgeführt.\nSoll die aktuelle Ausführung gestoppt werden?" AdvSceneSwitcher.macroTab.runInParallel="Parallel zu anderen Makros ausführen" AdvSceneSwitcher.macroTab.onChange="Nur bei Änderung ausführen" AdvSceneSwitcher.macroTab.defaultname="Makro %1" diff --git a/data/locale/en-US.ini b/data/locale/en-US.ini index 073c0473..9486c752 100644 --- a/data/locale/en-US.ini +++ b/data/locale/en-US.ini @@ -94,7 +94,7 @@ AdvSceneSwitcher.macroTab.name="Name:" AdvSceneSwitcher.macroTab.run="Run macro" AdvSceneSwitcher.macroTab.run.tooltip="Run all macro actions regardless of condition.\nIf else actions are available, hold Shift and click the button to execute them instead." AdvSceneSwitcher.macroTab.runElse="Run macro (else)" -AdvSceneSwitcher.macroTab.runFail="Running \"%1\" failed!\nEither one of the actions failed or the macro is running already." +AdvSceneSwitcher.macroTab.runFail="Running \"%1\" failed!\nEither one of the actions failed or the macro is running already.\nDo you want to stop it?" AdvSceneSwitcher.macroTab.runInParallel="Run macro in parallel to other macros" AdvSceneSwitcher.macroTab.onChange="Perform actions only on condition change" AdvSceneSwitcher.macroTab.defaultname="Macro %1" diff --git a/data/locale/es-ES.ini b/data/locale/es-ES.ini index 51a56276..3ff5cfc1 100644 --- a/data/locale/es-ES.ini +++ b/data/locale/es-ES.ini @@ -72,7 +72,6 @@ AdvSceneSwitcher.macroTab.edit.action="Tipo de acción:" AdvSceneSwitcher.macroTab.add="Agregar nueva macro" AdvSceneSwitcher.macroTab.name="Nombre:" AdvSceneSwitcher.macroTab.run="Ejecutar macro" -AdvSceneSwitcher.macroTab.runFail="Error al ejecutar \"%1\" si se ha producido un error en una de las acciones o si la macro ya se está ejecutando." AdvSceneSwitcher.macroTab.runInParallel="Ejecutar macro en paralelo a otras macros" AdvSceneSwitcher.macroTab.onChange="Realizar acciones solo en el cambio de condición" AdvSceneSwitcher.macroTab.defaultname="Macro %1" diff --git a/data/locale/fr-FR.ini b/data/locale/fr-FR.ini index a8b15589..49abd6d5 100644 --- a/data/locale/fr-FR.ini +++ b/data/locale/fr-FR.ini @@ -78,7 +78,6 @@ AdvSceneSwitcher.macroTab.edit.action="Type d'action :" AdvSceneSwitcher.macroTab.add="Ajouter une nouvelle macro" AdvSceneSwitcher.macroTab.name="Nom :" AdvSceneSwitcher.macroTab.run="Exécuter la macro" -AdvSceneSwitcher.macroTab.runFail="Échec de l'exécution de \"%1\" !\nSoit l'une des actions a échoué, soit la macro est déjà en cours d'exécution." AdvSceneSwitcher.macroTab.runInParallel="Exécuter la macro en parallèle avec d'autres macros" AdvSceneSwitcher.macroTab.onChange="Exécuter des actions uniquement en cas de changement de condition" AdvSceneSwitcher.macroTab.defaultname="Macro %1" diff --git a/data/locale/tr-TR.ini b/data/locale/tr-TR.ini index 14c3f12d..50cf4cb1 100644 --- a/data/locale/tr-TR.ini +++ b/data/locale/tr-TR.ini @@ -72,7 +72,6 @@ AdvSceneSwitcher.macroTab.edit.action="Eylem türü:" AdvSceneSwitcher.macroTab.add="Yeni Makro ekle" AdvSceneSwitcher.macroTab.name="İsim:" AdvSceneSwitcher.macroTab.run="Makro Çalıştırma" -AdvSceneSwitcher.macroTab.runFail="\"%1\" çalıştırılamadı!\n Eylemlerden biri başarısız oldu veya makro zaten çalışıyor." AdvSceneSwitcher.macroTab.runInParallel="Makroyu diğer makrolara paralel olarak çalıştırın" AdvSceneSwitcher.macroTab.onChange="Eylemleri yalnızca koşul değişikliğinde gerçekleştirin" AdvSceneSwitcher.macroTab.defaultname="Makro %1" diff --git a/data/locale/zh-CN.ini b/data/locale/zh-CN.ini index ff2666f0..04e528ff 100644 --- a/data/locale/zh-CN.ini +++ b/data/locale/zh-CN.ini @@ -77,7 +77,6 @@ AdvSceneSwitcher.macroTab.edit.action="动作类型:" AdvSceneSwitcher.macroTab.add="添加新宏" AdvSceneSwitcher.macroTab.name="名称:" AdvSceneSwitcher.macroTab.run="运行宏" -AdvSceneSwitcher.macroTab.runFail="运行 \"%1\" 失败!\n其中一个操作失败,或者宏已在运行." AdvSceneSwitcher.macroTab.runInParallel="与其他宏同时运行宏" AdvSceneSwitcher.macroTab.onChange="仅在条件更改时执行操作" AdvSceneSwitcher.macroTab.defaultname="宏 %1" diff --git a/lib/macro/macro-run-button.cpp b/lib/macro/macro-run-button.cpp index ef9e82e5..cab8336d 100644 --- a/lib/macro/macro-run-button.cpp +++ b/lib/macro/macro-run-button.cpp @@ -96,11 +96,15 @@ void MacroRunButton::Pressed() bool ret = _elseStateActive ? macro->PerformActions(false, true, true) : macro->PerformActions(true, true, true); + if (ret) { + return; + } - if (!ret) { - QString err = - obs_module_text("AdvSceneSwitcher.macroTab.runFail"); - DisplayMessage(err.arg(QString::fromStdString(macro->Name()))); + QString err = obs_module_text("AdvSceneSwitcher.macroTab.runFail"); + const bool abortMacro = DisplayMessage( + err.arg(QString::fromStdString(macro->Name())), true); + if (abortMacro) { + macro->Stop(); } }