mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-30 20:21:12 -06:00 
			
		
		
		
	Fixed selection when right-clicking in the 3D scene to show the context menu
This commit is contained in:
		
							parent
							
								
									07d1d44d8c
								
							
						
					
					
						commit
						dddea0db22
					
				
					 3 changed files with 4 additions and 4 deletions
				
			
		|  | @ -2580,7 +2580,7 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) | |||
|                         m_selection.remove(m_hover_volume_id); | ||||
|                     else | ||||
|                     { | ||||
|                         m_selection.add(m_hover_volume_id, !ctrl_down); | ||||
|                         m_selection.add(m_hover_volume_id, !ctrl_down, true); | ||||
|                         m_mouse.drag.move_requires_threshold = !already_selected; | ||||
|                         if (already_selected) | ||||
|                             m_mouse.set_move_start_threshold_position_2D_as_invalid(); | ||||
|  |  | |||
|  | @ -99,7 +99,7 @@ void Selection::set_model(Model* model) | |||
|     update_valid(); | ||||
| } | ||||
| 
 | ||||
| void Selection::add(unsigned int volume_idx, bool as_single_selection) | ||||
| void Selection::add(unsigned int volume_idx, bool as_single_selection, bool check_for_already_contained) | ||||
| { | ||||
|     if (!m_valid || ((unsigned int)m_volumes->size() <= volume_idx)) | ||||
|         return; | ||||
|  | @ -110,7 +110,7 @@ void Selection::add(unsigned int volume_idx, bool as_single_selection) | |||
|         return; | ||||
| 
 | ||||
|     bool keep_instance_mode = (m_mode == Instance) && !as_single_selection; | ||||
|     bool already_contained = contains_volume(volume_idx); | ||||
|     bool already_contained = check_for_already_contained && contains_volume(volume_idx); | ||||
| 
 | ||||
|     // resets the current list if needed
 | ||||
|     bool needs_reset = as_single_selection && !already_contained; | ||||
|  |  | |||
|  | @ -210,7 +210,7 @@ public: | |||
|     EMode get_mode() const { return m_mode; } | ||||
|     void set_mode(EMode mode) { m_mode = mode; } | ||||
| 
 | ||||
|     void add(unsigned int volume_idx, bool as_single_selection = true); | ||||
|     void add(unsigned int volume_idx, bool as_single_selection = true, bool check_for_already_contained = false); | ||||
|     void remove(unsigned int volume_idx); | ||||
| 
 | ||||
|     void add_object(unsigned int object_idx, bool as_single_selection = true); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Enrico Turri
						Enrico Turri