From 2b93bd97c6d263724f4ea80a8300407f5391d694 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Wed, 24 Apr 2024 14:29:25 +0200 Subject: [PATCH] Topbar: do not redraw the buttons all the time --- src/slic3r/GUI/TopBar.cpp | 12 +++--------- src/slic3r/GUI/TopBar.hpp | 1 - 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/src/slic3r/GUI/TopBar.cpp b/src/slic3r/GUI/TopBar.cpp index 2268676f85..8af61f8c83 100644 --- a/src/slic3r/GUI/TopBar.cpp +++ b/src/slic3r/GUI/TopBar.cpp @@ -392,7 +392,9 @@ TopBarItemsCtrl::TopBarItemsCtrl(wxWindow *parent, TopBarMenus* menus/* = nullpt wxControl(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE | wxTAB_TRAVERSAL) ,m_menus(menus) { -#ifdef __WINDOWS__ + wxGetApp().UpdateDarkUI(this); + +#ifdef _WIN32 SetDoubleBuffered(true); #endif //__WINDOWS__ update_margins(); @@ -461,8 +463,6 @@ TopBarItemsCtrl::TopBarItemsCtrl(wxWindow *parent, TopBarMenus* menus/* = nullpt m_sizer->SetItemMinSize(1, wxSize(42 * wxGetApp().em_unit(), -1)); - this->Bind(wxEVT_PAINT, &TopBarItemsCtrl::OnPaint, this); - this->Bind(wxEVT_UPDATE_UI, [](wxUpdateUIEvent& evt) { auto user_account = wxGetApp().plater()->get_user_account(); evt.Enable(user_account ? user_account->is_logged() : false); @@ -470,12 +470,6 @@ TopBarItemsCtrl::TopBarItemsCtrl(wxWindow *parent, TopBarMenus* menus/* = nullpt }, m_menus->remember_me_item_id); } -void TopBarItemsCtrl::OnPaint(wxPaintEvent&) -{ - wxGetApp().UpdateDarkUI(this); - m_search->Refresh(); -} - void TopBarItemsCtrl::UpdateMode() { auto mode = wxGetApp().get_mode(); diff --git a/src/slic3r/GUI/TopBar.hpp b/src/slic3r/GUI/TopBar.hpp index bb79cf542e..b379417fbd 100644 --- a/src/slic3r/GUI/TopBar.hpp +++ b/src/slic3r/GUI/TopBar.hpp @@ -69,7 +69,6 @@ public: bool is_main = true); ~TopBarItemsCtrl() {} - void OnPaint(wxPaintEvent&); void SetSelection(int sel, bool force = false); void UpdateMode(); void Rescale();