From b81f8657844c23f5e95567422d71d4e8d44266d7 Mon Sep 17 00:00:00 2001 From: SoftFever Date: Thu, 21 May 2026 17:16:24 +0800 Subject: [PATCH] fix: reflect synced preset values in UI without switching tabs (#13778) After pulling the latest presets from the cloud, changed values such as Layer height kept showing the old value until the user switched tabs. Refresh the active settings tab on sync so updates appear immediately. --- src/slic3r/GUI/GUI_App.cpp | 19 +++++++++++-------- src/slic3r/GUI/MainFrame.cpp | 3 --- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 572743ff23..f68535b619 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -5849,17 +5849,20 @@ void GUI_App::reload_settings() load_pending_vendors(); preset_bundle->load_user_presets(*app_config, user_presets, ForwardCompatibilitySubstitutionRule::Enable); preset_bundle->save_user_presets(*app_config, get_delete_cache_presets()); - if (is_main_thread_active()) { + // Orca: settings changed, refresh ui to reflect the new preset values + auto refresh_synced_ui = [this] { mainframe->update_side_preset_ui(); + for (auto tab : tabs_list) { + tab->reload_config(); + tab->update_changed_ui(); + } if (plater_) plater_->sidebar().update_all_preset_comboboxes(); - } else { - CallAfter([this] { - mainframe->update_side_preset_ui(); - if (plater_) - plater_->sidebar().update_all_preset_comboboxes(); - }); - } + }; + if (is_main_thread_active()) + refresh_synced_ui(); + else + CallAfter(refresh_synced_ui); } } diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 6a8b276cce..4ad146f577 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -2788,9 +2788,6 @@ void MainFrame::init_menubar_as_editor() info_dlg.ShowModal(); return; } - if (m_plater) - m_plater->get_notification_manager()->push_notification( - into_u8(_L("Syncing presets from cloud\u2026"))); wxGetApp().restart_sync_user_preset(); }, "", nullptr, [this]() {