diff --git a/LogManager.cpp b/LogManager.cpp index 99921d06..c23b267e 100644 --- a/LogManager.cpp +++ b/LogManager.cpp @@ -14,6 +14,7 @@ const char* LogManager::log_codes[] = {"FATAL:", "ERROR:", "Warning:", "Info:", LogManager::LogManager() { base_clock = std::chrono::steady_clock::now(); + log_console_enabled = false; } LogManager* LogManager::get() @@ -118,6 +119,14 @@ void LogManager::configure(json config, const std::string &defaultDir) } } + /*-------------------------------------------------*\ + | Check log console configuration | + \*-------------------------------------------------*/ + if(config.contains("log_console")) + { + log_console_enabled = config["log_console"]; + } + /*-------------------------------------------------*\ | Flush the log | \*-------------------------------------------------*/ @@ -224,7 +233,10 @@ void LogManager::_append(const char* filename, int line, unsigned int level, con \*-------------------------------------------------*/ temp_messages.push_back(mes); - all_messages.push_back(mes); + if(log_console_enabled) + { + all_messages.push_back(mes); + } /*-------------------------------------------------*\ | Flush the queues | diff --git a/LogManager.h b/LogManager.h index cd8e349c..bf7f52a6 100644 --- a/LogManager.h +++ b/LogManager.h @@ -93,6 +93,7 @@ public: void clearMessages(); std::vector messages(); + bool log_console_enabled; static const char* log_codes[]; }; diff --git a/qt/OpenRGBDialog2.cpp b/qt/OpenRGBDialog2.cpp index 1ab9bfd7..d2ae382d 100644 --- a/qt/OpenRGBDialog2.cpp +++ b/qt/OpenRGBDialog2.cpp @@ -478,9 +478,23 @@ OpenRGBDialog2::OpenRGBDialog2(QWidget *parent) : QMainWindow(parent), ui(new Op } /*-----------------------------------------------------*\ - | Add the console page | + | If log console is enabled in settings, enable it | \*-----------------------------------------------------*/ - AddConsolePage(); + json log_manager_settings = settings_manager->GetSettings("LogManager"); + + bool log_console_enabled = false; + if(log_manager_settings.contains("log_console")) + { + log_console_enabled = log_manager_settings["log_console"]; + } + + /*-----------------------------------------------------*\ + | Add the log console page | + \*-----------------------------------------------------*/ + if(log_console_enabled) + { + AddConsolePage(); + } }