From 6ab1ee22ebebfc133f61007b16fdf420afcd3403 Mon Sep 17 00:00:00 2001 From: "liz.li" Date: Wed, 8 Nov 2023 14:33:58 +0800 Subject: [PATCH] FIX: dailytips text translation jira: STUDIO-2556 Change-Id: If44e503615b09ee1692f42ba1f998918ec5bd691 --- src/slic3r/GUI/GUI_App.cpp | 2 ++ src/slic3r/GUI/HintNotification.cpp | 6 ++++++ src/slic3r/GUI/HintNotification.hpp | 1 + 3 files changed, 9 insertions(+) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 1fe7a9dc8..69f34d945 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -99,6 +99,7 @@ #include "ReleaseNote.hpp" #include "PrivacyUpdateDialog.hpp" #include "ModelMall.hpp" +#include "HintNotification.hpp" //#ifdef WIN32 //#include "BaseException.h" @@ -5135,6 +5136,7 @@ bool GUI_App::load_language(wxString language, bool initial) //FIXME This is a temporary workaround, the correct solution is to switch to "C" locale during file import / export only. //wxSetlocale(LC_NUMERIC, "C"); Preset::update_suffix_modified((_L("*") + " ").ToUTF8().data()); + HintDatabase::get_instance().reinit(); return true; } diff --git a/src/slic3r/GUI/HintNotification.cpp b/src/slic3r/GUI/HintNotification.cpp index 32f4666d0..c431e0faf 100644 --- a/src/slic3r/GUI/HintNotification.cpp +++ b/src/slic3r/GUI/HintNotification.cpp @@ -303,6 +303,12 @@ void HintDatabase::uninit() m_used_ids.clear(); m_used_ids_loaded = false; } +void HintDatabase::reinit() +{ + if (m_initialized) + uninit(); + init(); +} void HintDatabase::init() { load_hints_from_file(std::move(boost::filesystem::path(resources_dir()) / "data" / "hints.ini")); diff --git a/src/slic3r/GUI/HintNotification.hpp b/src/slic3r/GUI/HintNotification.hpp index dae2fc4cb..89a2871c5 100644 --- a/src/slic3r/GUI/HintNotification.hpp +++ b/src/slic3r/GUI/HintNotification.hpp @@ -58,6 +58,7 @@ public: // resets m_initiailized to false and writes used if was initialized // used when reloading in runtime - like change language void uninit(); + void reinit(); private: void init(); void init_random_hint_id();