Skip to content

Commit

Permalink
FrameworkConfig: Add log level (closes #135)
Browse files Browse the repository at this point in the history
  • Loading branch information
praydog committed Feb 20, 2024
1 parent f45b830 commit a7998ce
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 5 deletions.
11 changes: 11 additions & 0 deletions src/mods/FrameworkConfig.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,13 @@ void FrameworkConfig::draw_main() {
ImGui::SameLine();
m_l3_r3_long_press->draw("L3 + R3 Long Press Menu Toggle");
m_always_show_cursor->draw("Always Show Cursor");

ImGui::Separator();
if (m_log_level->draw("Log Level")) {
if (m_log_level->value() >= 0 && m_log_level->value() <= spdlog::level::level_enum::n_levels) {
spdlog::set_level((spdlog::level::level_enum)m_log_level->value());
}
}
}

void FrameworkConfig::draw_themes() {
Expand Down Expand Up @@ -56,6 +63,10 @@ void FrameworkConfig::on_config_load(const utility::Config& cfg, bool set_defaul
}

g_framework->set_font_size(m_font_size->value());

if (m_log_level->value() >= 0 && m_log_level->value() <= spdlog::level::level_enum::n_levels) {
spdlog::set_level((spdlog::level::level_enum)m_log_level->value());
}
}

void FrameworkConfig::on_config_save(utility::Config& cfg) {
Expand Down
29 changes: 24 additions & 5 deletions src/mods/FrameworkConfig.hpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
#pragma once


#include <spdlog/common.h>
#include "Mod.hpp"

class FrameworkConfig : public Mod {
Expand Down Expand Up @@ -55,33 +57,46 @@ class FrameworkConfig : public Mod {
return m_advanced_mode->value();
}

void toggle_advanced_mode() {
void toggle_advanced_mode() const {
m_advanced_mode->toggle();
}

auto& get_advanced_mode() {
auto& get_advanced_mode() const {
return m_advanced_mode;
}

auto& get_imgui_theme_value() {
auto& get_imgui_theme_value() const {
return m_imgui_theme->value();
}

auto& get_imgui_theme() {
auto& get_imgui_theme() const {
return m_imgui_theme;
}

int32_t get_font_size() {
int32_t get_font_size() const {
return m_font_size->value();
}

spdlog::level::level_enum get_log_level() const {
return (spdlog::level::level_enum)m_log_level->value();
}

private:
static const inline std::vector<std::string> s_imgui_themes {
"Default Dark",
"Alternative Dark",
"Default Light",
"High Contrast",
};

static inline std::vector<std::string> s_get_log_levels() {
std::vector<std::string> log_levels{};
for (auto& level : SPDLOG_LEVEL_NAMES) {
log_levels.emplace_back(level.data());
}

return log_levels;
};

ModKey::Ptr m_menu_key{ ModKey::create(generate_name("MenuKey"), VK_INSERT) };
ModToggle::Ptr m_menu_open{ ModToggle::create(generate_name("MenuOpen"), true) };
Expand All @@ -90,7 +105,10 @@ class FrameworkConfig : public Mod {
ModToggle::Ptr m_l3_r3_long_press{ ModToggle::create(generate_name("L3R3LongPress"), false) };
ModToggle::Ptr m_always_show_cursor{ ModToggle::create(generate_name("AlwaysShowCursor"), false) };
ModToggle::Ptr m_advanced_mode{ ModToggle::create(generate_name("AdvancedMode"), false) };

ModCombo::Ptr m_imgui_theme{ ModCombo::create(generate_name("ImGuiTheme"), s_imgui_themes, Framework::ImGuiThemes::DEFAULT_DARK) };
ModCombo::Ptr m_log_level{ ModCombo::create(generate_name("LogLevel"), s_get_log_levels(), spdlog::level::info) };

ModKey::Ptr m_show_cursor_key{ ModKey::create(generate_name("ShowCursorKey")) };
ModInt32::Ptr m_font_size{ModInt32::create(generate_name("FontSize"), 16)};

Expand All @@ -103,6 +121,7 @@ class FrameworkConfig : public Mod {
*m_l3_r3_long_press,
*m_advanced_mode,
*m_imgui_theme,
*m_log_level,
*m_always_show_cursor,
*m_font_size,
};
Expand Down

0 comments on commit a7998ce

Please sign in to comment.