FIX: DropDown hover item tip

Change-Id: Ie3d9e654cd612b2db983c3410d7d8d0224200a8d
Github: 6380
(cherry picked from commit e6e093949d39fa208c4afaa3f2bc97e3b518ac21)
This commit is contained in:
chunmao.guo 2025-04-07 12:16:20 +08:00 committed by Noisyfox
parent 3e2c72cb3d
commit d513914dd3
2 changed files with 4 additions and 2 deletions

View file

@ -1419,7 +1419,8 @@ void TabPresetComboBox::update()
assert(bmp);
const wxString name = get_preset_name(preset);
preset_descriptions.emplace(name, from_u8(preset.description));
if (preset.is_system)
preset_descriptions.emplace(name, from_u8(preset.description));
if (preset.is_default || preset.is_system) {
//BBS: move system to the end

View file

@ -298,6 +298,7 @@ void DropDown::render(wxDC &dc)
if (item.group != group)
continue;
}
bool is_hover = index == hover_item;
++index;
if (rcContent.GetBottom() < 0) {
rcContent.y += rowSize.y;
@ -326,7 +327,7 @@ void DropDown::render(wxDC &dc)
if (!text_off && !text.IsEmpty()) {
wxSize tSize = dc.GetMultiLineTextExtent(text);
if (pt.x + tSize.x > rcContent.GetRight()) {
if (index == hover_item && item.tip.IsEmpty())
if (is_hover && item.tip.IsEmpty())
SetToolTip(text);
text = wxControl::Ellipsize(text, dc, wxELLIPSIZE_END,
rcContent.GetRight() - pt.x);