mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-30 20:21:12 -06:00 
			
		
		
		
	ENH:optimize the popup position of the fan control dialog
Change-Id: I98212c2860dfec955072c82710c8dee31866fd1d
This commit is contained in:
		
							parent
							
								
									7b0bfa8229
								
							
						
					
					
						commit
						b3575b47d1
					
				
					 2 changed files with 31 additions and 7 deletions
				
			
		|  | @ -1178,7 +1178,7 @@ void StatusPanel::update_camera_state(MachineObject* obj) | |||
| 
 | ||||
| StatusPanel::StatusPanel(wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size, long style, const wxString &name) | ||||
|     : StatusBasePanel(parent, id, pos, size, style) | ||||
|     , m_fan_control_popup(FanControlPopup(this)) | ||||
|     , m_fan_control_popup(new FanControlPopup(this)) | ||||
| { | ||||
|     create_tasklist_info(); | ||||
|     update_tasklist_info(); | ||||
|  | @ -1777,7 +1777,9 @@ void StatusPanel::update_misc_ctrl(MachineObject *obj) | |||
|         int speed = round(obj->cooling_fan_speed / float(25.5)); | ||||
|         m_switch_nozzle_fan->SetValue(speed > 0 ? true : false); | ||||
|         m_switch_nozzle_fan->setFanValue(speed * 10); | ||||
|         m_fan_control_popup.update_fan_data(MachineObject::FanType::COOLING_FAN, obj); | ||||
|         if (m_fan_control_popup) { | ||||
|             m_fan_control_popup->update_fan_data(MachineObject::FanType::COOLING_FAN, obj); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     // printing fan
 | ||||
|  | @ -1787,7 +1789,9 @@ void StatusPanel::update_misc_ctrl(MachineObject *obj) | |||
|         int speed = round(obj->big_fan1_speed / float(25.5)); | ||||
|         m_switch_printing_fan->SetValue(speed > 0 ? true : false); | ||||
|         m_switch_printing_fan->setFanValue(speed * 10); | ||||
|         m_fan_control_popup.update_fan_data(MachineObject::FanType::BIG_COOLING_FAN, obj); | ||||
|         if (m_fan_control_popup) { | ||||
|             m_fan_control_popup->update_fan_data(MachineObject::FanType::BIG_COOLING_FAN, obj); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     // cham fan
 | ||||
|  | @ -1797,7 +1801,9 @@ void StatusPanel::update_misc_ctrl(MachineObject *obj) | |||
|         int speed = round(obj->big_fan2_speed / float(25.5)); | ||||
|         m_switch_cham_fan->SetValue(speed > 0 ? true : false); | ||||
|         m_switch_cham_fan->setFanValue(speed * 10); | ||||
|         m_fan_control_popup.update_fan_data(MachineObject::FanType::CHAMBER_FAN, obj); | ||||
|         if (m_fan_control_popup) { | ||||
|             m_fan_control_popup->update_fan_data(MachineObject::FanType::CHAMBER_FAN, obj); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     bool light_on = obj->chamber_light != MachineObject::LIGHT_EFFECT::LIGHT_EFFECT_OFF; | ||||
|  | @ -2738,10 +2744,28 @@ void StatusPanel::on_printing_fan_switch(wxCommandEvent &event) | |||
| 
 | ||||
| void StatusPanel::on_nozzle_fan_switch(wxCommandEvent &event) | ||||
| { | ||||
|     | ||||
| 
 | ||||
|     m_fan_control_popup->Destroy(); | ||||
|     m_fan_control_popup = new FanControlPopup(this); | ||||
|     auto pos = m_switch_nozzle_fan->GetScreenPosition(); | ||||
|     pos.y = pos.y + m_switch_nozzle_fan->GetSize().y; | ||||
|     m_fan_control_popup.SetPosition(pos); | ||||
|     m_fan_control_popup.Popup(); | ||||
|      | ||||
| 
 | ||||
| 
 | ||||
|     int display_idx = wxDisplay::GetFromWindow(this); | ||||
|     auto display = wxDisplay(display_idx).GetClientArea(); | ||||
|     | ||||
| 
 | ||||
|     wxSize screenSize = wxSize(display.GetWidth(), display.GetHeight()); | ||||
|     auto fan_popup_size = m_fan_control_popup->GetSize(); | ||||
| 
 | ||||
|     if (screenSize.y - fan_popup_size.y < FromDIP(300)) { | ||||
|         pos.x += FromDIP(50); | ||||
|         pos.y = (screenSize.y - fan_popup_size.y) / 2; | ||||
|     } | ||||
|     m_fan_control_popup->SetPosition(pos); | ||||
|     m_fan_control_popup->Popup(); | ||||
|      | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -273,7 +273,7 @@ protected: | |||
|     SecondaryCheckDialog* abort_dlg = nullptr; | ||||
|     SecondaryCheckDialog* ctrl_e_hint_dlg = nullptr; | ||||
|     SecondaryCheckDialog* sdcard_hint_dlg = nullptr; | ||||
|     FanControlPopup m_fan_control_popup{nullptr}; | ||||
|     FanControlPopup* m_fan_control_popup{nullptr}; | ||||
| 
 | ||||
|     wxString     m_request_url; | ||||
|     bool         m_start_loading_thumbnail = false; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 tao wang
						tao wang