fix: alt click instead of ctrl click
This commit is contained in:
+25
-33
@@ -333,16 +333,36 @@ function Guda_ItemButton_OnLoad(self)
|
||||
end
|
||||
|
||||
self:SetScript("OnClick", function()
|
||||
if IsAltKeyDown() and this.hasItem and not this.otherChar and not this.isReadOnly then
|
||||
if IsAltKeyDown() and arg1 == "LeftButton" and this.hasItem and not this.otherChar and not this.isReadOnly then
|
||||
local link = GetContainerItemLink(this.bagID, this.slotID)
|
||||
if link and addon and addon.Modules and addon.Modules.Utils then
|
||||
local itemID = addon.Modules.Utils:ExtractItemID(link)
|
||||
if itemID and addon.Modules.QuestItemBar and addon.Modules.QuestItemBar.PinItem then
|
||||
if itemID then
|
||||
local isQuest = IsQuestItem(this.bagID, this.slotID)
|
||||
if isQuest then
|
||||
if isQuest and addon.Modules.QuestItemBar and addon.Modules.QuestItemBar.PinItem then
|
||||
addon.Modules.QuestItemBar:PinItem(itemID)
|
||||
return
|
||||
end
|
||||
|
||||
local trackedItems = addon.Modules.DB:GetSetting("trackedItems") or {}
|
||||
if trackedItems[itemID] then
|
||||
trackedItems[itemID] = nil
|
||||
else
|
||||
trackedItems[itemID] = true
|
||||
end
|
||||
addon.Modules.DB:SetSetting("trackedItems", trackedItems)
|
||||
|
||||
-- Update all item buttons
|
||||
if Guda.Modules.BagFrame and Guda.Modules.BagFrame.Update then
|
||||
Guda.Modules.BagFrame:Update()
|
||||
end
|
||||
if Guda.Modules.BankFrame and Guda.Modules.BankFrame.Update then
|
||||
Guda.Modules.BankFrame:Update()
|
||||
end
|
||||
if Guda.Modules.TrackedItemBar and Guda.Modules.TrackedItemBar.Update then
|
||||
Guda.Modules.TrackedItemBar:Update()
|
||||
end
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -768,36 +788,8 @@ function Guda_ItemButton_SetItem(self, bagID, slotID, itemData, isBank, otherCha
|
||||
end
|
||||
|
||||
-- Handle tracking toggle on click
|
||||
if not self.isReadOnly and not self.otherChar then
|
||||
local old_OnClick = self:GetScript("OnClick")
|
||||
self:SetScript("OnClick", function()
|
||||
if IsControlKeyDown() then
|
||||
local itemID = addon.Modules.Utils:ExtractItemID(GetContainerItemLink(this:GetParent():GetID(), this:GetID()))
|
||||
if itemID then
|
||||
local trackedItems = addon.Modules.DB:GetSetting("trackedItems") or {}
|
||||
if trackedItems[itemID] then
|
||||
trackedItems[itemID] = nil
|
||||
else
|
||||
trackedItems[itemID] = true
|
||||
end
|
||||
addon.Modules.DB:SetSetting("trackedItems", trackedItems)
|
||||
|
||||
-- Update all item buttons
|
||||
if Guda.Modules.BagFrame and Guda.Modules.BagFrame.Update then
|
||||
Guda.Modules.BagFrame:Update()
|
||||
end
|
||||
if Guda.Modules.BankFrame and Guda.Modules.BankFrame.Update then
|
||||
Guda.Modules.BankFrame:Update()
|
||||
end
|
||||
if Guda.Modules.TrackedItemBar and Guda.Modules.TrackedItemBar.Update then
|
||||
Guda.Modules.TrackedItemBar:Update()
|
||||
end
|
||||
end
|
||||
elseif old_OnClick then
|
||||
old_OnClick()
|
||||
end
|
||||
end)
|
||||
end
|
||||
-- Note: Tracking toggle is now handled in the main OnClick script above to avoid conflicts
|
||||
-- and unified with QuestItemBar pinning logic.
|
||||
|
||||
self:Show()
|
||||
else
|
||||
|
||||
+3
-3
@@ -321,7 +321,7 @@ function QuestItemBar:Update()
|
||||
UseContainerItem(this.bagID, this.slotID)
|
||||
end
|
||||
elseif arg1 == "RightButton" then
|
||||
if IsControlKeyDown() then
|
||||
if IsAltKeyDown() then
|
||||
-- Clear pin for this slot
|
||||
local pins = addon.Modules.DB:GetSetting("questBarPinnedItems") or {}
|
||||
pins[index] = nil
|
||||
@@ -353,7 +353,7 @@ function QuestItemBar:Update()
|
||||
-- Pinning from cursor is hard in 1.12 without hooks.
|
||||
end
|
||||
elseif arg1 == "RightButton" then
|
||||
if IsControlKeyDown() then
|
||||
if IsAltKeyDown() then
|
||||
-- Clear pin for this slot
|
||||
local pins = addon.Modules.DB:GetSetting("questBarPinnedItems") or {}
|
||||
pins[index] = nil
|
||||
@@ -374,7 +374,7 @@ function QuestItemBar:Update()
|
||||
GameTooltip:SetText("Quest Slot " .. index)
|
||||
GameTooltip:AddLine("Auto-fills with usable quest items.", 1, 1, 1)
|
||||
GameTooltip:AddLine("Alt-Click an item in bags to pin it.", 0, 1, 0)
|
||||
GameTooltip:AddLine("Ctrl-Right-Click to unpin.", 0.5, 0.5, 0.5)
|
||||
GameTooltip:AddLine("Alt-Right-Click to unpin.", 0.5, 0.5, 0.5)
|
||||
GameTooltip:Show()
|
||||
end
|
||||
|
||||
|
||||
+14
-5
@@ -44,6 +44,8 @@ function TrackedItemBar:ScanForTrackedItems()
|
||||
itemCounts[id] = 0
|
||||
itemTextures[id] = texture
|
||||
itemLinks[id] = link
|
||||
itemCounts[id .. "_bag"] = bagID
|
||||
itemCounts[id .. "_slot"] = slotID
|
||||
table.insert(itemOrder, id)
|
||||
end
|
||||
itemCounts[id] = itemCounts[id] + count
|
||||
@@ -57,7 +59,9 @@ function TrackedItemBar:ScanForTrackedItems()
|
||||
itemID = id,
|
||||
texture = itemTextures[id],
|
||||
count = itemCounts[id],
|
||||
link = itemLinks[id]
|
||||
link = itemLinks[id],
|
||||
bagID = itemCounts[id .. "_bag"],
|
||||
slotID = itemCounts[id .. "_slot"]
|
||||
})
|
||||
end
|
||||
end
|
||||
@@ -113,9 +117,9 @@ function TrackedItemBar:Update()
|
||||
button.hasItem = true
|
||||
button.itemData = { link = info.link }
|
||||
button.itemID = info.itemID
|
||||
button.isReadOnly = true -- Don't allow regular clicks/interaction like usage?
|
||||
-- Actually user didn't specify usage, but "action bar type" suggests it might be usable.
|
||||
-- But "tracked items" usually means materials or currencies.
|
||||
button.bagID = info.bagID
|
||||
button.slotID = info.slotID
|
||||
button.isReadOnly = false -- Changed to false to allow interaction and tooltips showing usage
|
||||
|
||||
local icon = getglobal(button:GetName() .. "IconTexture")
|
||||
icon:SetTexture(info.texture)
|
||||
@@ -126,7 +130,7 @@ function TrackedItemBar:Update()
|
||||
countText:Show()
|
||||
|
||||
button:SetScript("OnClick", function()
|
||||
if IsControlKeyDown() then
|
||||
if IsAltKeyDown() and arg1 == "LeftButton" then
|
||||
-- Un-track item
|
||||
local itemID = this.itemID
|
||||
if itemID then
|
||||
@@ -140,6 +144,11 @@ function TrackedItemBar:Update()
|
||||
end
|
||||
TrackedItemBar:Update()
|
||||
end
|
||||
else
|
||||
-- Use item
|
||||
if this.bagID and this.slotID then
|
||||
UseContainerItem(this.bagID, this.slotID)
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user