From b03a93d7fc7a1ebacf68fa3aaeaf5c66908581b3 Mon Sep 17 00:00:00 2001 From: tao wang Date: Thu, 4 Aug 2022 17:16:37 +0800 Subject: [PATCH] FIX:fixed macos overwriting title bar text colors Change-Id: I617c27eebee47f6739532a02038359829245df27 --- src/slic3r/GUI/MainFrame.cpp | 9 ++++++++- src/slic3r/GUI/MainFrame.hpp | 3 ++- src/slic3r/GUI/Plater.cpp | 1 + src/slic3r/Utils/MacDarkMode.hpp | 2 +- src/slic3r/Utils/MacDarkMode.mm | 7 +++++++ 5 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 0700811527..6c44fc1617 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -742,7 +742,14 @@ void MainFrame::shutdown() void MainFrame::update_title() { - return; + return; +} + +void MainFrame::update_title_colour_after_set_title() +{ +#ifdef __WXOSX__ + set_title_colour_after_set_title(); +#endif } void MainFrame::show_option(bool show) diff --git a/src/slic3r/GUI/MainFrame.hpp b/src/slic3r/GUI/MainFrame.hpp index d011edfabe..17ff07465d 100644 --- a/src/slic3r/GUI/MainFrame.hpp +++ b/src/slic3r/GUI/MainFrame.hpp @@ -226,7 +226,8 @@ public: void update_title(); - void show_option(bool show); + void update_title_colour_after_set_title(); + void show_option(bool show); void init_tabpanel(); void create_preset_tabs(); //BBS: GUI refactor diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 06f177b892..6ae60bc75d 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -5588,6 +5588,7 @@ void Plater::priv::set_project_name(const wxString& project_name) wxGetApp().mainframe->topbar()->SetTitle(m_project_name); #else wxGetApp().mainframe->SetTitle(m_project_name); + wxGetApp().mainframe->update_title_colour_after_set_title(); #endif } diff --git a/src/slic3r/Utils/MacDarkMode.hpp b/src/slic3r/Utils/MacDarkMode.hpp index 3ef1b6846a..92d355fcb2 100644 --- a/src/slic3r/Utils/MacDarkMode.hpp +++ b/src/slic3r/Utils/MacDarkMode.hpp @@ -11,7 +11,7 @@ extern bool mac_dark_mode(); extern double mac_max_scaling_factor(); extern void set_miniaturizable(void * window); void WKWebView_evaluateJavaScript(void * web, wxString const & script, void (*callback)(wxString const &)); - +void set_title_colour_after_set_title(); void initGestures(void * view, wxEvtHandler * handler); #endif diff --git a/src/slic3r/Utils/MacDarkMode.mm b/src/slic3r/Utils/MacDarkMode.mm index 24a5518825..bd02889b9d 100644 --- a/src/slic3r/Utils/MacDarkMode.mm +++ b/src/slic3r/Utils/MacDarkMode.mm @@ -58,6 +58,13 @@ void set_miniaturizable(void * window) } } +void set_title_colour_after_set_title() +{ + if(mainframe_text_field){ + [(NSTextField*)mainframe_text_field setTextColor : NSColor.whiteColor]; + } +} + void WKWebView_evaluateJavaScript(void * web, wxString const & script, void (*callback)(wxString const &)) { [(WKWebView*)web evaluateJavaScript:wxCFStringRef(script).AsNSString() completionHandler: ^(id result, NSError *error) {