autocomplete of item names and exact match in buy tab

This commit is contained in:
Manuel Simon Hirsig
2015-09-27 15:16:16 +02:00
parent ffa66d9d03
commit 87d434aa4a
4 changed files with 24 additions and 5 deletions
+7 -3
View File
@@ -22,7 +22,7 @@ function AuxBuySearchButton_OnClick()
Aux_Buy_ScrollbarUpdate()
searchQuery = Aux.scan.create_query{
name = AuxBuySearchBox:GetText(),
exactMatch = true
exactMatch = true,
}
Aux.buy.set_message('Scanning auctions ...')
Aux.scan.start{
@@ -33,7 +33,9 @@ function AuxBuySearchButton_OnClick()
on_read_auction = function(i)
local auction_item = Aux.info.auction_item(i)
local stack_size = auction_item.charges or auction_item.count
record_auction(auction_item.name, stack_size, auction_item.buyout_price, auction_item.quality, auction_item.owner, auction_item.itemlink)
if auction_item.name == searchQuery.name then
record_auction(auction_item.name, stack_size, auction_item.buyout_price, auction_item.quality, auction_item.owner, auction_item.itemlink)
end
end,
on_complete = function()
entries = entries or {}
@@ -109,7 +111,9 @@ function AuxBuyBuySelectedButton_OnClick()
end
else
local stack_size = auction_item.charges or auction_item.count
record_auction(auction_item.name, stack_size, auction_item.charges, auction_item.buyout_price, auction_item.quality, auction_item.owner, auction_item.itemlink)
if auction_item.name == searchQuery.name then
record_auction(auction_item.name, stack_size, auction_item.charges, auction_item.buyout_price, auction_item.quality, auction_item.owner, auction_item.itemlink)
end
end
end
end,
+3
View File
@@ -145,6 +145,9 @@
<Size><AbsDimension x="240" y="20"/></Size>
<Anchors><Anchor point="LEFT" relativeTo="AuxBuySearchBoxLabel" relativePoint="RIGHT"><Offset><AbsDimension x="10" y="0"/></Offset></Anchor></Anchors>
<Scripts>
<OnChar>
Aux.util.item_name_autocomplete()
</OnChar>
<OnEnterPressed>
this:ClearFocus()
AuxBuySearchButton_OnClick()
+2 -1
View File
@@ -1,4 +1,4 @@
AuxVersion = "1.2.0"
AuxVersion = "1.3.0"
AuxAuthors = "shirsig; Zerf; Zirco (Auctionator); Nimeral (Auctionator backport)"
local lastRightClickAction = GetTime()
@@ -111,6 +111,7 @@ end
function Aux_SetupHookFunctions()
BrowseName:SetScript('OnChar', Aux.util.item_name_autocomplete)
Aux.orig.AuctionFrameAuctions_OnShow = AuctionFrameAuctions_OnShow
AuctionFrameAuctions_OnShow = Aux_Sell_AuctionFrameAuctions_OnShow
+12 -1
View File
@@ -8,5 +8,16 @@ function Aux.util.iter(array)
end
end
function Aux.util.dummy()
function Aux.util.item_name_autocomplete()
local text = this:GetText()
local textlen = strlen(text)
local name
for item_id=1,40000 do
name = GetItemInfo(item_id)
if name and strfind(strupper(name), '^' .. strupper(text)) then
this:SetText(name)
this:HighlightText(textlen, -1)
return
end
end
end