diff --git a/src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp b/src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp index b5dbab2844a..b200623f492 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp @@ -16,6 +16,7 @@ #include "slic3r/GUI/GUI_ObjectSettings.hpp" #include "slic3r/GUI/GUI_ObjectList.hpp" #include "slic3r/GUI/Plater.hpp" +#include "slic3r/GUI/NotificationManager.hpp" #include "libslic3r/PresetBundle.hpp" #include "libslic3r/SLAPrint.hpp" @@ -1161,6 +1162,7 @@ void GLGizmoSlaSupports::disable_editing_mode() m_c->instances_hider()->show_supports(true); m_parent.set_as_dirty(); } + wxGetApp().plater()->get_notification_manager()->close_notification_of_type(NotificationType::QuitSLAManualMode); } diff --git a/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp b/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp index abbc8599bdb..9dc785b3fac 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp @@ -1147,9 +1147,11 @@ bool GLGizmosManager::is_in_editing_mode(bool error_notification) const return false; if (error_notification) - wxGetApp().plater()->get_notification_manager()->push_slicing_error_notification( - _u8L("You are currently editing SLA support points. Please, apply or discard " - "your changes first.")); + wxGetApp().plater()->get_notification_manager()->push_notification( + NotificationType::QuitSLAManualMode, + NotificationManager::NotificationLevel::ErrorNotification, + _u8L("You are currently editing SLA support points. Please, " + "apply or discard your changes first.")); return true; } diff --git a/src/slic3r/GUI/NotificationManager.hpp b/src/slic3r/GUI/NotificationManager.hpp index 9ce278792cf..62c4ea845ed 100644 --- a/src/slic3r/GUI/NotificationManager.hpp +++ b/src/slic3r/GUI/NotificationManager.hpp @@ -73,7 +73,9 @@ enum class NotificationType // Notification that auto adding of color changes is impossible EmptyAutoColorChange, // Notification emitted by Print::validate - PrintValidateWarning + PrintValidateWarning, + // Notification telling user to quit SLA supports manual editing + QuitSLAManualMode }; class NotificationManager diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 93d0e08819b..15b3a17c730 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -5418,7 +5418,9 @@ void Plater::export_amf() void Plater::export_3mf(const boost::filesystem::path& output_path) { - if (p->model.objects.empty()) { return; } + if (p->model.objects.empty() + || canvas3D()->get_gizmos_manager().is_in_editing_mode(true)) + return; wxString path; bool export_config = true;