diff --git a/src/slic3r/GUI/PresetComboBoxes.cpp b/src/slic3r/GUI/PresetComboBoxes.cpp index 21e6963e4..6e65e9520 100644 --- a/src/slic3r/GUI/PresetComboBoxes.cpp +++ b/src/slic3r/GUI/PresetComboBoxes.cpp @@ -892,10 +892,14 @@ void PlaterPresetComboBox::update() // BBS wxColor clr(filament_color); clr_picker->SetBackgroundColour(clr); - auto style = clr_picker->GetWindowStyle() & ~(wxBORDER_NONE | wxBORDER_SIMPLE); auto diff_clr = different_color(clr); - clr_picker->SetWindowStyle(clr.Red() > 224 && clr.Blue() > 224 && clr.Green() > 224 ? (style | wxBORDER_SIMPLE) : (style | wxBORDER_NONE)); clr_picker->SetForegroundColour(diff_clr); + auto style = clr_picker->GetWindowStyle() & ~(wxBORDER_NONE | wxBORDER_SIMPLE); + style = clr.Red() > 224 && clr.Blue() > 224 && clr.Green() > 224 ? (style | wxBORDER_SIMPLE) : (style | wxBORDER_NONE); + clr_picker->SetWindowStyle(style); +#ifdef __WXOSX__ + clr_picker->SetLabel(clr_picker->GetLabel()); // Let setBezelStyle: be called +#endif selected_filament_preset = m_collection->find_preset(m_preset_bundle->filament_presets[m_filament_idx]); if (!selected_filament_preset) { //can not find this filament, should be caused by project embedded presets, will be updated later diff --git a/src/slic3r/Utils/MacDarkMode.mm b/src/slic3r/Utils/MacDarkMode.mm index d09247cd4..23c6cf006 100644 --- a/src/slic3r/Utils/MacDarkMode.mm +++ b/src/slic3r/Utils/MacDarkMode.mm @@ -115,6 +115,20 @@ void set_miniaturizable(void * window) [attrTitle release]; } +- (void)setBezelStyle2:(NSBezelStyle)bezelStyle +{ + if (bezelStyle != NSBezelStyleShadowlessSquare) + [self setBordered: YES]; + [self setBezelStyle2: bezelStyle]; +} + ++ (void) load +{ + Method setBezelStyle = class_getInstanceMethod([NSButton class], @selector(setBezelStyle:)); + Method setBezelStyle2 = class_getInstanceMethod([NSButton class], @selector(setBezelStyle2:)); + method_exchangeImplementations(setBezelStyle, setBezelStyle2); +} + @end /* edit column for wxTableView */