From cedeaa68ad9299c544f213432fec408e6802efe2 Mon Sep 17 00:00:00 2001 From: neveix Date: Fri, 14 Aug 2026 16:10:41 +0500 Subject: [PATCH] fix p.6 --- src/graphics/ui/elements/InventoryView.cpp | 15 +++++++++++++++ src/graphics/ui/elements/InventoryView.hpp | 1 + 2 files changed, 16 insertions(+) diff --git a/src/graphics/ui/elements/InventoryView.cpp b/src/graphics/ui/elements/InventoryView.cpp index 614d4c913..0859cebac 100644 --- a/src/graphics/ui/elements/InventoryView.cpp +++ b/src/graphics/ui/elements/InventoryView.cpp @@ -500,6 +500,19 @@ void SlotView::performRightClick(ItemStack& stack, ItemStack& grabbed) { ); } +void SlotView::performMiddleClick(ItemStack& stack, ItemStack& grabbed) { + auto indices = *content->getIndices(); + if (!grabbed.isEmpty()) { + if (stack.isEmpty()) { + stack.set(grabbed); + stack.maximizeCount(indices); + } + return; + } + grabbed.set(stack); + grabbed.maximizeCount(indices); +} + void SlotView::clicked(Mousecode button) { if (bound == nullptr) return; auto exchangeSlot = @@ -514,6 +527,8 @@ void SlotView::clicked(Mousecode button) { performLeftClick(stack, grabbed); } else if (button == Mousecode::BUTTON_2) { performRightClick(stack, grabbed); + } else if (button == Mousecode::BUTTON_3) { + performMiddleClick(stack, grabbed); } if (layout.updateFunc) { diff --git a/src/graphics/ui/elements/InventoryView.hpp b/src/graphics/ui/elements/InventoryView.hpp index fbfe3eee9..b8e16cc44 100644 --- a/src/graphics/ui/elements/InventoryView.hpp +++ b/src/graphics/ui/elements/InventoryView.hpp @@ -67,6 +67,7 @@ namespace gui { void performLeftClick(ItemStack& stack, ItemStack& grabbed); void performRightClick(ItemStack& stack, ItemStack& grabbed); + void performMiddleClick(ItemStack& stack, ItemStack& grabbed); void drawItemIcon( Batch2D& batch,