reapack

Package manager for REAPER
Log | Files | Refs | Submodules | README | LICENSE

commit 61e59909d7476ced7ac0950b4bba0b2951334868
parent 4f380d8a6fd5ad6a5157736f0219b95069099c0c
Author: cfillion <cfillion@users.noreply.github.com>
Date:   Thu,  5 Jan 2017 04:24:28 -0500

config: refactor window states

Diffstat:
Msrc/about.cpp | 4++--
Msrc/browser.cpp | 18+++++++++---------
Msrc/config.cpp | 16++++++++--------
Msrc/config.hpp | 8++++----
4 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/src/about.cpp b/src/about.cpp @@ -75,7 +75,7 @@ void About::onInit() setAnchor(getControl(IDOK), AnchorAll); // link buttons are anchored in setMetadata - auto data = m_serializer.read(m_reapack->config()->about.state, 1); + auto data = m_serializer.read(m_reapack->config()->windowState.about, 1); restoreState(data); } @@ -83,7 +83,7 @@ void About::onClose() { Serializer::Data data; saveState(data); - m_reapack->config()->about.state = m_serializer.write(data); + m_reapack->config()->windowState.about = m_serializer.write(data); } void About::onCommand(const int id, int) diff --git a/src/browser.cpp b/src/browser.cpp @@ -146,7 +146,7 @@ void Browser::onInit() setAnchor(getControl(IDCANCEL), AnchorAll); setAnchor(m_applyBtn, AnchorAll); - auto data = m_serializer.read(m_reapack->config()->browser.state, 1); + auto data = m_serializer.read(m_reapack->config()->windowState.browser, 1); restoreState(data); m_list->restoreState(data); assert(data.empty()); @@ -155,6 +155,14 @@ void Browser::onInit() refresh(); } +void Browser::onClose() +{ + Serializer::Data data; + saveState(data); + m_list->saveState(data); + m_reapack->config()->windowState.browser = m_serializer.write(data); +} + void Browser::onCommand(const int id, const int event) { switch(id) { @@ -276,14 +284,6 @@ bool Browser::onKeyDown(const int key, const int mods) return true; } -void Browser::onClose() -{ - Serializer::Data data; - saveState(data); - m_list->saveState(data); - m_reapack->config()->browser.state = m_serializer.write(data); -} - void Browser::onTimer(const int id) { switch(id) { diff --git a/src/config.cpp b/src/config.cpp @@ -65,10 +65,10 @@ Config::Config() void Config::resetOptions() { - about = {""}; - browser = {"", true}; + browser = {true}; install = {false, false, true}; network = {"", true}; + windowState = {}; } void Config::restoreSelfRemote() @@ -142,16 +142,16 @@ void Config::read(const Path &path) install.promptObsolete = getUInt(INSTALL_GRP, PROMPTOBSOLETE_KEY, install.promptObsolete) > 0; - about.state = getString(ABOUT_GRP, STATE_KEY, about.state); - browser.showDescs = getUInt(BROWSER_GRP, SHOWDESCS_KEY, browser.showDescs) > 0; - browser.state = getString(BROWSER_GRP, STATE_KEY, browser.state); network.proxy = getString(NETWORK_GRP, PROXY_KEY, network.proxy); network.verifyPeer = getUInt(NETWORK_GRP, VERIFYPEER_KEY, network.verifyPeer) > 0; + windowState.about = getString(ABOUT_GRP, STATE_KEY, windowState.about); + windowState.browser = getString(BROWSER_GRP, STATE_KEY, windowState.browser); + readRemotes(); restoreSelfRemote(); migrate(); @@ -165,14 +165,14 @@ void Config::write() setUInt(INSTALL_GRP, PRERELEASES_KEY, install.bleedingEdge); setUInt(INSTALL_GRP, PROMPTOBSOLETE_KEY, install.promptObsolete); - setString(ABOUT_GRP, STATE_KEY, about.state); - setUInt(BROWSER_GRP, SHOWDESCS_KEY, browser.showDescs); - setString(BROWSER_GRP, STATE_KEY, browser.state); setString(NETWORK_GRP, PROXY_KEY, network.proxy); setUInt(NETWORK_GRP, VERIFYPEER_KEY, network.verifyPeer); + setString(ABOUT_GRP, STATE_KEY, windowState.about); + setString(BROWSER_GRP, STATE_KEY, windowState.browser); + writeRemotes(); } diff --git a/src/config.hpp b/src/config.hpp @@ -25,12 +25,12 @@ class Path; -struct AboutOpts { - std::string state; +struct WindowState { + std::string about; + std::string browser; }; struct BrowserOpts { - std::string state; bool showDescs; }; @@ -57,10 +57,10 @@ public: bool isFirstRun() const { return m_isFirstRun; } - AboutOpts about; BrowserOpts browser; InstallOpts install; NetworkOpts network; + WindowState windowState; RemoteList remotes;