This commit is contained in:
Sergio Álvarez 2019-09-10 09:29:53 +02:00
parent 9413b30151
commit c73fefb68d
8 changed files with 54 additions and 136 deletions

View File

@ -15,6 +15,17 @@ local function Hide(frame)
end end
local function ToggleButtons()
for i=1,MERCHANT_ITEMS_PER_PAGE do
if (MerchantFrame.selectedTab == 1) then
_G["MerchantItem"..i]:Hide()
elseif (MerchantFrame.selectedTab == 2) then
_G["MerchantItem"..i]:Show()
end
end
end
function ns.OnLoad() function ns.OnLoad()
local GVS = ns.NewMainFrame() local GVS = ns.NewMainFrame()
GVS:SetWidth(315) GVS:SetWidth(315)
@ -25,13 +36,22 @@ function ns.OnLoad()
MerchantBuyBackItem:ClearAllPoints() MerchantBuyBackItem:ClearAllPoints()
MerchantBuyBackItem:SetPoint("BOTTOMRIGHT", -7, 33) MerchantBuyBackItem:SetPoint("BOTTOMRIGHT", -7, 33)
-- The little class select dropdown show trigget a refresh
--[[hooksecurefunc("SetMerchantFilter", function()
if GVS.Merchant ~= UnitGUID("npc") then
GVS:GetScript("OnShow")(GVS)
else
GVS:GetScript("OnEvent")(GVS)
end
end)]]
-- Force show when we're loaded on demand and the tab is already selected -- Force show when we're loaded on demand and the tab is already selected
if MerchantFrame:IsVisible() and MerchantFrame.selectedTab == 1 then if MerchantFrame:IsVisible() and MerchantFrame.selectedTab == 1 then
GVS:Show() GVS:Show()
end end
-- Reparent the first 10 MerchantItem frames, so they only appear for buyback -- Reparent the first 10 MerchantItem frames, so they only appear for buyback
--for i=1,10 do _G["MerchantItem"..i]:SetParent(MerchantItem11) end for i=1,10 do _G["MerchantItem"..i]:Hide() end
-- Hide frames we don't need now -- Hide frames we don't need now
Hide(MerchantNextPageButton) Hide(MerchantNextPageButton)
@ -40,4 +60,8 @@ function ns.OnLoad()
-- Clean up our frame factories -- Clean up our frame factories
for i,v in pairs(ns) do if i:match("^New") then ns[i] = nil end end for i,v in pairs(ns) do if i:match("^New") then ns[i] = nil end end
MerchantFrameTab1:HookScript("OnClick", ToggleButtons)
MerchantFrameTab2:HookScript("OnClick", ToggleButtons)
GVS:HookScript("OnShow", ToggleButtons)
end end

View File

@ -1,113 +0,0 @@
### 7.0.0.23-Beta
* Fix issues with sightless eye vendor
Why the fuck anyone would want to come down here is beyond me.
### 7.0.0.22-Beta
* Fix buying items from vendors using [Tricky Treat]
... and also using any other common non-currency item (i.e. holiday
"currency" that stay in your bag and usually expire)
### 7.0.0.21-Beta
* Fix blank list when not loaded on demand
### 7.0.0.20-Beta
* Red-out lines for recipes that require a rank we don't have yet
* Add toys to known scanner
* Heavy refactoring under the hood
### 7.0.0.19-Beta
* Bump to fix botched releases on WoWI and Wowace
### 7.0.0.18-Beta
* Fix for Legion API changes (thanks Talyrius)
* Refresh the list more often to catch spent currency
* Check bank items now
* Grey out known heirlooms on 6.1
### 6.0.0.17-Beta
* Make grey out work for garrison blueprints
### 6.0.0.16-Beta
* Make known recipes grey
### 5.0.1.15-Release
* Tagging stable version
### 5.0.1.14-Beta
* Fix frame positions for PANDAS!
### 4.3.0.13-Beta
* New search (Thanks Urth)
* Move the search box, it overlaps the default UI in some cases
* Add a tooltip so people know how to use the search
* redo it the right way
### 4.2.0.12-Beta
* Fix *~crazy~* hex color stings
### 4.1.0.11-Release
* Tagging stable version
### 4.0.0.10-Beta
* Some people don't even know what honor points are
### 4.0.0.9-Beta
* Make price text red if we can't afford an item
### 4.0.0.8-Beta
* Fix known recipe highlight
### 4.0.0.7-Beta
* Helps to register for drag.
* Stack-sold items changed with 4.0
### 3.3.0.6-Beta
* Better recipe highlighting
### 3.3.0.5-Beta
* Fix refresh "issue"?
* Oops, I always forget to register all clicks... stupid bad blizzy defaults
### 3.2.0.4-Beta
* Increase number of lines in tip scanner
### 3.2.0.3-Beta
* Switch to actual honor/arena point itemIDs so we get better tooltips
* Stupid nils
* Hide splitstack onhide
* Fix gold and token items anchoring
### 3.2.0.2-Beta
* Add splitstack frame, without the retarded max purchase limits the default vendor frame uses
* Ensure we always have a default item quality color
* Fix copper color
### 3.2.0.1-Beta
* And so it begins...

View File

@ -1,7 +0,0 @@
events.lua
gsc.lua
itemid.lua
size_to_fit.lua
tooltip_scanner.lua
ui-scrollbar.lua
ui-textinput.lua

View File

@ -29,5 +29,7 @@ function ns.SizeToFit(self)
-- Now resize ourself -- Now resize ourself
local _, _, width, height = self:GetBoundsRect() local _, _, width, height = self:GetBoundsRect()
self:SetSize(width, height) if(width ~= nil and height ~= nil) then
self:SetSize(width, height)
end
end end

View File

@ -32,7 +32,7 @@ end
local function Sound() local function Sound()
PlaySound("UChatScrollButton") PlaySound(1115)
end end

View File

@ -53,6 +53,18 @@ function ns.NewMainFrame()
search:SetScript("OnTextChanged", Refresh) search:SetScript("OnTextChanged", Refresh)
local function Open(self)
self.Merchant = UnitGUID("npc")
local max = math.max(0, GetMerchantNumItems() - NUMROWS)
scrollbar:SetMinMaxValues(0, max)
scrollbar:SetValue(0)
Refresh()
GVS:RegisterEvent("BAG_UPDATE")
GVS:RegisterEvent("MERCHANT_UPDATE")
GVS:RegisterEvent("MERCHANT_SHOW")
end
GVS:EnableMouseWheel(true) GVS:EnableMouseWheel(true)
GVS:SetScript("OnMouseWheel", function(self, value) GVS:SetScript("OnMouseWheel", function(self, value)
if value > 0 then if value > 0 then
@ -62,15 +74,7 @@ function ns.NewMainFrame()
end end
end) end)
GVS:SetScript("OnEvent", Refresh) GVS:SetScript("OnEvent", Refresh)
GVS:SetScript("OnShow", function(self) GVS:SetScript("OnShow", Open)
local max = math.max(0, GetMerchantNumItems() - NUMROWS)
scrollbar:SetMinMaxValues(0, max)
scrollbar:SetValue(0)
Refresh()
GVS:RegisterEvent("BAG_UPDATE")
GVS:RegisterEvent("MERCHANT_UPDATE")
end)
GVS:SetScript("OnHide", GVS.UnregisterAllEvents) GVS:SetScript("OnHide", GVS.UnregisterAllEvents)
return GVS return GVS

View File

@ -34,7 +34,8 @@ end
local function OnClick(self, button) local function OnClick(self, button)
local id = self:GetID() local id = self:GetID()
local hasaltcurrency = (GetMerchantItemCostInfo(id) > 0) local currencyname = select(4,GetMerchantItemCostItem(id, 1))
local hasaltcurrency = ((GetMerchantItemCostInfo(id) > 0) and (select(4,GetMerchantItemCostItem(id, 1)) ~= "Garrison Resources"))
if IsAltKeyDown() and not hasaltcurrency then if IsAltKeyDown() and not hasaltcurrency then
self:BuyItem(true) self:BuyItem(true)
@ -129,6 +130,11 @@ local function SetValue(self, i)
self.ItemName:SetText(text) self.ItemName:SetText(text)
self.AltCurrency:SetValue(i) self.AltCurrency:SetValue(i)
if self.AltCurrency:IsShown() then
self.ItemName:SetPoint("RIGHT", self.AltCurrency, "LEFT", -GAP, 0)
else
self.ItemName:SetPoint("RIGHT", self.ItemPrice, "LEFT", -GAP, 0)
end
if extendedCost then if extendedCost then
self.link, self.texture, self.extendedCost = link, itemTexture, true self.link, self.texture, self.extendedCost = link, itemTexture, true

View File

@ -4,8 +4,10 @@ local myname, ns = ...
function ns.NewSearchField(parent) function ns.NewSearchField(parent)
local editbox = ns.NewTextInput(parent) local editbox = ns.NewTextInput(parent)
editbox:SetPoint("BOTTOMLEFT", parent, "TOPLEFT", 55, 9) editbox:SetPoint("TOPLEFT", parent, "TOPLEFT", 98, 42) -- fixed for LeilaUI
editbox:SetPoint("TOPLEFT", parent, "TOPLEFT", 98, 42) -- fixed for LeilaUI
editbox:SetWidth(56) -- added for LeilaUI
editbox:SetHeight(32) -- added for LeilaUI
editbox.placeholder:SetText("Search...") editbox.placeholder:SetText("Search...")
editbox:SetScript("OnEnter", function(self) editbox:SetScript("OnEnter", function(self)