Write MRU data to disk whenever a change is made rather than only on program exit

Originally committed to SVN as r5667.
This commit is contained in:
Thomas Goyne 2011-09-28 19:52:46 +00:00
parent 5411a57b3c
commit 6a49b5392d
1 changed files with 5 additions and 2 deletions

View File

@ -47,7 +47,6 @@ MRUManager::MRUManager(const std::string &config, const std::string &default_con
MRUManager::~MRUManager() {
Flush();
}
MRUManager::MRUListMap &MRUManager::Find(std::string const& key) {
@ -63,11 +62,15 @@ void MRUManager::Add(const std::string &key, const std::string &entry) {
map.remove(entry);
map.push_front(entry);
Prune(map);
Flush();
}
void MRUManager::Remove(const std::string &key, const std::string &entry) {
Find(key).remove(entry);
Flush();
}
@ -106,7 +109,7 @@ void MRUManager::Flush() {
/// @brief Prune MRUListMap to the desired length.
/// This uses the user-set values for MRU list length.
inline void MRUManager::Prune(MRUListMap& map) {
map.resize(std::min(16u, map.size()));
map.resize(std::min<size_t>(16, map.size()));
}
static json::String cast_str(json::UnknownElement const& e) {