diff --git a/Init.lua b/Init.lua index 5507787..5ad4bb8 100644 --- a/Init.lua +++ b/Init.lua @@ -15,6 +15,17 @@ local function Hide(frame) 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() local GVS = ns.NewMainFrame() GVS:SetWidth(315) @@ -25,13 +36,22 @@ function ns.OnLoad() MerchantBuyBackItem:ClearAllPoints() 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 if MerchantFrame:IsVisible() and MerchantFrame.selectedTab == 1 then GVS:Show() end -- 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(MerchantNextPageButton) @@ -40,4 +60,8 @@ function ns.OnLoad() -- Clean up our frame factories 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 diff --git a/changelog.txt b/changelog.txt deleted file mode 100644 index 0de2cd8..0000000 --- a/changelog.txt +++ /dev/null @@ -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... diff --git a/externals.txt b/externals.txt deleted file mode 100644 index c4624ab..0000000 --- a/externals.txt +++ /dev/null @@ -1,7 +0,0 @@ -events.lua -gsc.lua -itemid.lua -size_to_fit.lua -tooltip_scanner.lua -ui-scrollbar.lua -ui-textinput.lua diff --git a/externals/size_to_fit.lua b/externals/size_to_fit.lua index 20f5354..f0afc66 100644 --- a/externals/size_to_fit.lua +++ b/externals/size_to_fit.lua @@ -29,5 +29,7 @@ function ns.SizeToFit(self) -- Now resize ourself local _, _, width, height = self:GetBoundsRect() - self:SetSize(width, height) + if(width ~= nil and height ~= nil) then + self:SetSize(width, height) + end end diff --git a/externals/ui-scrollbar.lua b/externals/ui-scrollbar.lua index a134683..2d5f113 100644 --- a/externals/ui-scrollbar.lua +++ b/externals/ui-scrollbar.lua @@ -32,7 +32,7 @@ end local function Sound() - PlaySound("UChatScrollButton") + PlaySound(1115) end diff --git a/frames/MainFrame.lua b/frames/MainFrame.lua index a47d339..716cafd 100644 --- a/frames/MainFrame.lua +++ b/frames/MainFrame.lua @@ -53,6 +53,18 @@ function ns.NewMainFrame() 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:SetScript("OnMouseWheel", function(self, value) if value > 0 then @@ -62,15 +74,7 @@ function ns.NewMainFrame() end end) GVS:SetScript("OnEvent", Refresh) - GVS:SetScript("OnShow", function(self) - 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("OnShow", Open) GVS:SetScript("OnHide", GVS.UnregisterAllEvents) return GVS diff --git a/frames/MerchantItem.lua b/frames/MerchantItem.lua index 2c0a009..7d3c825 100644 --- a/frames/MerchantItem.lua +++ b/frames/MerchantItem.lua @@ -34,7 +34,8 @@ end local function OnClick(self, button) 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 self:BuyItem(true) @@ -129,7 +130,12 @@ local function SetValue(self, i) self.ItemName:SetText(text) 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 self.link, self.texture, self.extendedCost = link, itemTexture, true end diff --git a/frames/SearchField.lua b/frames/SearchField.lua index 15ae579..8b5b227 100644 --- a/frames/SearchField.lua +++ b/frames/SearchField.lua @@ -4,8 +4,10 @@ local myname, ns = ... function ns.NewSearchField(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:SetScript("OnEnter", function(self)