mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-11-02 20:51:23 -07:00 
			
		
		
		
	notifications: plater warning not visible in preview
This commit is contained in:
		
							parent
							
								
									2455df4017
								
							
						
					
					
						commit
						25fb569017
					
				
					 3 changed files with 16 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -909,6 +909,14 @@ bool NotificationManager::find_older(NotificationManager::PopNotification* notif
 | 
			
		|||
	return false;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void NotificationManager::set_in_preview(bool preview) 
 | 
			
		||||
{ 
 | 
			
		||||
    m_in_preview = preview;
 | 
			
		||||
    for (PopNotification* notification : m_pop_notifications) {
 | 
			
		||||
        if (notification->get_type() == NotificationType::PlaterWarning) 
 | 
			
		||||
            notification->hide(preview);     
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
void NotificationManager::dpi_changed()
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -94,6 +94,7 @@ public:
 | 
			
		|||
		void                   set_gray(bool g) { m_is_gray = g; }
 | 
			
		||||
		void                   set_paused(bool p) { m_paused = p; }
 | 
			
		||||
		bool                   compare_text(const std::string& text);
 | 
			
		||||
        void                   hide(bool h) { m_hidden = h; }
 | 
			
		||||
	protected:
 | 
			
		||||
		// Call after every size change
 | 
			
		||||
		void         init();
 | 
			
		||||
| 
						 | 
				
			
			@ -230,6 +231,7 @@ public:
 | 
			
		|||
	// finds and closes all notifications of given type
 | 
			
		||||
	void close_notification_of_type(const NotificationType type);
 | 
			
		||||
	void dpi_changed();
 | 
			
		||||
    void set_in_preview(bool preview);
 | 
			
		||||
private:
 | 
			
		||||
	//pushes notification into the queue of notifications that are rendered
 | 
			
		||||
	//can be used to create custom notification
 | 
			
		||||
| 
						 | 
				
			
			@ -246,6 +248,7 @@ private:
 | 
			
		|||
	bool                         m_hovered { false };
 | 
			
		||||
	//timestamps used for slining finished - notification could be gone so it needs to be stored here
 | 
			
		||||
	std::unordered_set<int>      m_used_timestamps;
 | 
			
		||||
    bool                         m_in_preview;
 | 
			
		||||
 | 
			
		||||
	//prepared (basic) notifications
 | 
			
		||||
	const std::vector<NotificationData> basic_notifications = {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1512,7 +1512,7 @@ struct Plater::priv
 | 
			
		|||
    GLToolbar view_toolbar;
 | 
			
		||||
    GLToolbar collapse_toolbar;
 | 
			
		||||
    Preview *preview;
 | 
			
		||||
	NotificationManager* notification_manager;
 | 
			
		||||
    NotificationManager* notification_manager { nullptr };
 | 
			
		||||
 | 
			
		||||
    BackgroundSlicingProcess    background_process;
 | 
			
		||||
    bool suppressed_backround_processing_update { false };
 | 
			
		||||
| 
						 | 
				
			
			@ -3304,6 +3304,8 @@ void Plater::priv::set_current_panel(wxPanel* panel)
 | 
			
		|||
        // sets the canvas as dirty to force a render at the 1st idle event (wxWidgets IsShownOnScreen() is buggy and cannot be used reliably)
 | 
			
		||||
        view3D->set_as_dirty();
 | 
			
		||||
        view_toolbar.select_item("3D");
 | 
			
		||||
        if(notification_manager != nullptr)
 | 
			
		||||
            notification_manager->set_in_preview(false);
 | 
			
		||||
    }
 | 
			
		||||
    else if (current_panel == preview)
 | 
			
		||||
    {
 | 
			
		||||
| 
						 | 
				
			
			@ -3318,6 +3320,8 @@ void Plater::priv::set_current_panel(wxPanel* panel)
 | 
			
		|||
 | 
			
		||||
        preview->set_as_dirty();
 | 
			
		||||
        view_toolbar.select_item("Preview");
 | 
			
		||||
        if (notification_manager != nullptr)
 | 
			
		||||
            notification_manager->set_in_preview(true);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    current_panel->SetFocusFromKbd();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue