mirror of
https://git.mirrors.martin98.com/https://github.com/bambulab/BambuStudio.git
synced 2025-09-24 07:33:14 +08:00
FIX: optimize batch update object list on macOS
Change-Id: I92e24cc53c0b3bf0658d15abc64292f0e17c0a82 Jira: STUDIO-5440 STUDIO-5515
This commit is contained in:
parent
adfcddd329
commit
860ea9b097
@ -684,6 +684,9 @@ void ObjectList::update_filament_values_for_items(const size_t filaments_count)
|
|||||||
|
|
||||||
void ObjectList::update_plate_values_for_items()
|
void ObjectList::update_plate_values_for_items()
|
||||||
{
|
{
|
||||||
|
#ifdef __WXOSX__
|
||||||
|
AssociateModel(nullptr);
|
||||||
|
#endif
|
||||||
PartPlateList& list = wxGetApp().plater()->get_partplate_list();
|
PartPlateList& list = wxGetApp().plater()->get_partplate_list();
|
||||||
for (size_t i = 0; i < m_objects->size(); ++i)
|
for (size_t i = 0; i < m_objects->size(); ++i)
|
||||||
{
|
{
|
||||||
@ -709,6 +712,9 @@ void ObjectList::update_plate_values_for_items()
|
|||||||
Expand(item);
|
Expand(item);
|
||||||
Select(item);
|
Select(item);
|
||||||
}
|
}
|
||||||
|
#ifdef __WXOSX__
|
||||||
|
AssociateModel(m_objects_model);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// BBS
|
// BBS
|
||||||
@ -3918,16 +3924,10 @@ void ObjectList::update_lock_icons_for_model()
|
|||||||
|
|
||||||
void ObjectList::delete_all_objects_from_list()
|
void ObjectList::delete_all_objects_from_list()
|
||||||
{
|
{
|
||||||
#ifdef __WXOSX__
|
|
||||||
AssociateModel(nullptr);
|
|
||||||
#endif
|
|
||||||
m_prevent_list_events = true;
|
m_prevent_list_events = true;
|
||||||
reload_all_plates();
|
reload_all_plates();
|
||||||
m_prevent_list_events = false;
|
m_prevent_list_events = false;
|
||||||
part_selection_changed();
|
part_selection_changed();
|
||||||
#ifdef __WXOSX__
|
|
||||||
AssociateModel(m_objects_model);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ObjectList::increase_object_instances(const size_t obj_idx, const size_t num)
|
void ObjectList::increase_object_instances(const size_t obj_idx, const size_t num)
|
||||||
@ -5747,6 +5747,9 @@ void ObjectList::on_plate_deleted(int plate_idx)
|
|||||||
void ObjectList::reload_all_plates(bool notify_partplate)
|
void ObjectList::reload_all_plates(bool notify_partplate)
|
||||||
{
|
{
|
||||||
m_prevent_canvas_selection_update = true;
|
m_prevent_canvas_selection_update = true;
|
||||||
|
#ifdef __WXOSX__
|
||||||
|
AssociateModel(nullptr);
|
||||||
|
#endif
|
||||||
|
|
||||||
// Unselect all objects before deleting them, so that no change of selection is emitted during deletion.
|
// Unselect all objects before deleting them, so that no change of selection is emitted during deletion.
|
||||||
|
|
||||||
@ -5776,6 +5779,9 @@ void ObjectList::reload_all_plates(bool notify_partplate)
|
|||||||
|
|
||||||
update_selections();
|
update_selections();
|
||||||
|
|
||||||
|
#ifdef __WXOSX__
|
||||||
|
AssociateModel(m_objects_model);
|
||||||
|
#endif
|
||||||
m_prevent_canvas_selection_update = false;
|
m_prevent_canvas_selection_update = false;
|
||||||
|
|
||||||
// update scene
|
// update scene
|
||||||
|
Loading…
x
Reference in New Issue
Block a user