diff options
author | Enrico Turri <enricoturri@seznam.cz> | 2019-07-12 16:36:01 +0300 |
---|---|---|
committer | Enrico Turri <enricoturri@seznam.cz> | 2019-07-12 16:36:01 +0300 |
commit | de88db59180822ddffd3b94bbd7b370a4971f196 (patch) | |
tree | 2c27d94c82142ad13ebaa6382d6a00a99601450e /src/slic3r/GUI/AppConfig.cpp | |
parent | cc70c8dff9c6b9395845caba0542954276081613 (diff) |
#2616 - Added Recent projects item to File menu
Diffstat (limited to 'src/slic3r/GUI/AppConfig.cpp')
-rw-r--r-- | src/slic3r/GUI/AppConfig.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/slic3r/GUI/AppConfig.cpp b/src/slic3r/GUI/AppConfig.cpp index 3b6210058..dfdc79677 100644 --- a/src/slic3r/GUI/AppConfig.cpp +++ b/src/slic3r/GUI/AppConfig.cpp @@ -229,6 +229,33 @@ std::string AppConfig::get_last_dir() const return std::string(); } +std::vector<std::string> AppConfig::get_recent_projects() const +{ + std::vector<std::string> ret; + const auto it = m_storage.find("recent_projects"); + if (it != m_storage.end()) + { + for (const std::map<std::string, std::string>::value_type& item : it->second) + { + ret.push_back(item.second); + } + } + return ret; +} + +void AppConfig::set_recent_projects(const std::vector<std::string>& recent_projects) +{ + auto it = m_storage.find("recent_projects"); + if (it == m_storage.end()) + it = m_storage.insert(std::map<std::string, std::map<std::string, std::string>>::value_type("recent_projects", std::map<std::string, std::string>())).first; + + it->second.clear(); + for (unsigned int i = 0; i < (unsigned int)recent_projects.size(); ++i) + { + it->second[std::to_string(i + 1)] = recent_projects[i]; + } +} + void AppConfig::update_config_dir(const std::string &dir) { this->set("recent", "config_directory", dir); |