Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEnrico Turri <enricoturri@seznam.cz>2019-10-03 11:26:28 +0300
committerEnrico Turri <enricoturri@seznam.cz>2019-10-03 11:26:28 +0300
commita5543040384541aa0a9ab15cb51d6e3446d36c03 (patch)
tree6480997d43b43f012b78e0de1ea44324bce3028f /src/slic3r/GUI/AppConfig.cpp
parent7007d815193dce1e5b0a71a9de6f558abe7ba990 (diff)
ENABLE_3DCONNEXION_DEVICES -> Serialization of mouse device parameters into config
Diffstat (limited to 'src/slic3r/GUI/AppConfig.cpp')
-rw-r--r--src/slic3r/GUI/AppConfig.cpp42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/slic3r/GUI/AppConfig.cpp b/src/slic3r/GUI/AppConfig.cpp
index 5a165e8ae..2d5ee6f5f 100644
--- a/src/slic3r/GUI/AppConfig.cpp
+++ b/src/slic3r/GUI/AppConfig.cpp
@@ -268,6 +268,48 @@ void AppConfig::set_recent_projects(const std::vector<std::string>& recent_proje
}
}
+#if ENABLE_3DCONNEXION_DEVICES
+void AppConfig::set_mouse_device(const std::string& name, double translation_speed, float rotation_speed)
+{
+ std::string key = std::string("mouse_device:") + name;
+ auto it = m_storage.find(key);
+ if (it == m_storage.end())
+ it = m_storage.insert(std::map<std::string, std::map<std::string, std::string>>::value_type(key, std::map<std::string, std::string>())).first;
+
+ it->second.clear();
+ it->second["translation_speed"] = std::to_string(translation_speed);
+ it->second["rotation_speed"] = std::to_string(rotation_speed);
+}
+
+bool AppConfig::get_mouse_device_translation_speed(const std::string& name, double& translation_speed)
+{
+ std::string key = std::string("mouse_device:") + name;
+ auto it = m_storage.find(key);
+ if (it == m_storage.end())
+ return false;
+
+ auto it_val = it->second.find("translation_speed");
+ if (it_val == it->second.end())
+ return false;
+
+ translation_speed = ::atof(it_val->second.c_str());
+}
+
+bool AppConfig::get_mouse_device_rotation_speed(const std::string& name, float& rotation_speed)
+{
+ std::string key = std::string("mouse_device:") + name;
+ auto it = m_storage.find(key);
+ if (it == m_storage.end())
+ return false;
+
+ auto it_val = it->second.find("rotation_speed");
+ if (it_val == it->second.end())
+ return false;
+
+ rotation_speed = (float)::atof(it_val->second.c_str());
+}
+#endif // ENABLE_3DCONNEXION_DEVICES
+
void AppConfig::update_config_dir(const std::string &dir)
{
this->set("recent", "config_directory", dir);