FIX:Missed an unmatched processing and add update_final_thumbnail_data

jira: STUDIO-11528
Change-Id: Ibc5b8423731d5028c8f3d2fb14518cfd26293a21
This commit is contained in:
zhou.xu 2025-04-11 16:59:58 +08:00 committed by lane.wei
parent 132d87b687
commit d66d18529a
2 changed files with 17 additions and 5 deletions

View File

@ -2614,6 +2614,8 @@ void SyncAmsInfoDialog::reset_all_ams_info()
for (int i = 0; i < m_ams_mapping_result.size(); i++) {
reset_one_ams_material(std::to_string(i+1),true);
}
sync_ams_mapping_result(m_ams_mapping_result);
update_final_thumbnail_data();
m_reset_all_btn->Hide();
Refresh();
}
@ -2889,6 +2891,7 @@ void SyncAmsInfoDialog::reset_and_sync_ams_list()
m_mapping_popup.show_reset_button();
auto reset_call_back = [this](const std::string &item_index_str) {
reset_one_ams_material(item_index_str);
update_final_thumbnail_data();
m_mapping_popup.update_items_check_state(m_ams_mapping_result);
m_mapping_popup.Refresh();
if (!m_reset_all_btn->IsShown()) {
@ -3101,7 +3104,7 @@ void SyncAmsInfoDialog::generate_override_fix_ams_list()
m_fix_filament_panel_sizer->Layout();
}
void SyncAmsInfoDialog::clone_thumbnail_data(bool allow_clone_ams_color)
void SyncAmsInfoDialog::clone_thumbnail_data()
{
// record preview_colors
if (m_preview_colors_in_thumbnail.empty()) {
@ -3124,7 +3127,11 @@ void SyncAmsInfoDialog::clone_thumbnail_data(bool allow_clone_ams_color)
}
} else { // exist empty or unrecognized type ams in machine
m_cur_colors_in_thumbnail.resize(item->id + 1);
if (m->m_ams_name == "-") {
m_cur_colors_in_thumbnail[item->id] = m->m_material_coloul;
} else {
m_cur_colors_in_thumbnail[item->id] = m->m_ams_coloul;
}
m_preview_colors_in_thumbnail.resize(item->id + 1);
m_preview_colors_in_thumbnail[item->id] = m->m_material_coloul;
}
@ -3286,6 +3293,11 @@ void SyncAmsInfoDialog::update_thumbnail_data_accord_plate_index(bool allow_clon
unify_deal_thumbnail_data(input_data, no_light_data, allow_clone_ams_color);
}
void SyncAmsInfoDialog::update_final_thumbnail_data() {
m_preview_colors_in_thumbnail.clear();//to update m_cur_colors_in_thumbnail
unify_deal_thumbnail_data(m_cur_input_thumbnail_data, m_cur_no_light_thumbnail_data,false);
}
void SyncAmsInfoDialog::unify_deal_thumbnail_data(ThumbnailData &input_data, ThumbnailData &no_light_data, bool allow_clone_ams_color)
{
if (input_data.width == 0 || input_data.height == 0 || no_light_data.width == 0 || no_light_data.height == 0) {
@ -3294,8 +3306,7 @@ void SyncAmsInfoDialog::unify_deal_thumbnail_data(ThumbnailData &input_data, Thu
}
m_cur_input_thumbnail_data = input_data;
m_cur_no_light_thumbnail_data = no_light_data;
clone_thumbnail_data(allow_clone_ams_color);
MaterialHash::iterator iter = m_materialList.begin();
clone_thumbnail_data();
if (m_cur_colors_in_thumbnail.size() > 0) {
change_default_normal(-1, wxColour());
final_deal_edge_pixels_data(m_preview_thumbnail_data);

View File

@ -182,7 +182,7 @@ public:
void on_print_job_cancel(wxCommandEvent &evt);
void reset_and_sync_ams_list();
void generate_override_fix_ams_list();
void clone_thumbnail_data(bool allow_clone_ams_color);
void clone_thumbnail_data();
void record_edge_pixels_data();
wxColour adjust_color_for_render(const wxColour &color);
void final_deal_edge_pixels_data(ThumbnailData &data);
@ -190,6 +190,7 @@ public:
void show_ams_controls(bool flag);
void show_advanced_settings(bool flag, bool update_layout = true);
void update_thumbnail_data_accord_plate_index(bool allow_clone_ams_color);
void update_final_thumbnail_data();
void unify_deal_thumbnail_data(ThumbnailData &input_data, ThumbnailData &no_light_data,bool allow_clone_ams_color);
void change_default_normal(int old_filament_id, wxColour temp_ams_color);
void on_timer(wxTimerEvent &event);