diff --git a/src/citra/citra.cpp b/src/citra/citra.cpp index 6ac5c5dc5..41b62ac16 100644 --- a/src/citra/citra.cpp +++ b/src/citra/citra.cpp @@ -5,6 +5,7 @@ #include "common/common.h" #include "common/log_manager.h" +#include "core/settings.h" #include "core/system.h" #include "core/core.h" #include "core/loader/loader.h" @@ -22,6 +23,9 @@ int __cdecl main(int argc, char **argv) { } Config config; + + if (!Settings::values.enable_log) + LogManager::Shutdown(); std::string boot_filename = argv[1]; EmuWindow_GLFW* emu_window = new EmuWindow_GLFW; diff --git a/src/citra/config.cpp b/src/citra/config.cpp index c5ce8a164..f45d09fc2 100644 --- a/src/citra/config.cpp +++ b/src/citra/config.cpp @@ -65,11 +65,16 @@ void Config::ReadData() { Settings::values.use_virtual_sd = glfw_config->GetBoolean("Data Storage", "use_virtual_sd", true); } +void Config::ReadMiscellaneous() { + Settings::values.enable_log = glfw_config->GetBoolean("Miscellaneous", "enable_log", true); +} + void Config::Reload() { LoadINI(glfw_config, glfw_config_loc.c_str(), DefaultINI::glfw_config_file); ReadControls(); ReadCore(); ReadData(); + ReadMiscellaneous(); } Config::~Config() { diff --git a/src/citra/config.h b/src/citra/config.h index 4f6551876..19bb83700 100644 --- a/src/citra/config.h +++ b/src/citra/config.h @@ -18,6 +18,7 @@ class Config { void ReadControls(); void ReadCore(); void ReadData(); + void ReadMiscellaneous(); public: Config(); ~Config(); diff --git a/src/citra/default_ini.h b/src/citra/default_ini.h index 557da881b..f1f626eed 100644 --- a/src/citra/default_ini.h +++ b/src/citra/default_ini.h @@ -32,6 +32,9 @@ gpu_refresh_rate = ## 60 (default) [Data Storage] use_virtual_sd = + +[Miscellaneous] +enable_log = )"; } diff --git a/src/citra_qt/config.cpp b/src/citra_qt/config.cpp index 63d396439..09fce4d6f 100644 --- a/src/citra_qt/config.cpp +++ b/src/citra_qt/config.cpp @@ -91,16 +91,30 @@ void Config::SaveData() { qt_config->endGroup(); } +void Config::ReadMiscellaneous() { + qt_config->beginGroup("Miscellaneous"); + Settings::values.enable_log = qt_config->value("enable_log", true).toBool(); + qt_config->endGroup(); +} + +void Config::SaveMiscellaneous() { + qt_config->beginGroup("Miscellaneous"); + qt_config->setValue("enable_log", Settings::values.enable_log); + qt_config->endGroup(); +} + void Config::Reload() { ReadControls(); ReadCore(); ReadData(); + ReadMiscellaneous(); } void Config::Save() { SaveControls(); SaveCore(); SaveData(); + SaveMiscellaneous(); } Config::~Config() { diff --git a/src/citra_qt/config.h b/src/citra_qt/config.h index 782c26287..8c6568cb2 100644 --- a/src/citra_qt/config.h +++ b/src/citra_qt/config.h @@ -18,6 +18,9 @@ class Config { void SaveCore(); void ReadData(); void SaveData(); + + void ReadMiscellaneous(); + void SaveMiscellaneous(); public: Config(); ~Config(); diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp index 304c169b9..9a4e36adf 100644 --- a/src/citra_qt/main.cpp +++ b/src/citra_qt/main.cpp @@ -22,6 +22,7 @@ #include "debugger/graphics.hxx" #include "debugger/graphics_cmdlists.hxx" +#include "core/settings.h" #include "core/system.h" #include "core/core.h" #include "core/loader/loader.h" @@ -34,8 +35,12 @@ GMainWindow::GMainWindow() { LogManager::Init(); + Config config; + if (!Settings::values.enable_log) + LogManager::Shutdown(); + ui.setupUi(this); statusBar()->hide(); diff --git a/src/core/settings.h b/src/core/settings.h index 6a6265e18..7e7a66b89 100644 --- a/src/core/settings.h +++ b/src/core/settings.h @@ -32,6 +32,8 @@ struct Values { // Data Storage bool use_virtual_sd; + + bool enable_log; } extern values; }