Skip to content

Commit

Permalink
Make it possible again to see item tooltips on Android (minetest#14029)
Browse files Browse the repository at this point in the history
This change is a quick fix so that item tooltips show again on Android.
  • Loading branch information
grorp authored Nov 25, 2023
1 parent 0f3ac7c commit 771da80
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 8 deletions.
2 changes: 1 addition & 1 deletion src/gui/guiFormSpecMenu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3643,7 +3643,7 @@ void GUIFormSpecMenu::drawMenu()
NULL, m_client, IT_ROT_HOVERED);
}

/* TODO find way to show tooltips on touchscreen */
// On touchscreens, m_pointer is set by GUIModalMenu::preprocessEvent instead.
#ifndef HAVE_TOUCHSCREENGUI
m_pointer = RenderingEngine::get_raw_device()->getCursorControl()->getPosition();
#endif
Expand Down
21 changes: 14 additions & 7 deletions src/gui/guiInventoryList.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ void GUIInventoryList::draw()
(i / m_geom.X) * m_slot_spacing.Y);
core::rect<s32> rect = imgrect + base_pos + p;
ItemStack item = ilist->getItem(item_i);
ItemStack orig_item = item;

bool selected = selected_item
&& m_invmgr->getInventory(selected_item->inventoryloc) == inv
Expand Down Expand Up @@ -147,13 +148,19 @@ void GUIInventoryList::draw()
// Draw item stack
drawItemStack(driver, m_font, item, rect, &AbsoluteClippingRect,
client, rotation_kind);
// Add hovering tooltip
if (hovering && !selected_item) {
std::string tooltip = item.getDescription(client->idef());
if (m_fs_menu->doTooltipAppendItemname())
tooltip += "\n[" + item.name + "]";
m_fs_menu->addHoveredItemTooltip(tooltip);
}
}

// Add hovering tooltip
bool show_tooltip = !item.empty() && hovering && !selected_item;
#ifdef HAVE_TOUCHSCREENGUI
// Make it possible to see item tooltips on touchscreens
show_tooltip |= hovering && selected && m_fs_menu->getSelectedAmount() != 0;
#endif
if (show_tooltip) {
std::string tooltip = orig_item.getDescription(client->idef());
if (m_fs_menu->doTooltipAppendItemname())
tooltip += "\n[" + orig_item.name + "]";
m_fs_menu->addHoveredItemTooltip(tooltip);
}
}

Expand Down

0 comments on commit 771da80

Please sign in to comment.