mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-05-30 01:54:40 +08:00
Removed GLCanvas3D from parameters of NotificationManager methods
This commit is contained in:
parent
982e6eb55b
commit
0d4123192f
@ -636,9 +636,9 @@ void GLCanvas3D::WarningTexture::activate(WarningTexture::Warning warning, bool
|
|||||||
auto ¬ification_manager = *wxGetApp().plater()->get_notification_manager();
|
auto ¬ification_manager = *wxGetApp().plater()->get_notification_manager();
|
||||||
if (state) {
|
if (state) {
|
||||||
if(error)
|
if(error)
|
||||||
notification_manager.push_plater_error_notification(text,*(wxGetApp().plater()->get_current_canvas3D()));
|
notification_manager.push_plater_error_notification(text);
|
||||||
else
|
else
|
||||||
notification_manager.push_plater_warning_notification(text, *(wxGetApp().plater()->get_current_canvas3D()));
|
notification_manager.push_plater_warning_notification(text);
|
||||||
} else {
|
} else {
|
||||||
if (error)
|
if (error)
|
||||||
notification_manager.close_plater_error_notification(text);
|
notification_manager.close_plater_error_notification(text);
|
||||||
@ -1699,8 +1699,7 @@ void GLCanvas3D::render()
|
|||||||
m_tooltip.render(m_mouse.position, *this);
|
m_tooltip.render(m_mouse.position, *this);
|
||||||
|
|
||||||
wxGetApp().plater()->get_mouse3d_controller().render_settings_dialog(*this);
|
wxGetApp().plater()->get_mouse3d_controller().render_settings_dialog(*this);
|
||||||
|
wxGetApp().plater()->get_notification_manager()->render_notifications(get_overlay_window_width());
|
||||||
wxGetApp().plater()->get_notification_manager()->render_notifications(*this, get_overlay_window_width());
|
|
||||||
|
|
||||||
wxGetApp().imgui()->render();
|
wxGetApp().imgui()->render();
|
||||||
|
|
||||||
|
@ -820,7 +820,7 @@ bool GUI_App::on_init_inner()
|
|||||||
app_config->save();
|
app_config->save();
|
||||||
if (this->plater_ != nullptr) {
|
if (this->plater_ != nullptr) {
|
||||||
if (*Semver::parse(SLIC3R_VERSION) < *Semver::parse(into_u8(evt.GetString()))) {
|
if (*Semver::parse(SLIC3R_VERSION) < *Semver::parse(into_u8(evt.GetString()))) {
|
||||||
this->plater_->get_notification_manager()->push_notification(NotificationType::NewAppAvailable, *(this->plater_->get_current_canvas3D()));
|
this->plater_->get_notification_manager()->push_notification(NotificationType::NewAppAvailable);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -849,19 +849,19 @@ NotificationManager::NotificationManager(wxEvtHandler* evt_handler) :
|
|||||||
m_evt_handler(evt_handler)
|
m_evt_handler(evt_handler)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
void NotificationManager::push_notification(const NotificationType type, GLCanvas3D& canvas, int timestamp)
|
void NotificationManager::push_notification(const NotificationType type, int timestamp)
|
||||||
{
|
{
|
||||||
auto it = std::find_if(basic_notifications.begin(), basic_notifications.end(),
|
auto it = std::find_if(basic_notifications.begin(), basic_notifications.end(),
|
||||||
boost::bind(&NotificationData::type, boost::placeholders::_1) == type);
|
boost::bind(&NotificationData::type, boost::placeholders::_1) == type);
|
||||||
assert(it != basic_notifications.end());
|
assert(it != basic_notifications.end());
|
||||||
if (it != basic_notifications.end())
|
if (it != basic_notifications.end())
|
||||||
push_notification_data( *it, canvas, timestamp);
|
push_notification_data(*it, timestamp);
|
||||||
}
|
}
|
||||||
void NotificationManager::push_notification(const std::string& text, GLCanvas3D& canvas, int timestamp)
|
void NotificationManager::push_notification(const std::string& text, int timestamp)
|
||||||
{
|
{
|
||||||
push_notification_data({ NotificationType::CustomNotification, NotificationLevel::RegularNotification, 10, text }, canvas, timestamp );
|
push_notification_data({ NotificationType::CustomNotification, NotificationLevel::RegularNotification, 10, text }, timestamp);
|
||||||
}
|
}
|
||||||
void NotificationManager::push_notification(const std::string& text, NotificationManager::NotificationLevel level, GLCanvas3D& canvas, int timestamp)
|
void NotificationManager::push_notification(const std::string& text, NotificationManager::NotificationLevel level, int timestamp)
|
||||||
{
|
{
|
||||||
int duration = 0;
|
int duration = 0;
|
||||||
switch (level) {
|
switch (level) {
|
||||||
@ -872,32 +872,32 @@ void NotificationManager::push_notification(const std::string& text, Notificatio
|
|||||||
assert(false);
|
assert(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
push_notification_data({ NotificationType::CustomNotification, level, duration, text }, canvas, timestamp);
|
push_notification_data({ NotificationType::CustomNotification, level, duration, text }, timestamp);
|
||||||
}
|
}
|
||||||
void NotificationManager::push_slicing_error_notification(const std::string& text, GLCanvas3D& canvas)
|
void NotificationManager::push_slicing_error_notification(const std::string& text)
|
||||||
{
|
{
|
||||||
set_all_slicing_errors_gray(false);
|
set_all_slicing_errors_gray(false);
|
||||||
push_notification_data({ NotificationType::SlicingError, NotificationLevel::ErrorNotification, 0, _u8L("ERROR:") + "\n" + text }, canvas, 0);
|
push_notification_data({ NotificationType::SlicingError, NotificationLevel::ErrorNotification, 0, _u8L("ERROR:") + "\n" + text }, 0);
|
||||||
close_notification_of_type(NotificationType::SlicingComplete);
|
close_notification_of_type(NotificationType::SlicingComplete);
|
||||||
}
|
}
|
||||||
void NotificationManager::push_slicing_warning_notification(const std::string& text, bool gray, GLCanvas3D& canvas, ObjectID oid, int warning_step)
|
void NotificationManager::push_slicing_warning_notification(const std::string& text, bool gray, ObjectID oid, int warning_step)
|
||||||
{
|
{
|
||||||
NotificationData data { NotificationType::SlicingWarning, NotificationLevel::WarningNotification, 0, _u8L("WARNING:") + "\n" + text };
|
NotificationData data { NotificationType::SlicingWarning, NotificationLevel::WarningNotification, 0, _u8L("WARNING:") + "\n" + text };
|
||||||
|
|
||||||
auto notification = std::make_unique<NotificationManager::SlicingWarningNotification>(data, m_id_provider, m_evt_handler);
|
auto notification = std::make_unique<NotificationManager::SlicingWarningNotification>(data, m_id_provider, m_evt_handler);
|
||||||
notification->object_id = oid;
|
notification->object_id = oid;
|
||||||
notification->warning_step = warning_step;
|
notification->warning_step = warning_step;
|
||||||
if (push_notification_data(std::move(notification), canvas, 0)) {
|
if (push_notification_data(std::move(notification), 0)) {
|
||||||
m_pop_notifications.back()->set_gray(gray);
|
m_pop_notifications.back()->set_gray(gray);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void NotificationManager::push_plater_error_notification(const std::string& text, GLCanvas3D& canvas)
|
void NotificationManager::push_plater_error_notification(const std::string& text)
|
||||||
{
|
{
|
||||||
push_notification_data({ NotificationType::PlaterError, NotificationLevel::ErrorNotification, 0, _u8L("ERROR:") + "\n" + text }, canvas, 0);
|
push_notification_data({ NotificationType::PlaterError, NotificationLevel::ErrorNotification, 0, _u8L("ERROR:") + "\n" + text }, 0);
|
||||||
}
|
}
|
||||||
void NotificationManager::push_plater_warning_notification(const std::string& text, GLCanvas3D& canvas)
|
void NotificationManager::push_plater_warning_notification(const std::string& text)
|
||||||
{
|
{
|
||||||
push_notification_data({ NotificationType::PlaterWarning, NotificationLevel::WarningNotification, 0, _u8L("WARNING:") + "\n" + text }, canvas, 0);
|
push_notification_data({ NotificationType::PlaterWarning, NotificationLevel::WarningNotification, 0, _u8L("WARNING:") + "\n" + text }, 0);
|
||||||
// dissaper if in preview
|
// dissaper if in preview
|
||||||
set_in_preview(m_in_preview);
|
set_in_preview(m_in_preview);
|
||||||
}
|
}
|
||||||
@ -951,7 +951,7 @@ void NotificationManager::close_slicing_errors_and_warnings()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void NotificationManager::push_slicing_complete_notification(GLCanvas3D& canvas, int timestamp, bool large)
|
void NotificationManager::push_slicing_complete_notification(int timestamp, bool large)
|
||||||
{
|
{
|
||||||
std::string hypertext;
|
std::string hypertext;
|
||||||
int time = 10;
|
int time = 10;
|
||||||
@ -963,8 +963,7 @@ void NotificationManager::push_slicing_complete_notification(GLCanvas3D& canvas,
|
|||||||
}
|
}
|
||||||
NotificationData data{ NotificationType::SlicingComplete, NotificationLevel::RegularNotification, time, _u8L("Slicing finished."), hypertext, [](wxEvtHandler* evnthndlr){
|
NotificationData data{ NotificationType::SlicingComplete, NotificationLevel::RegularNotification, time, _u8L("Slicing finished."), hypertext, [](wxEvtHandler* evnthndlr){
|
||||||
if (evnthndlr != nullptr) wxPostEvent(evnthndlr, ExportGcodeNotificationClickedEvent(EVT_EXPORT_GCODE_NOTIFICAION_CLICKED)); return true; } };
|
if (evnthndlr != nullptr) wxPostEvent(evnthndlr, ExportGcodeNotificationClickedEvent(EVT_EXPORT_GCODE_NOTIFICAION_CLICKED)); return true; } };
|
||||||
push_notification_data(std::make_unique<NotificationManager::SlicingCompleteLargeNotification>(data, m_id_provider, m_evt_handler, large),
|
push_notification_data(std::make_unique<NotificationManager::SlicingCompleteLargeNotification>(data, m_id_provider, m_evt_handler, large), timestamp);
|
||||||
canvas, timestamp);
|
|
||||||
}
|
}
|
||||||
void NotificationManager::set_slicing_complete_print_time(const std::string &info)
|
void NotificationManager::set_slicing_complete_print_time(const std::string &info)
|
||||||
{
|
{
|
||||||
@ -1001,37 +1000,36 @@ void NotificationManager::remove_slicing_warnings_of_released_objects(const std:
|
|||||||
notification->close();
|
notification->close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void NotificationManager::push_exporting_finished_notification(GLCanvas3D& canvas, std::string path, std::string dir_path, bool on_removable)
|
void NotificationManager::push_exporting_finished_notification(const std::string& path, const std::string& dir_path, bool on_removable)
|
||||||
{
|
{
|
||||||
close_notification_of_type(NotificationType::ExportFinished);
|
close_notification_of_type(NotificationType::ExportFinished);
|
||||||
NotificationData data{ NotificationType::ExportFinished, NotificationLevel::RegularNotification, 0, _u8L("Exporting finished.") +"\n"+ path };
|
NotificationData data{ NotificationType::ExportFinished, NotificationLevel::RegularNotification, 0, _u8L("Exporting finished.") + "\n" + path };
|
||||||
push_notification_data(std::make_unique<NotificationManager::ExportFinishedNotification>(data, m_id_provider, m_evt_handler, on_removable, path, dir_path),
|
push_notification_data(std::make_unique<NotificationManager::ExportFinishedNotification>(data, m_id_provider, m_evt_handler, on_removable, path, dir_path), 0);
|
||||||
canvas, 0);
|
|
||||||
}
|
}
|
||||||
void NotificationManager::push_progress_bar_notification(const std::string& text, GLCanvas3D& canvas, float percentage)
|
void NotificationManager::push_progress_bar_notification(const std::string& text, float percentage)
|
||||||
{
|
{
|
||||||
NotificationData data{ NotificationType::ProgressBar, NotificationLevel::ProgressBarNotification, 0, text };
|
NotificationData data{ NotificationType::ProgressBar, NotificationLevel::ProgressBarNotification, 0, text };
|
||||||
push_notification_data(std::make_unique<NotificationManager::ProgressBarNotification>(data, m_id_provider, m_evt_handler, 0),canvas, 0);
|
push_notification_data(std::make_unique<NotificationManager::ProgressBarNotification>(data, m_id_provider, m_evt_handler, 0), 0);
|
||||||
}
|
}
|
||||||
void NotificationManager::set_progress_bar_percentage(const std::string& text, float percentage, GLCanvas3D& canvas)
|
void NotificationManager::set_progress_bar_percentage(const std::string& text, float percentage)
|
||||||
{
|
{
|
||||||
bool found = false;
|
bool found = false;
|
||||||
for (std::unique_ptr<PopNotification>& notification : m_pop_notifications) {
|
for (std::unique_ptr<PopNotification>& notification : m_pop_notifications) {
|
||||||
if (notification->get_type() == NotificationType::ProgressBar && notification->compare_text(text)) {
|
if (notification->get_type() == NotificationType::ProgressBar && notification->compare_text(text)) {
|
||||||
dynamic_cast<ProgressBarNotification*>(notification.get())->set_percentage(percentage);
|
dynamic_cast<ProgressBarNotification*>(notification.get())->set_percentage(percentage);
|
||||||
canvas.request_extra_frame();
|
wxGetApp().plater()->get_current_canvas3D()->request_extra_frame();
|
||||||
found = true;
|
found = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!found) {
|
if (!found) {
|
||||||
push_progress_bar_notification(text, canvas, percentage);
|
push_progress_bar_notification(text, percentage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
bool NotificationManager::push_notification_data(const NotificationData ¬ification_data, GLCanvas3D& canvas, int timestamp)
|
bool NotificationManager::push_notification_data(const NotificationData& notification_data, int timestamp)
|
||||||
{
|
{
|
||||||
return push_notification_data(std::make_unique<PopNotification>(notification_data, m_id_provider, m_evt_handler), canvas, timestamp);
|
return push_notification_data(std::make_unique<PopNotification>(notification_data, m_id_provider, m_evt_handler), timestamp);
|
||||||
}
|
}
|
||||||
bool NotificationManager::push_notification_data(std::unique_ptr<NotificationManager::PopNotification> notification, GLCanvas3D& canvas, int timestamp)
|
bool NotificationManager::push_notification_data(std::unique_ptr<NotificationManager::PopNotification> notification, int timestamp)
|
||||||
{
|
{
|
||||||
// if timestamped notif, push only new one
|
// if timestamped notif, push only new one
|
||||||
if (timestamp != 0) {
|
if (timestamp != 0) {
|
||||||
@ -1041,6 +1039,9 @@ bool NotificationManager::push_notification_data(std::unique_ptr<NotificationMan
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GLCanvas3D& canvas = *wxGetApp().plater()->get_current_canvas3D();
|
||||||
|
|
||||||
if (this->activate_existing(notification.get())) {
|
if (this->activate_existing(notification.get())) {
|
||||||
m_pop_notifications.back()->update(notification->get_data());
|
m_pop_notifications.back()->update(notification->get_data());
|
||||||
canvas.request_extra_frame();
|
canvas.request_extra_frame();
|
||||||
@ -1051,7 +1052,7 @@ bool NotificationManager::push_notification_data(std::unique_ptr<NotificationMan
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void NotificationManager::render_notifications(GLCanvas3D& canvas, float overlay_width)
|
void NotificationManager::render_notifications(float overlay_width)
|
||||||
{
|
{
|
||||||
float last_x = 0.0f;
|
float last_x = 0.0f;
|
||||||
float current_height = 0.0f;
|
float current_height = 0.0f;
|
||||||
@ -1059,6 +1060,9 @@ void NotificationManager::render_notifications(GLCanvas3D& canvas, float overlay
|
|||||||
bool render_main = false;
|
bool render_main = false;
|
||||||
bool hovered = false;
|
bool hovered = false;
|
||||||
sort_notifications();
|
sort_notifications();
|
||||||
|
|
||||||
|
GLCanvas3D& canvas = *wxGetApp().plater()->get_current_canvas3D();
|
||||||
|
|
||||||
// iterate thru notifications and render them / erease them
|
// iterate thru notifications and render them / erease them
|
||||||
for (auto it = m_pop_notifications.begin(); it != m_pop_notifications.end();) {
|
for (auto it = m_pop_notifications.begin(); it != m_pop_notifications.end();) {
|
||||||
if ((*it)->get_finished()) {
|
if ((*it)->get_finished()) {
|
||||||
|
@ -87,16 +87,16 @@ public:
|
|||||||
NotificationManager(wxEvtHandler* evt_handler);
|
NotificationManager(wxEvtHandler* evt_handler);
|
||||||
|
|
||||||
// Push a prefabricated notification from basic_notifications (see the table at the end of this file).
|
// Push a prefabricated notification from basic_notifications (see the table at the end of this file).
|
||||||
void push_notification(const NotificationType type, GLCanvas3D& canvas, int timestamp = 0);
|
void push_notification(const NotificationType type, int timestamp = 0);
|
||||||
// Push a NotificationType::CustomNotification with NotificationLevel::RegularNotification and 10s fade out interval.
|
// Push a NotificationType::CustomNotification with NotificationLevel::RegularNotification and 10s fade out interval.
|
||||||
void push_notification(const std::string& text, GLCanvas3D& canvas, int timestamp = 0);
|
void push_notification(const std::string& text, int timestamp = 0);
|
||||||
// Push a NotificationType::CustomNotification with provided notification level and 10s for RegularNotification.
|
// Push a NotificationType::CustomNotification with provided notification level and 10s for RegularNotification.
|
||||||
// ErrorNotification and ImportantNotification are never faded out.
|
// ErrorNotification and ImportantNotification are never faded out.
|
||||||
void push_notification(const std::string& text, NotificationLevel level, GLCanvas3D& canvas, int timestamp = 0);
|
void push_notification(const std::string& text, NotificationLevel level, int timestamp = 0);
|
||||||
// Creates Slicing Error notification with a custom text and no fade out.
|
// Creates Slicing Error notification with a custom text and no fade out.
|
||||||
void push_slicing_error_notification(const std::string& text, GLCanvas3D& canvas);
|
void push_slicing_error_notification(const std::string& text);
|
||||||
// Creates Slicing Warning notification with a custom text and no fade out.
|
// Creates Slicing Warning notification with a custom text and no fade out.
|
||||||
void push_slicing_warning_notification(const std::string& text, bool gray, GLCanvas3D& canvas, ObjectID oid, int warning_step);
|
void push_slicing_warning_notification(const std::string& text, bool gray, ObjectID oid, int warning_step);
|
||||||
// marks slicing errors as gray
|
// marks slicing errors as gray
|
||||||
void set_all_slicing_errors_gray(bool g);
|
void set_all_slicing_errors_gray(bool g);
|
||||||
// marks slicing warings as gray
|
// marks slicing warings as gray
|
||||||
@ -108,32 +108,32 @@ public:
|
|||||||
// living_oids is expected to be sorted.
|
// living_oids is expected to be sorted.
|
||||||
void remove_slicing_warnings_of_released_objects(const std::vector<ObjectID>& living_oids);
|
void remove_slicing_warnings_of_released_objects(const std::vector<ObjectID>& living_oids);
|
||||||
// Object partially outside of the printer working space, cannot print. No fade out.
|
// Object partially outside of the printer working space, cannot print. No fade out.
|
||||||
void push_plater_error_notification(const std::string& text, GLCanvas3D& canvas);
|
void push_plater_error_notification(const std::string& text);
|
||||||
// Object fully out of the printer working space and such. No fade out.
|
// Object fully out of the printer working space and such. No fade out.
|
||||||
void push_plater_warning_notification(const std::string& text, GLCanvas3D& canvas);
|
void push_plater_warning_notification(const std::string& text);
|
||||||
// Closes error or warning of the same text
|
// Closes error or warning of the same text
|
||||||
void close_plater_error_notification(const std::string& text);
|
void close_plater_error_notification(const std::string& text);
|
||||||
void close_plater_warning_notification(const std::string& text);
|
void close_plater_warning_notification(const std::string& text);
|
||||||
// Creates special notification slicing complete.
|
// Creates special notification slicing complete.
|
||||||
// If large = true (Plater side bar is closed), then printing time and export button is shown
|
// If large = true (Plater side bar is closed), then printing time and export button is shown
|
||||||
// at the notification and fade-out is disabled. Otherwise the fade out time is set to 10s.
|
// at the notification and fade-out is disabled. Otherwise the fade out time is set to 10s.
|
||||||
void push_slicing_complete_notification(GLCanvas3D& canvas, int timestamp, bool large);
|
void push_slicing_complete_notification(int timestamp, bool large);
|
||||||
// Add a print time estimate to an existing SlicingComplete notification.
|
// Add a print time estimate to an existing SlicingComplete notification.
|
||||||
void set_slicing_complete_print_time(const std::string &info);
|
void set_slicing_complete_print_time(const std::string &info);
|
||||||
// Called when the side bar changes its visibility, as the "slicing complete" notification supplements
|
// Called when the side bar changes its visibility, as the "slicing complete" notification supplements
|
||||||
// the "slicing info" normally shown at the side bar.
|
// the "slicing info" normally shown at the side bar.
|
||||||
void set_slicing_complete_large(bool large);
|
void set_slicing_complete_large(bool large);
|
||||||
// Exporting finished, show this information with path, button to open containing folder and if ejectable - eject button
|
// Exporting finished, show this information with path, button to open containing folder and if ejectable - eject button
|
||||||
void push_exporting_finished_notification(GLCanvas3D& canvas, std::string path, std::string dir_path, bool on_removable);
|
void push_exporting_finished_notification(const std::string& path, const std::string& dir_path, bool on_removable);
|
||||||
// notification with progress bar
|
// notification with progress bar
|
||||||
void push_progress_bar_notification(const std::string& text, GLCanvas3D& canvas, float percentage = 0);
|
void push_progress_bar_notification(const std::string& text, float percentage = 0);
|
||||||
void set_progress_bar_percentage(const std::string& text, float percentage, GLCanvas3D& canvas);
|
void set_progress_bar_percentage(const std::string& text, float percentage);
|
||||||
// Close old notification ExportFinished.
|
// Close old notification ExportFinished.
|
||||||
void new_export_began(bool on_removable);
|
void new_export_began(bool on_removable);
|
||||||
// finds ExportFinished notification and closes it if it was to removable device
|
// finds ExportFinished notification and closes it if it was to removable device
|
||||||
void device_ejected();
|
void device_ejected();
|
||||||
// renders notifications in queue and deletes expired ones
|
// renders notifications in queue and deletes expired ones
|
||||||
void render_notifications(GLCanvas3D& canvas, float overlay_width);
|
void render_notifications(float overlay_width);
|
||||||
// finds and closes all notifications of given type
|
// finds and closes all notifications of given type
|
||||||
void close_notification_of_type(const NotificationType type);
|
void close_notification_of_type(const NotificationType type);
|
||||||
// Which view is active? Plater or G-code preview? Hide warnings in G-code preview.
|
// Which view is active? Plater or G-code preview? Hide warnings in G-code preview.
|
||||||
@ -366,8 +366,8 @@ private:
|
|||||||
|
|
||||||
//pushes notification into the queue of notifications that are rendered
|
//pushes notification into the queue of notifications that are rendered
|
||||||
//can be used to create custom notification
|
//can be used to create custom notification
|
||||||
bool push_notification_data(const NotificationData& notification_data, GLCanvas3D& canvas, int timestamp);
|
bool push_notification_data(const NotificationData& notification_data, int timestamp);
|
||||||
bool push_notification_data(std::unique_ptr<NotificationManager::PopNotification> notification, GLCanvas3D& canvas, int timestamp);
|
bool push_notification_data(std::unique_ptr<NotificationManager::PopNotification> notification, int timestamp);
|
||||||
//finds older notification of same type and moves it to the end of queue. returns true if found
|
//finds older notification of same type and moves it to the end of queue. returns true if found
|
||||||
bool activate_existing(const NotificationManager::PopNotification* notification);
|
bool activate_existing(const NotificationManager::PopNotification* notification);
|
||||||
// Put the more important notifications to the bottom of the list.
|
// Put the more important notifications to the bottom of the list.
|
||||||
|
@ -2106,12 +2106,12 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame)
|
|||||||
if (evt.data.second) {
|
if (evt.data.second) {
|
||||||
this->show_action_buttons(this->ready_to_slice);
|
this->show_action_buttons(this->ready_to_slice);
|
||||||
notification_manager->close_notification_of_type(NotificationType::ExportFinished);
|
notification_manager->close_notification_of_type(NotificationType::ExportFinished);
|
||||||
notification_manager->push_notification(format(_L("Successfully unmounted. The device %s(%s) can now be safely removed from the computer."),evt.data.first.name, evt.data.first.path),
|
notification_manager->push_notification(format(_L("Successfully unmounted. The device %s(%s) can now be safely removed from the computer."), evt.data.first.name, evt.data.first.path),
|
||||||
NotificationManager::NotificationLevel::RegularNotification, *q->get_current_canvas3D());
|
NotificationManager::NotificationLevel::RegularNotification);
|
||||||
} else {
|
} else {
|
||||||
notification_manager->push_notification(format(_L("Ejecting of device %s(%s) has failed."), evt.data.first.name, evt.data.first.path),
|
notification_manager->push_notification(format(_L("Ejecting of device %s(%s) has failed."), evt.data.first.name, evt.data.first.path),
|
||||||
NotificationManager::NotificationLevel::ErrorNotification, *q->get_current_canvas3D());
|
NotificationManager::NotificationLevel::ErrorNotification);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this->q->Bind(EVT_REMOVABLE_DRIVES_CHANGED, [this, q](RemovableDrivesChangedEvent &) {
|
this->q->Bind(EVT_REMOVABLE_DRIVES_CHANGED, [this, q](RemovableDrivesChangedEvent &) {
|
||||||
this->show_action_buttons(this->ready_to_slice);
|
this->show_action_buttons(this->ready_to_slice);
|
||||||
@ -2938,7 +2938,7 @@ unsigned int Plater::priv::update_background_process(bool force_validation, bool
|
|||||||
} else {
|
} else {
|
||||||
// The print is not valid.
|
// The print is not valid.
|
||||||
// Show error as notification.
|
// Show error as notification.
|
||||||
notification_manager->push_slicing_error_notification(err, *q->get_current_canvas3D());
|
notification_manager->push_slicing_error_notification(err);
|
||||||
return_state |= UPDATE_BACKGROUND_PROCESS_INVALID;
|
return_state |= UPDATE_BACKGROUND_PROCESS_INVALID;
|
||||||
}
|
}
|
||||||
} else if (! this->delayed_error_message.empty()) {
|
} else if (! this->delayed_error_message.empty()) {
|
||||||
@ -3499,7 +3499,7 @@ void Plater::priv::on_slicing_update(SlicingStatusEvent &evt)
|
|||||||
|
|
||||||
this->statusbar()->set_progress(evt.status.percent);
|
this->statusbar()->set_progress(evt.status.percent);
|
||||||
this->statusbar()->set_status_text(_(evt.status.text) + wxString::FromUTF8("…"));
|
this->statusbar()->set_status_text(_(evt.status.text) + wxString::FromUTF8("…"));
|
||||||
//notification_manager->set_progress_bar_percentage("Slicing progress", (float)evt.status.percent / 100.0f, *q->get_current_canvas3D());
|
//notification_manager->set_progress_bar_percentage("Slicing progress", (float)evt.status.percent / 100.0f);
|
||||||
}
|
}
|
||||||
if (evt.status.flags & (PrintBase::SlicingStatus::RELOAD_SCENE | PrintBase::SlicingStatus::RELOAD_SLA_SUPPORT_POINTS)) {
|
if (evt.status.flags & (PrintBase::SlicingStatus::RELOAD_SCENE | PrintBase::SlicingStatus::RELOAD_SLA_SUPPORT_POINTS)) {
|
||||||
switch (this->printer_technology) {
|
switch (this->printer_technology) {
|
||||||
@ -3541,8 +3541,8 @@ void Plater::priv::on_slicing_update(SlicingStatusEvent &evt)
|
|||||||
// Now process state.warnings.
|
// Now process state.warnings.
|
||||||
for (auto const& warning : state.warnings) {
|
for (auto const& warning : state.warnings) {
|
||||||
if (warning.current) {
|
if (warning.current) {
|
||||||
notification_manager->push_slicing_warning_notification(warning.message, false, *q->get_current_canvas3D(), object_id, warning_step);
|
notification_manager->push_slicing_warning_notification(warning.message, false, object_id, warning_step);
|
||||||
add_warning(warning, object_id.id);
|
add_warning(warning, object_id.id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3550,7 +3550,7 @@ void Plater::priv::on_slicing_update(SlicingStatusEvent &evt)
|
|||||||
|
|
||||||
void Plater::priv::on_slicing_completed(wxCommandEvent & evt)
|
void Plater::priv::on_slicing_completed(wxCommandEvent & evt)
|
||||||
{
|
{
|
||||||
notification_manager->push_slicing_complete_notification(*q->get_current_canvas3D(), evt.GetInt(), is_sidebar_collapsed());
|
notification_manager->push_slicing_complete_notification(evt.GetInt(), is_sidebar_collapsed());
|
||||||
switch (this->printer_technology) {
|
switch (this->printer_technology) {
|
||||||
case ptFFF:
|
case ptFFF:
|
||||||
this->update_fff_scene();
|
this->update_fff_scene();
|
||||||
@ -3644,7 +3644,7 @@ void Plater::priv::on_process_completed(SlicingProcessCompletedEvent &evt)
|
|||||||
else
|
else
|
||||||
show_error(q, message);
|
show_error(q, message);
|
||||||
} else
|
} else
|
||||||
notification_manager->push_slicing_error_notification(message, *q->get_current_canvas3D());
|
notification_manager->push_slicing_error_notification(message);
|
||||||
this->statusbar()->set_status_text(from_u8(message));
|
this->statusbar()->set_status_text(from_u8(message));
|
||||||
if (evt.invalidate_plater())
|
if (evt.invalidate_plater())
|
||||||
{
|
{
|
||||||
@ -3690,10 +3690,10 @@ void Plater::priv::on_process_completed(SlicingProcessCompletedEvent &evt)
|
|||||||
// If writing to removable drive was scheduled, show notification with eject button
|
// If writing to removable drive was scheduled, show notification with eject button
|
||||||
if (exporting_status == ExportingStatus::EXPORTING_TO_REMOVABLE && !this->process_completed_with_error) {
|
if (exporting_status == ExportingStatus::EXPORTING_TO_REMOVABLE && !this->process_completed_with_error) {
|
||||||
show_action_buttons(false);
|
show_action_buttons(false);
|
||||||
notification_manager->push_exporting_finished_notification(*q->get_current_canvas3D(), last_output_path, last_output_dir_path, true);
|
notification_manager->push_exporting_finished_notification(last_output_path, last_output_dir_path, true);
|
||||||
wxGetApp().removable_drive_manager()->set_exporting_finished(true);
|
wxGetApp().removable_drive_manager()->set_exporting_finished(true);
|
||||||
}else if (exporting_status == ExportingStatus::EXPORTING_TO_LOCAL && !this->process_completed_with_error)
|
}else if (exporting_status == ExportingStatus::EXPORTING_TO_LOCAL && !this->process_completed_with_error)
|
||||||
notification_manager->push_exporting_finished_notification(*q->get_current_canvas3D(), last_output_path, last_output_dir_path, false);
|
notification_manager->push_exporting_finished_notification(last_output_path, last_output_dir_path, false);
|
||||||
}
|
}
|
||||||
exporting_status = ExportingStatus::NOT_EXPORTING;
|
exporting_status = ExportingStatus::NOT_EXPORTING;
|
||||||
}
|
}
|
||||||
|
@ -827,7 +827,7 @@ PresetUpdater::UpdateResult PresetUpdater::config_update(const Semver& old_slic3
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
p->set_waiting_updates(updates);
|
p->set_waiting_updates(updates);
|
||||||
GUI::wxGetApp().plater()->get_notification_manager()->push_notification(GUI::NotificationType::PresetUpdateAvailable, *(GUI::wxGetApp().plater()->get_current_canvas3D()));
|
GUI::wxGetApp().plater()->get_notification_manager()->push_notification(GUI::NotificationType::PresetUpdateAvailable);
|
||||||
}
|
}
|
||||||
|
|
||||||
// MsgUpdateConfig will show after the notificaation is clicked
|
// MsgUpdateConfig will show after the notificaation is clicked
|
||||||
|
Loading…
x
Reference in New Issue
Block a user