diff --git a/src/app.cpp b/src/app.cpp index 81532fd..e2113d1 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -313,6 +313,7 @@ bool App::init() ui::ConsoleTab::s_scanline_enabled = settings_->getScanlineEnabled(); ui::ConsoleTab::s_line_accents_enabled = settings_->getConsoleLineAccents(); ui::ConsoleTab::s_line_text_color_enabled = settings_->getConsoleTextColor(); + ui::ConsoleTab::s_console_zoom = settings_->getConsoleZoom(); // Apply saved user font scale so fonts are correct on first reload { @@ -1798,9 +1799,11 @@ void App::render() // disk I/O — and only here in the Console case where these statics can change. if (settings_) { if (ui::ConsoleTab::s_line_accents_enabled != settings_->getConsoleLineAccents() || - ui::ConsoleTab::s_line_text_color_enabled != settings_->getConsoleTextColor()) { + ui::ConsoleTab::s_line_text_color_enabled != settings_->getConsoleTextColor() || + ui::ConsoleTab::s_console_zoom != settings_->getConsoleZoom()) { settings_->setConsoleLineAccents(ui::ConsoleTab::s_line_accents_enabled); settings_->setConsoleTextColor(ui::ConsoleTab::s_line_text_color_enabled); + settings_->setConsoleZoom(ui::ConsoleTab::s_console_zoom); settings_->save(); } } diff --git a/src/config/settings.cpp b/src/config/settings.cpp index 5ff57d1..ffd7ddb 100644 --- a/src/config/settings.cpp +++ b/src/config/settings.cpp @@ -177,6 +177,8 @@ bool Settings::load(const std::string& path) loadScalar(j, "scanline_enabled", scanline_enabled_); loadScalar(j, "console_line_accents", console_line_accents_); loadScalar(j, "console_text_color", console_text_color_); + loadScalar(j, "console_zoom", console_zoom_); + if (!(console_zoom_ >= 0.25f && console_zoom_ <= 4.0f)) console_zoom_ = 1.0f; // guard bad/NaN if (j.contains("hidden_addresses") && j["hidden_addresses"].is_array()) { hidden_addresses_.clear(); for (const auto& a : j["hidden_addresses"]) @@ -429,6 +431,7 @@ bool Settings::save(const std::string& path) j["scanline_enabled"] = scanline_enabled_; j["console_line_accents"] = console_line_accents_; j["console_text_color"] = console_text_color_; + j["console_zoom"] = console_zoom_; j["hidden_addresses"] = json::array(); for (const auto& addr : hidden_addresses_) j["hidden_addresses"].push_back(addr); diff --git a/src/config/settings.h b/src/config/settings.h index 9ea2cf1..f303705 100644 --- a/src/config/settings.h +++ b/src/config/settings.h @@ -195,6 +195,8 @@ public: void setConsoleLineAccents(bool v) { console_line_accents_ = v; } bool getConsoleTextColor() const { return console_text_color_; } void setConsoleTextColor(bool v) { console_text_color_ = v; } + float getConsoleZoom() const { return console_zoom_; } + void setConsoleZoom(float v) { console_zoom_ = v; } // Hidden addresses (addresses hidden from the UI by the user) const std::set& getHiddenAddresses() const { return hidden_addresses_; } @@ -491,6 +493,7 @@ private: bool scanline_enabled_ = true; bool console_line_accents_ = true; // left color accent bars in console output bool console_text_color_ = true; // per-channel text coloring in console output + float console_zoom_ = 1.0f; // console output font zoom factor std::set hidden_addresses_; std::set favorite_addresses_; std::map address_meta_;