This commit is contained in:
Crum
2018-11-21 02:57:10 -06:00
parent e60d190f6a
commit 8a909794ce
3 changed files with 56 additions and 139 deletions
-59
View File
@@ -413,61 +413,6 @@ function B:ResetSlotAlphaForBags(f)
end
end
local function buttonOnClick(button, ignoreModifiers)
if not button then button = arg1 end
--KeyRing special case code
if this:GetParent():GetID() == KEYRING_CONTAINER then
KeyRingItemButton_OnClick(button, ignoreModifiers)
return
end
if button == "LeftButton" then
if IsControlKeyDown() and not ignoreModifiers then
DressUpItemLink(GetContainerItemLink(this:GetParent():GetID(), this:GetID()))
elseif IsShiftKeyDown() and not ignoreModifiers then
if ChatFrameEditBox:IsShown() then
ChatFrameEditBox:Insert(GetContainerItemLink(this:GetParent():GetID(), this:GetID()))
else
local texture, itemCount, locked = GetContainerItemInfo(this:GetParent():GetID(), this:GetID())
if not locked then
this.SplitStack = function(button, split)
SplitContainerItem(button:GetParent():GetID(), button:GetID(), split)
end
OpenStackSplitFrame(this.count, this, "BOTTOMRIGHT", "TOPRIGHT")
end
end
else
PickupContainerItem(this:GetParent():GetID(), this:GetID())
StackSplitFrame:Hide()
end
else
if IsControlKeyDown() and not ignoreModifiers then
return
elseif IsShiftKeyDown() and MerchantFrame:IsShown() and not ignoreModifiers then
this.SplitStack = function(button, split)
SplitContainerItem(button:GetParent():GetID(), button:GetID(), split)
MerchantItemButton_OnClick("LeftButton")
end
OpenStackSplitFrame(this.count, this, "BOTTOMRIGHT", "TOPRIGHT")
elseif MerchantFrame:IsShown() and MerchantFrame.selectedTab == 2 then
-- Don't sell the item if the buyback tab is selected
return
else
UseContainerItem(this:GetParent():GetID(), this:GetID())
StackSplitFrame:Hide()
end
end
end
local function buttonOnDragStart()
buttonOnClick("LeftButton", 1)
end
local function buttonOnReceiveDrag()
buttonOnClick("LeftButton", 1)
end
function B:Layout(isBank)
if E.private.bags.enable ~= true then return end
local f = self:GetContainerFrame(isBank)
@@ -585,10 +530,6 @@ function B:Layout(isBank)
f.Bags[bagID][slotID]:SetNormalTexture("")
f.Bags[bagID][slotID]:SetCheckedTexture("")
f.Bags[bagID][slotID]:SetScript("OnClick", buttonOnClick)
f.Bags[bagID][slotID]:SetScript("OnDragStart", buttonOnDragStart)
f.Bags[bagID][slotID]:SetScript("OnReceiveDrag", buttonOnReceiveDrag)
f.Bags[bagID][slotID].Count = _G[f.Bags[bagID][slotID]:GetName().."Count"]
f.Bags[bagID][slotID].Count:ClearAllPoints()
E:Point(f.Bags[bagID][slotID].Count, "BOTTOMRIGHT", 0, 2)
@@ -38,104 +38,92 @@ Support functions
-------------------------------------------------------------------------------]]
if not AceGUIEditBoxInsertLink then
-- upgradeable hook
local orig_BankFrameItemButtonGeneric_OnClick = BankFrameItemButtonGeneric_OnClick
function BankFrameItemButtonGeneric_OnClick(button)
hooksecurefunc("BankFrameItemButtonGeneric_OnClick", function(button)
if button == "LeftButton" and IsShiftKeyDown() and not this.isBag then
return _G.AceGUIEditBoxInsertLink(GetContainerItemLink(BANK_CONTAINER, this:GetID()))
end
end
end)
local orig_ContainerFrameItemButton_OnClick = ContainerFrameItemButton_OnClick
function ContainerFrameItemButton_OnClick(button, ignoreModifiers)
hooksecurefunc("ContainerFrameItemButton_OnClick", function(button, ignoreModifiers)
if button == "LeftButton" and IsShiftKeyDown() and not ignoreModifiers then
return _G.AceGUIEditBoxInsertLink(GetContainerItemLink(this:GetParent():GetID(), this:GetID()))
end
end
end)
local orig_KeyRingItemButton_OnClick = KeyRingItemButton_OnClick
function KeyRingItemButton_OnClick(button)
hooksecurefunc("KeyRingItemButton_OnClick", function(button)
if button == "LeftButton" and IsShiftKeyDown() and not this.isBag then
return _G.AceGUIEditBoxInsertLink(GetContainerItemLink(KEYRING_CONTAINER, this:GetID()))
end
end
end)
local orig_LootFrameItem_OnClick = LootFrameItem_OnClick
function LootFrameItem_OnClick(button)
hooksecurefunc("LootFrameItem_OnClick", function(button)
if button == "LeftButton" and IsShiftKeyDown() then
return _G.AceGUIEditBoxInsertLink(GetLootSlotLink(this.slot))
end
end
end)
local orig_SetItemRef = SetItemRef
function SetItemRef(link, text, button)
hooksecurefunc("SetItemRef", function(link, text, button)
if IsShiftKeyDown() then
if sub(link, 1, 6) == "player" then
local name = sub(link, 8)
if name and name ~= "" then
if strsub(link,1,6) == "player" then
local name = strsub(link,8)
if name and (strlen(name) > 0) then
return _G.AceGUIEditBoxInsertLink(name)
end
else
return _G.AceGUIEditBoxInsertLink(text)
end
end
end
end)
local orig_MerchantItemButton_OnClick = MerchantItemButton_OnClick
function MerchantItemButton_OnClick(button, ignoreModifiers)
hooksecurefunc("MerchantItemButton_OnClick", function(button, ignoreModifiers)
if MerchantFrame.selectedTab == 1 and button == "LeftButton" and IsShiftKeyDown() and not ignoreModifiers then
return _G.AceGUIEditBoxInsertLink(GetMerchantItemLink(this:GetID()))
end
end
end)
local orig_PaperDollItemSlotButton_OnClick = PaperDollItemSlotButton_OnClick
function PaperDollItemSlotButton_OnClick(button, ignoreModifiers)
hooksecurefunc("PaperDollItemSlotButton_OnClick", function(button, ignoreModifiers)
if button == "LeftButton" and IsShiftKeyDown() and not ignoreModifiers then
return _G.AceGUIEditBoxInsertLink(GetInventoryItemLink("player", this:GetID()))
end
end
end)
local orig_QuestItem_OnClick = QuestItem_OnClick
function QuestItem_OnClick()
hooksecurefunc("QuestItem_OnClick", function()
if IsShiftKeyDown() and this.rewardType ~= "spell" then
return _G.AceGUIEditBoxInsertLink(GetQuestItemLink(this.type, this:GetID()))
end
end
end)
local orig_QuestRewardItem_OnClick = QuestRewardItem_OnClick
function QuestRewardItem_OnClick()
hooksecurefunc("QuestRewardItem_OnClick", function()
if IsShiftKeyDown() and this.rewardType ~= "spell" then
return _G.AceGUIEditBoxInsertLink(GetQuestItemLink(this.type, this:GetID()))
end
end
end)
local orig_QuestLogTitleButton_OnClick = QuestLogTitleButton_OnClick
function QuestLogTitleButton_OnClick(button)
hooksecurefunc("QuestLogTitleButton_OnClick", function(button)
if IsShiftKeyDown() and (not this.isHeader) then
return _G.AceGUIEditBoxInsertLink(gsub(this:GetText(), " *(.*)", "%1"))
end
end
end)
local orig_QuestLogRewardItem_OnClick = QuestLogRewardItem_OnClick
function QuestLogRewardItem_OnClick()
hooksecurefunc("QuestLogRewardItem_OnClick", function()
if IsShiftKeyDown() and this.rewardType ~= "spell" then
return _G.AceGUIEditBoxInsertLink(GetQuestLogItemLink(this.type, this:GetID()))
end
end
end)
local orig_SpellButton_OnClick = SpellButton_OnClick
function SpellButton_OnClick(drag)
hooksecurefunc("SpellButton_OnClick", function(drag)
local id = SpellBook_GetSpellID(this:GetID())
if id <= MAX_SPELLS and (not drag) and IsShiftKeyDown() then
local spellName, subSpellName = GetSpellName(id, SpellBookFrame.bookType)
if spellName and not IsSpellPassive(id, SpellBookFrame.bookType) then
if subSpellName and subSpellName ~= "" then
if subSpellName and (strlen(subSpellName) > 0) then
_G.AceGUIEditBoxInsertLink(spellName.."("..subSpellName..")")
else
_G.AceGUIEditBoxInsertLink(spellName)
end
end
end
end
end)
end
function _G.AceGUIEditBoxInsertLink(text)
@@ -35,104 +35,92 @@ Support functions
if not AceGUIMultiLineEditBoxInsertLink then
-- upgradeable hook
local orig_BankFrameItemButtonGeneric_OnClick = BankFrameItemButtonGeneric_OnClick
function BankFrameItemButtonGeneric_OnClick(button)
hooksecurefunc("BankFrameItemButtonGeneric_OnClick", function(button)
if button == "LeftButton" and IsShiftKeyDown() and not this.isBag then
return _G.AceGUIMultiLineEditBoxInsertLink(GetContainerItemLink(BANK_CONTAINER, this:GetID()))
end
end
end)
local orig_ContainerFrameItemButton_OnClick = ContainerFrameItemButton_OnClick
function ContainerFrameItemButton_OnClick(button, ignoreModifiers)
hooksecurefunc("ContainerFrameItemButton_OnClick", function(button, ignoreModifiers)
if button == "LeftButton" and IsShiftKeyDown() and not ignoreModifiers then
return _G.AceGUIMultiLineEditBoxInsertLink(GetContainerItemLink(this:GetParent():GetID(), this:GetID()))
end
end
end)
local orig_KeyRingItemButton_OnClick = KeyRingItemButton_OnClick
function KeyRingItemButton_OnClick(button)
hooksecurefunc("KeyRingItemButton_OnClick", function(button)
if button == "LeftButton" and IsShiftKeyDown() and not this.isBag then
return _G.AceGUIMultiLineEditBoxInsertLink(GetContainerItemLink(KEYRING_CONTAINER, this:GetID()))
end
end
end)
local orig_LootFrameItem_OnClick = LootFrameItem_OnClick
function LootFrameItem_OnClick(button)
hooksecurefunc("LootFrameItem_OnClick", function(button)
if button == "LeftButton" and IsShiftKeyDown() then
return _G.AceGUIMultiLineEditBoxInsertLink(GetLootSlotLink(this.slot))
end
end
end)
local orig_SetItemRef = SetItemRef
function SetItemRef(link, text, button)
hooksecurefunc("SetItemRef", function(link, text, button)
if IsShiftKeyDown() then
if sub(link, 1, 6) == "player" then
local name = sub(link, 8)
if name and name ~= "" then
if strsub(link,1,6) == "player" then
local name = strsub(link,8)
if name and (strlen(name) > 0) then
return _G.AceGUIMultiLineEditBoxInsertLink(name)
end
else
return _G.AceGUIMultiLineEditBoxInsertLink(text)
end
end
end
end)
local orig_MerchantItemButton_OnClick = MerchantItemButton_OnClick
function MerchantItemButton_OnClick(button, ignoreModifiers)
hooksecurefunc("MerchantItemButton_OnClick", function(button, ignoreModifiers)
if MerchantFrame.selectedTab == 1 and button == "LeftButton" and IsShiftKeyDown() and not ignoreModifiers then
return _G.AceGUIMultiLineEditBoxInsertLink(GetMerchantItemLink(this:GetID()))
end
end
end)
local orig_PaperDollItemSlotButton_OnClick = PaperDollItemSlotButton_OnClick
function PaperDollItemSlotButton_OnClick(button, ignoreModifiers)
hooksecurefunc("PaperDollItemSlotButton_OnClick", function(button, ignoreModifiers)
if button == "LeftButton" and IsShiftKeyDown() and not ignoreModifiers then
return _G.AceGUIMultiLineEditBoxInsertLink(GetInventoryItemLink("player", this:GetID()))
end
end
end)
local orig_QuestItem_OnClick = QuestItem_OnClick
function QuestItem_OnClick()
hooksecurefunc("QuestItem_OnClick", function()
if IsShiftKeyDown() and this.rewardType ~= "spell" then
return _G.AceGUIMultiLineEditBoxInsertLink(GetQuestItemLink(this.type, this:GetID()))
end
end
end)
local orig_QuestRewardItem_OnClick = QuestRewardItem_OnClick
function QuestRewardItem_OnClick()
hooksecurefunc("QuestRewardItem_OnClick", function()
if IsShiftKeyDown() and this.rewardType ~= "spell" then
return _G.AceGUIMultiLineEditBoxInsertLink(GetQuestItemLink(this.type, this:GetID()))
end
end
end)
local orig_QuestLogTitleButton_OnClick = QuestLogTitleButton_OnClick
function QuestLogTitleButton_OnClick(button)
hooksecurefunc("QuestLogTitleButton_OnClick", function(button)
if IsShiftKeyDown() and (not this.isHeader) then
return _G.AceGUIMultiLineEditBoxInsertLink(gsub(this:GetText(), " *(.*)", "%1"))
end
end
end)
local orig_QuestLogRewardItem_OnClick = QuestLogRewardItem_OnClick
function QuestLogRewardItem_OnClick()
hooksecurefunc("QuestLogRewardItem_OnClick", function()
if IsShiftKeyDown() and this.rewardType ~= "spell" then
return _G.AceGUIMultiLineEditBoxInsertLink(GetQuestLogItemLink(this.type, this:GetID()))
end
end
end)
local orig_SpellButton_OnClick = SpellButton_OnClick
function SpellButton_OnClick(drag)
hooksecurefunc("SpellButton_OnClick", function(drag)
local id = SpellBook_GetSpellID(this:GetID())
if id <= MAX_SPELLS and (not drag) and IsShiftKeyDown() then
local spellName, subSpellName = GetSpellName(id, SpellBookFrame.bookType)
if spellName and not IsSpellPassive(id, SpellBookFrame.bookType) then
if subSpellName and subSpellName ~= "" then
if subSpellName and (strlen(subSpellName) > 0) then
_G.AceGUIMultiLineEditBoxInsertLink(spellName.."("..subSpellName..")")
else
_G.AceGUIMultiLineEditBoxInsertLink(spellName)
end
end
end
end
end)
end
function _G.AceGUIMultiLineEditBoxInsertLink(text)