Skip to content

Commit

Permalink
Show an error notification when attempting to save 3MF while editing …
Browse files Browse the repository at this point in the history
…SLA support points

The notification disappears when it is no longer valid.
  • Loading branch information
lukasmatena committed Mar 4, 2021
1 parent abd5a9a commit 7057348
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 5 deletions.
2 changes: 2 additions & 0 deletions src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp
Expand Up @@ -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"

Expand Down Expand Up @@ -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);
}


Expand Down
8 changes: 5 additions & 3 deletions src/slic3r/GUI/Gizmos/GLGizmosManager.cpp
Expand Up @@ -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;
}
Expand Down
4 changes: 3 additions & 1 deletion src/slic3r/GUI/NotificationManager.hpp
Expand Up @@ -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
Expand Down
4 changes: 3 additions & 1 deletion src/slic3r/GUI/Plater.cpp
Expand Up @@ -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;
Expand Down

0 comments on commit 7057348

Please sign in to comment.