FIX: 3770 printable checkbox incorrect display in darkUI

Jira: 3770

Change-Id: I97f67d7a0ffc41f6ee625abeecc52ee4e73cf318
This commit is contained in:
maosheng.wei 2023-11-14 14:44:17 +08:00 committed by Lane.Wei
parent 3da1b599b8
commit 8a18393789
3 changed files with 20 additions and 1 deletions

View File

@ -5544,6 +5544,8 @@ void ObjectList::sys_color_changed()
wxGetApp().UpdateDVCDarkUI(this, true);
msw_rescale();
if (m_objects_model) { m_objects_model->sys_color_changed(); }
}
void ObjectList::ItemValueChanged(wxDataViewEvent &event)

View File

@ -166,8 +166,14 @@ bool ObjectDataViewModelNode::valid()
assert(m_idx >= -1);
return m_idx >= -1;
}
#endif /* NDEBUG */
void ObjectDataViewModelNode::sys_color_changed()
{
m_printable_icon = m_printable == piUndef ? m_empty_bmp : create_scaled_bitmap(m_printable == piPrintable ? "check_on" : "check_off_focused");
}
void ObjectDataViewModelNode::set_icons()
{
set_action_icon(false);
@ -1515,6 +1521,14 @@ void ObjectDataViewModel::append_found(wxString current_search_text, ObjectDataV
}
}
void ObjectDataViewModel::sys_color_changed()
{
for (ObjectDataViewModelNode *item : m_objects) {
item->sys_color_changed();
ItemChanged(wxDataViewItem((void *) item));
}
}
// BBS: add use_obj_extruder
void ObjectDataViewModel::UpdateVolumesExtruderBitmap(wxDataViewItem obj_item, bool use_obj_extruder)
{

View File

@ -302,6 +302,7 @@ public:
bool has_warning_icon() const { return !m_warning_icon_name.empty(); }
std::string warning_icon_name() const { return m_warning_icon_name; }
bool has_lock() const { return m_has_lock; }
void sys_color_changed();
private:
friend class ObjectDataViewModel;
@ -488,6 +489,8 @@ public:
void append_found_list(wxString current_search_text);
void append_found(wxString current_search_text, ObjectDataViewModelNode* item);
wxDataViewItemArray get_search_list() { return found_list; }
void sys_color_changed();
private:
wxDataViewItem AddRoot(const wxDataViewItem& parent_item, const ItemType root_type);
wxDataViewItem AddInstanceRoot(const wxDataViewItem& parent_item);