From 20d1b1e3f196c7ed84f90e3c71d8ce3525a470b4 Mon Sep 17 00:00:00 2001 From: Manuel Simon Hirsig Date: Thu, 13 Oct 2016 16:22:44 +0200 Subject: [PATCH] auto buy changes --- tabs/search/frame.lua | 13 ++----------- tabs/search/saved.lua | 43 ++++++++++++++++++++++++++++++++++--------- 2 files changed, 36 insertions(+), 20 deletions(-) diff --git a/tabs/search/frame.lua b/tabs/search/frame.lua index ea120f3..20bb2c0 100644 --- a/tabs/search/frame.lua +++ b/tabs/search/frame.lua @@ -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 diff --git a/tabs/search/saved.lua b/tabs/search/saved.lua index f94412d..ea77a07 100644 --- a/tabs/search/saved.lua +++ b/tabs/search/saved.lua @@ -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 \ No newline at end of file