diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index fe91d40cb..026803088 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -2204,6 +2204,15 @@ int MachineObject::parse_json(std::string payload) online_rfid = false; } } + if (jj["online"].contains("version")) { + online_version = jj["online"]["version"].get(); + } + if (last_online_version != online_version) { + last_online_version = online_version; + GUI::wxGetApp().CallAfter([this] { + this->command_get_version(); + }); + } } } catch (...) { ; diff --git a/src/slic3r/GUI/DeviceManager.hpp b/src/slic3r/GUI/DeviceManager.hpp index fbf958faa..f931eaf58 100644 --- a/src/slic3r/GUI/DeviceManager.hpp +++ b/src/slic3r/GUI/DeviceManager.hpp @@ -460,6 +460,8 @@ public: /*online*/ bool online_rfid; bool online_ahb; + int online_version = -1; + int last_online_version = -1; /* temperature */ float nozzle_temp;