diff options
author | David Kocik <kocikdav@gmail.com> | 2019-12-16 15:53:12 +0300 |
---|---|---|
committer | David Kocik <kocikdav@gmail.com> | 2019-12-16 15:53:12 +0300 |
commit | 0db9815467d45812f6d727d60ba637613050d964 (patch) | |
tree | 9ccc61026fc888de8971d4a067e19f4fe00af399 /src/slic3r/GUI/RemovableDriveManager.cpp | |
parent | 507134accb9b05a319c07b69b0126532ce011224 (diff) |
correct beahvior when disconnecting device other way than button in slicer
Diffstat (limited to 'src/slic3r/GUI/RemovableDriveManager.cpp')
-rw-r--r-- | src/slic3r/GUI/RemovableDriveManager.cpp | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/src/slic3r/GUI/RemovableDriveManager.cpp b/src/slic3r/GUI/RemovableDriveManager.cpp index 535d62f83..5af4362f2 100644 --- a/src/slic3r/GUI/RemovableDriveManager.cpp +++ b/src/slic3r/GUI/RemovableDriveManager.cpp @@ -106,7 +106,7 @@ void RemovableDriveManager::eject_drive(const std::string &path) return; } CloseHandle(handle); - + m_did_eject = true; m_current_drives.erase(it); break; } @@ -365,6 +365,7 @@ void RemovableDriveManager::eject_drive(const std::string &path) std::cerr<<"Ejecting failed\n"; return; } + m_did_eject = true; m_current_drives.erase(it); break; @@ -401,12 +402,18 @@ RemovableDriveManager::RemovableDriveManager(): m_last_update(0), m_last_save_path(""), m_last_save_name(""), - m_is_writing(false) + m_is_writing(false), + m_did_eject(false) #if __APPLE__ , m_rdmmm(new RDMMMWrapper()) #endif {} - +RemovableDriveManager::~RemovableDriveManager() +{ +#if __APPLE__ + delete m_rdmmm; +#endif +} void RemovableDriveManager::init() { //add_callback([](void) { RemovableDriveManager::get_instance().print(); }); @@ -517,7 +524,7 @@ std::string RemovableDriveManager::get_drive_name(const std::string& path) bool RemovableDriveManager::is_last_drive_removed() { //std::cout<<"is last: "<<m_last_save_path; - m_drives_count = m_current_drives.size(); + //m_drives_count = m_current_drives.size(); if(m_last_save_path == "") { //std::cout<<"\n"; @@ -541,9 +548,17 @@ void RemovableDriveManager::reset_last_save_path() void RemovableDriveManager::set_is_writing(const bool b) { m_is_writing = b; + if (b) + { + m_did_eject = false; + } } bool RemovableDriveManager::get_is_writing() { return m_is_writing; } +bool RemovableDriveManager::get_did_eject() +{ + return m_did_eject; +} }}//namespace Slicer::Gui |