auto buy changes

This commit is contained in:
Manuel Simon Hirsig
2016-10-13 16:22:44 +02:00
parent 4fd4a85896
commit 20d1b1e3f1
2 changed files with 36 additions and 20 deletions
+2 -11
View File
@@ -224,23 +224,14 @@ do
btn1:SetPoint('TOPLEFT', status_bar_frame, 'TOPRIGHT', 5, 0)
btn1:SetText'Favorite'
btn1:SetScript('OnClick', function()
local queries, error = filter_util.queries(search_box:GetText())
if queries then
tinsert(aux_favorite_searches, 1, T(
'filter_string', search_box:GetText(),
'prettified', join(map(queries, function(query) return query.prettified end), ';')
))
else
print('Invalid filter:', error)
end
update_search_listings()
add_favorite(search_box:GetText())
end)
local btn2 = gui.button(frame.saved)
btn2:SetPoint('LEFT', btn1, 'RIGHT', 5, 0)
btn2:SetText'Auto Buy'
btn2:SetScript('OnClick', function()
add_auto_buy(search_box:GetText())
end)
end
do
+34 -9
View File
@@ -75,8 +75,7 @@ private.handlers = {
end
elseif button == 'RightButton' and IsAltKeyDown() then
if st ~= autobuy_listing then
tinsert(aux_auto_buy_filters, 1, data.search)
update_search_listings()
add_auto_buy(data.search.filter_string)
end
elseif button == 'LeftButton' then
search_box:SetText(data.search.filter_string)
@@ -109,13 +108,7 @@ function private.auto_buy_validator.get()
for _, filter in aux_auto_buy_filters do
local queries, error = filter_util.queries(filter.filter_string)
if queries then
if getn(queries) > 1 then
return nil, 'The automatic buyout filter does not support multi-queries'
-- elseif size(queries[1].blizzard_query) > 0 then TODO allow exact
-- return nil, 'The automatic buyout filter does not support Blizzard filters'
else
tinsert(validators, queries[1].validator)
end
tinsert(validators, queries[1].validator)
else
print('Invalid auto buy filter:', error)
end
@@ -123,4 +116,36 @@ function private.auto_buy_validator.get()
return function(record)
return any(validators, function(validator) return validator(record) end)
end
end
function private.add_favorite(filter_string)
local queries, error = filter_util.queries(filter_string)
if queries then
tinsert(aux_favorite_searches, 1, T(
'filter_string', filter_string,
'prettified', join(map(queries, function(query) return query.prettified end), ';')
))
update_search_listings()
else
print('Invalid filter:', error)
end
end
function private.add_auto_buy(filter_string)
local queries, error = filter_util.queries(filter_string)
if queries then
if getn(queries) > 1 then
print'Error: The automatic buyout filter does not support multi-queries'
-- elseif size(queries[1].blizzard_query) > 0 then TODO allow exact
-- print'Error: The automatic buyout filter does not support Blizzard filters'
else
tinsert(aux_auto_buy_filters, 1, T(
'filter_string', filter_string,
'prettified', join(map(queries, function(query) return query.prettified end), ';')
))
update_search_listings()
end
else
print('Invalid filter:', error)
end
end