diff --git a/data/locale/de-DE.ini b/data/locale/de-DE.ini
index baf68671..7349ed3d 100644
--- a/data/locale/de-DE.ini
+++ b/data/locale/de-DE.ini
@@ -26,7 +26,6 @@ AdvSceneSwitcher.generalTab.generalBehavior.onNoMatch.switchToRandom="Wechsle zu
AdvSceneSwitcher.generalTab.generalBehavior.onNoMatch.switchTo="Wechsle zu:"
AdvSceneSwitcher.generalTab.generalBehavior.cooldown="Nach Ausführen von Aktionen überspringe das Ausführen von Aktionen für"
AdvSceneSwitcher.generalTab.generalBehavior.cooldownHint="In diesem Zeitraum werden potentielle erfüllte Bedingungen ignoriert!"
-AdvSceneSwitcher.generalTab.generalBehavior.verboseLogging="Ausführliches Logging"
AdvSceneSwitcher.generalTab.generalBehavior.saveWindowGeo="Fensterposition und -größe speichern"
AdvSceneSwitcher.generalTab.generalBehavior.showTrayNotifications="Benachrichtigungen im System-Tray anzeigen"
AdvSceneSwitcher.generalTab.generalBehavior.disableUIHints="Deaktiviere UI Tipps"
diff --git a/data/locale/en-US.ini b/data/locale/en-US.ini
index 6e94a970..55ba257d 100644
--- a/data/locale/en-US.ini
+++ b/data/locale/en-US.ini
@@ -29,11 +29,11 @@ AdvSceneSwitcher.generalTab.generalBehavior.onNoMatch.switchTo="Switch to:"
AdvSceneSwitcher.generalTab.generalBehavior.cooldown="After performing actions skip performing actions for"
AdvSceneSwitcher.generalTab.generalBehavior.cooldownHint="During this time potential matches will be ignored!"
AdvSceneSwitcher.generalTab.generalBehavior.logLevel="Log level:"
+AdvSceneSwitcher.generalTab.generalBehavior.logLevel.disable="Disable logging"
AdvSceneSwitcher.generalTab.generalBehavior.logLevel.default="Default"
AdvSceneSwitcher.generalTab.generalBehavior.logLevel.logMacro="Log executed macros"
AdvSceneSwitcher.generalTab.generalBehavior.logLevel.logAction="Log performed actions"
AdvSceneSwitcher.generalTab.generalBehavior.logLevel.verbose="Verbose logging"
-AdvSceneSwitcher.generalTab.generalBehavior.verboseLogging="Enable verbose logging"
AdvSceneSwitcher.generalTab.generalBehavior.saveWindowGeo="Save window position and size"
AdvSceneSwitcher.generalTab.generalBehavior.showTrayNotifications="Show system tray notifications"
AdvSceneSwitcher.generalTab.generalBehavior.disableUIHints="Disable UI hints"
diff --git a/data/locale/es-ES.ini b/data/locale/es-ES.ini
index 93530ee0..a2b0790f 100644
--- a/data/locale/es-ES.ini
+++ b/data/locale/es-ES.ini
@@ -25,7 +25,6 @@ AdvSceneSwitcher.generalTab.generalBehavior.onNoMatch.dontSwitch="No cambiar"
AdvSceneSwitcher.generalTab.generalBehavior.onNoMatch.switchToRandom="Cambiar a una escena aleatoria"
AdvSceneSwitcher.generalTab.generalBehavior.onNoMatch.switchTo="Cambiar a:"
AdvSceneSwitcher.generalTab.generalBehavior.cooldownHint="¡Durante este tiempo, se ignorarán las posibles coincidencias!"
-AdvSceneSwitcher.generalTab.generalBehavior.verboseLogging="Habilitar el registro detallado"
AdvSceneSwitcher.generalTab.generalBehavior.saveWindowGeo="Guardar la posición y el tamaño de la ventana"
AdvSceneSwitcher.generalTab.generalBehavior.showTrayNotifications="Mostrar notificaciones del sistema"
AdvSceneSwitcher.generalTab.generalBehavior.disableUIHints="Deshabilitar sugerencias de interfaz de usuario"
diff --git a/data/locale/fr-FR.ini b/data/locale/fr-FR.ini
index a2bb2d17..d764b8df 100644
--- a/data/locale/fr-FR.ini
+++ b/data/locale/fr-FR.ini
@@ -26,7 +26,6 @@ AdvSceneSwitcher.generalTab.generalBehavior.onNoMatch.switchToRandom="Basculer v
AdvSceneSwitcher.generalTab.generalBehavior.onNoMatch.switchTo="Basculer vers :"
AdvSceneSwitcher.generalTab.generalBehavior.cooldown="Après avoir effectué des actions, sauter l'exécution d'actions pendant"
AdvSceneSwitcher.generalTab.generalBehavior.cooldownHint="Pendant cette période, les correspondances potentielles seront ignorées !"
-AdvSceneSwitcher.generalTab.generalBehavior.verboseLogging="Activer les journaux détaillés"
AdvSceneSwitcher.generalTab.generalBehavior.saveWindowGeo="Enregistrer la position et la taille de la fenêtre"
AdvSceneSwitcher.generalTab.generalBehavior.showTrayNotifications="Afficher les notifications dans la zone de notification système"
AdvSceneSwitcher.generalTab.generalBehavior.disableUIHints="Désactiver les indications de l'interface utilisateur"
diff --git a/data/locale/ja-JP.ini b/data/locale/ja-JP.ini
index 4e70581c..b2764db7 100644
--- a/data/locale/ja-JP.ini
+++ b/data/locale/ja-JP.ini
@@ -30,7 +30,6 @@ AdvSceneSwitcher.generalTab.generalBehavior.logLevel="ログレベル:"
AdvSceneSwitcher.generalTab.generalBehavior.logLevel.default="デフォルト"
AdvSceneSwitcher.generalTab.generalBehavior.logLevel.logAction="実行されたアクションのログ"
AdvSceneSwitcher.generalTab.generalBehavior.logLevel.verbose="詳細ログ(Verbose)"
-AdvSceneSwitcher.generalTab.generalBehavior.verboseLogging="詳細ログを有効にする(生成されるログファイルのサイズが増加します)"
AdvSceneSwitcher.generalTab.generalBehavior.saveWindowGeo="ウィンドウのサイズと位置を記憶する"
AdvSceneSwitcher.generalTab.generalBehavior.showTrayNotifications="システムトレイ通知を表示"
AdvSceneSwitcher.generalTab.generalBehavior.disableUIHints="UIヒントを無効にする"
diff --git a/data/locale/pt-BR.ini b/data/locale/pt-BR.ini
index 68308fc4..c9773d7d 100644
--- a/data/locale/pt-BR.ini
+++ b/data/locale/pt-BR.ini
@@ -30,7 +30,6 @@ AdvSceneSwitcher.generalTab.generalBehavior.logLevel="Nível de log:"
AdvSceneSwitcher.generalTab.generalBehavior.logLevel.default="Padrão"
AdvSceneSwitcher.generalTab.generalBehavior.logLevel.logAction="Registrar ações executadas"
AdvSceneSwitcher.generalTab.generalBehavior.logLevel.verbose="Registro detalhado"
-AdvSceneSwitcher.generalTab.generalBehavior.verboseLogging="Ativar registro detalhado"
AdvSceneSwitcher.generalTab.generalBehavior.saveWindowGeo="Salvar posição e tamanho da janela"
AdvSceneSwitcher.generalTab.generalBehavior.showTrayNotifications="Mostrar notificações na área de notificação"
AdvSceneSwitcher.generalTab.generalBehavior.disableUIHints="Desativar dicas de interface"
diff --git a/data/locale/ru-RU.ini b/data/locale/ru-RU.ini
index c7565584..f266370b 100644
--- a/data/locale/ru-RU.ini
+++ b/data/locale/ru-RU.ini
@@ -25,7 +25,6 @@ AdvSceneSwitcher.generalTab.generalBehavior.onNoMatch.dontSwitch="Не пере
AdvSceneSwitcher.generalTab.generalBehavior.onNoMatch.switchToRandom="Переключиться на любую сцену на вкладке Random"
AdvSceneSwitcher.generalTab.generalBehavior.onNoMatch.switchTo="Переключиться на:"
AdvSceneSwitcher.generalTab.generalBehavior.cooldownHint="В течение этого времени потенциальные совпадения будут игнорироваться!"
-AdvSceneSwitcher.generalTab.generalBehavior.verboseLogging="Включить ведение подробного журнала"
AdvSceneSwitcher.generalTab.generalBehavior.saveWindowGeo="Сохранять положение и размер окна"
AdvSceneSwitcher.generalTab.generalBehavior.disableUIHints="Отключить подсказки пользовательского интерфейса"
AdvSceneSwitcher.generalTab.priority="Приоритет"
diff --git a/data/locale/tr-TR.ini b/data/locale/tr-TR.ini
index 4fdd4600..a3fae935 100644
--- a/data/locale/tr-TR.ini
+++ b/data/locale/tr-TR.ini
@@ -26,7 +26,6 @@ AdvSceneSwitcher.generalTab.generalBehavior.onNoMatch.switchToRandom="Rastgele s
AdvSceneSwitcher.generalTab.generalBehavior.onNoMatch.switchTo="Değiştirmek:"
AdvSceneSwitcher.generalTab.generalBehavior.cooldown="Bir eşleşmeden sonra aşağıdakiler için işlem yapmayın:"
AdvSceneSwitcher.generalTab.generalBehavior.cooldownHint="Bu süre zarfında olası eşleşmeler göz ardı edilecektir!"
-AdvSceneSwitcher.generalTab.generalBehavior.verboseLogging="Ayrıntılı günlük kaydını etkinleştir"
AdvSceneSwitcher.generalTab.generalBehavior.saveWindowGeo="Pencere konumunu ve boyutunu kaydet"
AdvSceneSwitcher.generalTab.generalBehavior.showTrayNotifications="Sistem tepsisi bildirimlerini göster"
AdvSceneSwitcher.generalTab.generalBehavior.disableUIHints="UI ipuçlarını devre dışı bırak"
diff --git a/data/locale/zh-CN.ini b/data/locale/zh-CN.ini
index 1c6c46e4..4feeca03 100644
--- a/data/locale/zh-CN.ini
+++ b/data/locale/zh-CN.ini
@@ -33,7 +33,6 @@ AdvSceneSwitcher.generalTab.generalBehavior.logLevel.default="默认"
AdvSceneSwitcher.generalTab.generalBehavior.logLevel.logMacro="记录已执行的宏"
AdvSceneSwitcher.generalTab.generalBehavior.logLevel.logAction="记录已执行的操作"
AdvSceneSwitcher.generalTab.generalBehavior.logLevel.verbose="记录所有信息"
-AdvSceneSwitcher.generalTab.generalBehavior.verboseLogging="详细日志输出"
AdvSceneSwitcher.generalTab.generalBehavior.saveWindowGeo="保存窗口位置和大小"
AdvSceneSwitcher.generalTab.generalBehavior.showTrayNotifications="显示系统托盘通知"
AdvSceneSwitcher.generalTab.generalBehavior.disableUIHints="禁用UI提示"
diff --git a/forms/advanced-scene-switcher.ui b/forms/advanced-scene-switcher.ui
index 18afc21f..050257f8 100644
--- a/forms/advanced-scene-switcher.ui
+++ b/forms/advanced-scene-switcher.ui
@@ -182,26 +182,6 @@
-
-
-
-
- AdvSceneSwitcher.generalTab.generalBehavior.logLevel.default
-
-
- -
-
- AdvSceneSwitcher.generalTab.generalBehavior.logLevel.logMacro
-
-
- -
-
- AdvSceneSwitcher.generalTab.generalBehavior.logLevel.logAction
-
-
- -
-
- AdvSceneSwitcher.generalTab.generalBehavior.logLevel.verbose
-
-
-
diff --git a/lib/general.cpp b/lib/general.cpp
index 05c529d7..26c97dea 100644
--- a/lib/general.cpp
+++ b/lib/general.cpp
@@ -113,12 +113,12 @@ void AdvSceneSwitcher::on_startupBehavior_currentIndexChanged(int index)
static_cast(index);
}
-void AdvSceneSwitcher::on_logLevel_currentIndexChanged(int value)
+void AdvSceneSwitcher::on_logLevel_currentIndexChanged(int idx)
{
if (loading) {
return;
}
- switcher->logLevel = static_cast(value);
+ SetLogLevel(static_cast(ui->logLevel->itemData(idx).toInt()));
}
void AdvSceneSwitcher::on_autoStartEvent_currentIndexChanged(int index)
@@ -529,8 +529,8 @@ void SwitcherData::SaveGeneralSettings(obs_data_t *obj)
obs_data_set_int(obj, "autoStartEvent",
static_cast(autoStartEvent));
- obs_data_set_int(obj, "logLevel", static_cast(logLevel));
- obs_data_set_int(obj, "logLevelVersion", 1);
+ SaveLogLevel(obj);
+
obs_data_set_bool(obj, "showSystemTrayNotifications",
showSystemTrayNotifications);
obs_data_set_bool(obj, "disableHints", disableHints);
@@ -586,25 +586,7 @@ void SwitcherData::LoadGeneralSettings(obs_data_t *obj)
autoStartEvent =
static_cast(obs_data_get_int(obj, "autoStartEvent"));
- logLevel = static_cast(obs_data_get_int(obj, "logLevel"));
- if (obs_data_get_int(obj, "logLevelVersion") < 1) {
- enum OldLogLevel { DEFAULT, LOG_ACTION, VERBOSE };
- OldLogLevel oldLogLevel = static_cast(
- obs_data_get_int(obj, "logLevel"));
- switch (oldLogLevel) {
- case DEFAULT:
- logLevel = LogLevel::DEFAULT;
- break;
- case LOG_ACTION:
- logLevel = LogLevel::LOG_ACTION;
- break;
- case VERBOSE:
- logLevel = LogLevel::VERBOSE;
- break;
- default:
- break;
- }
- }
+ LoadLogLevel(obj);
showSystemTrayNotifications =
obs_data_get_bool(obj, "showSystemTrayNotifications");
@@ -894,7 +876,9 @@ void AdvSceneSwitcher::SetupGeneralTab()
SIGNAL(DurationChanged(const Duration &)), this,
SLOT(CooldownDurationChanged(const Duration &)));
- ui->logLevel->setCurrentIndex(static_cast(switcher->logLevel));
+ PopulateLogLevelSelection(ui->logLevel);
+ ui->logLevel->setCurrentIndex(
+ ui->logLevel->findData(static_cast(GetLogLevel())));
ui->saveWindowGeo->setChecked(switcher->saveWindowGeo);
ui->showTrayNotifications->setChecked(
diff --git a/lib/switcher-data.hpp b/lib/switcher-data.hpp
index 756f1631..d70aca9d 100644
--- a/lib/switcher-data.hpp
+++ b/lib/switcher-data.hpp
@@ -132,9 +132,6 @@ public:
bool transitionOverrideOverride = false;
bool adjustActiveTransitionType = true;
- enum class LogLevel { DEFAULT, LOG_MACRO, LOG_ACTION, VERBOSE };
- LogLevel logLevel = LogLevel::DEFAULT;
-
/* --- End of General tab section --- */
std::string lastTitle;
diff --git a/lib/utils/log-helper.cpp b/lib/utils/log-helper.cpp
index 5a5192c0..a61d4bef 100644
--- a/lib/utils/log-helper.cpp
+++ b/lib/utils/log-helper.cpp
@@ -1,26 +1,97 @@
#include "log-helper.hpp"
-#include "switcher-data.hpp"
+#include "obs-module-helper.hpp"
+
+#include