diff --git a/src/slic3r/GUI/NotificationManager.cpp b/src/slic3r/GUI/NotificationManager.cpp index e05931d873..4a63a82b09 100644 --- a/src/slic3r/GUI/NotificationManager.cpp +++ b/src/slic3r/GUI/NotificationManager.cpp @@ -25,7 +25,7 @@ namespace GUI { wxDEFINE_EVENT(EVT_EJECT_DRIVE_NOTIFICAION_CLICKED, EjectDriveNotificationClickedEvent); wxDEFINE_EVENT(EVT_EXPORT_GCODE_NOTIFICAION_CLICKED, ExportGcodeNotificationClickedEvent); -wxDEFINE_EVENT(EVT_PRESET_UPDATE_AVIABLE_CLICKED, PresetUpdateAviableClickedEvent); +wxDEFINE_EVENT(EVT_PRESET_UPDATE_AVAILABLE_CLICKED, PresetUpdateAvailableClickedEvent); namespace Notifications_Internal{ void push_style_color(ImGuiCol idx, const ImVec4& col, bool fading_out, float current_fade_opacity) @@ -531,11 +531,11 @@ void NotificationManager::PopNotification::on_text_click() if (m_evt_handler != nullptr) wxPostEvent(m_evt_handler, ExportGcodeNotificationClickedEvent(EVT_EXPORT_GCODE_NOTIFICAION_CLICKED)); break; - case NotificationType::PresetUpdateAviable : + case NotificationType::PresetUpdateAvailable : //wxGetApp().plater()->export_gcode(false); assert(m_evt_handler != nullptr); if (m_evt_handler != nullptr) - wxPostEvent(m_evt_handler, PresetUpdateAviableClickedEvent(EVT_PRESET_UPDATE_AVIABLE_CLICKED)); + wxPostEvent(m_evt_handler, PresetUpdateAvailableClickedEvent(EVT_PRESET_UPDATE_AVAILABLE_CLICKED)); break; case NotificationType::NewAppAviable: wxLaunchDefaultBrowser("https://github.com/prusa3d/PrusaSlicer/releases"); diff --git a/src/slic3r/GUI/NotificationManager.hpp b/src/slic3r/GUI/NotificationManager.hpp index 1972c92440..ecd1030516 100644 --- a/src/slic3r/GUI/NotificationManager.hpp +++ b/src/slic3r/GUI/NotificationManager.hpp @@ -16,8 +16,8 @@ using EjectDriveNotificationClickedEvent = SimpleEvent; wxDECLARE_EVENT(EVT_EJECT_DRIVE_NOTIFICAION_CLICKED, EjectDriveNotificationClickedEvent); using ExportGcodeNotificationClickedEvent = SimpleEvent; wxDECLARE_EVENT(EVT_EXPORT_GCODE_NOTIFICAION_CLICKED, ExportGcodeNotificationClickedEvent); -using PresetUpdateAviableClickedEvent = SimpleEvent; -wxDECLARE_EVENT(EVT_PRESET_UPDATE_AVIABLE_CLICKED, PresetUpdateAviableClickedEvent); +using PresetUpdateAvailableClickedEvent = SimpleEvent; +wxDECLARE_EVENT(EVT_PRESET_UPDATE_AVAILABLE_CLICKED, PresetUpdateAvailableClickedEvent); class GLCanvas3D; class ImGuiWrapper; @@ -25,17 +25,35 @@ class ImGuiWrapper; enum class NotificationType { CustomNotification, + // Notification on end of slicing and G-code processing (the full G-code preview is available). + // Contains a hyperlink to export the G-code to a removable media. SlicingComplete, + // Not used. SlicingNotPossible, + // Notification on end of export to a removable media, with hyperling to eject the external media. ExportToRemovableFinished, + // Works on OSX only. + //FIXME Do we want to have it on Linux and Windows? Is it possible to get the Disconnect event on Windows? Mouse3dDisconnected, + // Not used. Mouse3dConnected, + // Not used. NewPresetsAviable, + // Notification on the start of PrusaSlicer, when a new PrusaSlicer version is published. + // Contains a hyperlink to open a web browser pointing to the PrusaSlicer download location. NewAppAviable, - PresetUpdateAviable, + // Notification on the start of PrusaSlicer, when updates of system profiles are detected. + // Contains a hyperlink to execute installation of the new system profiles. + PresetUpdateAvailable, + // Not used. LoadingFailed, - ValidateError, // currently not used - instead Slicing error is used for both slicing and validate errors + // Not used - instead Slicing error is used for both slicing and validate errors. + ValidateError, + // Slicing error produced by BackgroundSlicingProcess::validate() or by the BackgroundSlicingProcess background + // thread thowing a SlicingError exception. SlicingError, + // Slicing warnings, issued by the slicing process. + // Slicing warnings are registered for a Print step or a PrintObject step, SlicingWarning, PlaterError, PlaterWarning, @@ -260,12 +278,13 @@ private: //prepared (basic) notifications const std::vector basic_notifications = { + // Currently not used. {NotificationType::SlicingNotPossible, NotificationLevel::RegularNotification, 10, _u8L("Slicing is not possible.")}, {NotificationType::ExportToRemovableFinished, NotificationLevel::ImportantNotification, 0, _u8L("Exporting finished."), _u8L("Eject drive.") }, {NotificationType::Mouse3dDisconnected, NotificationLevel::RegularNotification, 10, _u8L("3D Mouse disconnected.") }, {NotificationType::Mouse3dConnected, NotificationLevel::RegularNotification, 5, _u8L("3D Mouse connected.") }, {NotificationType::NewPresetsAviable, NotificationLevel::ImportantNotification, 20, _u8L("New Presets are available."), _u8L("See here.") }, - {NotificationType::PresetUpdateAviable, NotificationLevel::ImportantNotification, 20, _u8L("Configuration update is available."), _u8L("See more.")}, + {NotificationType::PresetUpdateAvailable, NotificationLevel::ImportantNotification, 20, _u8L("Configuration update is available."), _u8L("See more.")}, {NotificationType::NewAppAviable, NotificationLevel::ImportantNotification, 20, _u8L("New version is available."), _u8L("See Releases page.")}, //{NotificationType::NewAppAviable, NotificationLevel::ImportantNotification, 20, _u8L("New vesion of PrusaSlicer is available.", _u8L("Download page.") }, //{NotificationType::LoadingFailed, NotificationLevel::RegularNotification, 20, _u8L("Loading of model has Failed") }, diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index ae6ebf9123..f3e6fdd37f 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -2023,7 +2023,7 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) #endif // ENABLE_GCODE_VIEWER this->q->Bind(EVT_EJECT_DRIVE_NOTIFICAION_CLICKED, [this](EjectDriveNotificationClickedEvent&) { this->q->eject_drive(); }); this->q->Bind(EVT_EXPORT_GCODE_NOTIFICAION_CLICKED, [this](ExportGcodeNotificationClickedEvent&) { this->q->export_gcode(true); }); - this->q->Bind(EVT_PRESET_UPDATE_AVIABLE_CLICKED, [this](PresetUpdateAviableClickedEvent&) { wxGetApp().get_preset_updater()->on_update_notification_confirm(); }); + this->q->Bind(EVT_PRESET_UPDATE_AVAILABLE_CLICKED, [this](PresetUpdateAvailableClickedEvent&) { wxGetApp().get_preset_updater()->on_update_notification_confirm(); }); this->q->Bind(EVT_REMOVABLE_DRIVE_EJECTED, [this, q](RemovableDriveEjectEvent &evt) { if (evt.data.second) { this->show_action_buttons(this->ready_to_slice); diff --git a/src/slic3r/Utils/PresetUpdater.cpp b/src/slic3r/Utils/PresetUpdater.cpp index 14b9fb0c4a..b424bafc4e 100644 --- a/src/slic3r/Utils/PresetUpdater.cpp +++ b/src/slic3r/Utils/PresetUpdater.cpp @@ -826,7 +826,7 @@ PresetUpdater::UpdateResult PresetUpdater::config_update(const Semver& old_slic3 } } else { p->set_waiting_updates(updates); - GUI::wxGetApp().plater()->get_notification_manager()->push_notification(GUI::NotificationType::PresetUpdateAviable, *(GUI::wxGetApp().plater()->get_current_canvas3D())); + GUI::wxGetApp().plater()->get_notification_manager()->push_notification(GUI::NotificationType::PresetUpdateAvailable, *(GUI::wxGetApp().plater()->get_current_canvas3D())); } // MsgUpdateConfig will show after the notificaation is clicked