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:
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;