added pretty display to search box out of focus

This commit is contained in:
Manuel Simon Hirsig
2016-09-21 20:13:08 +02:00
parent 852a72581f
commit 1344ae0d23
4 changed files with 16 additions and 8 deletions
+9 -3
View File
@@ -226,6 +226,10 @@ function create_frames()
do do
local editbox = gui.editbox(controls) local editbox = gui.editbox(controls)
editbox:EnableMouse(1) editbox:EnableMouse(1)
editbox.formatter = function(str)
local queries = aux.filter_util.queries(str)
return queries and join(map(copy(queries), function(query) return query.prettified end), ';') or color.red(str)
end
editbox.complete = completion.complete_filter editbox.complete = completion.complete_filter
editbox:SetPoint('RIGHT', start_button, 'LEFT', -4, 0) editbox:SetPoint('RIGHT', start_button, 'LEFT', -4, 0)
editbox:SetHeight(25) editbox:SetHeight(25)
@@ -303,12 +307,14 @@ function create_frames()
btn:SetPoint('TOPLEFT', status_bar_frame, 'TOPRIGHT', 5, 0) btn:SetPoint('TOPLEFT', status_bar_frame, 'TOPRIGHT', 5, 0)
btn:SetText('Favorite') btn:SetText('Favorite')
btn:SetScript('OnClick', function() btn:SetScript('OnClick', function()
local filters = filter_util.queries(search_box:GetText()) local queries, error = filter_util.queries(search_box:GetText())
if filters then if queries then
tinsert(_G.aux_favorite_searches, 1, T( tinsert(_G.aux_favorite_searches, 1, T(
'filter_string', search_box:GetText(), 'filter_string', search_box:GetText(),
'prettified', join(map(filters, function(filter) return filter.prettified end), ';') 'prettified', join(map(queries, function(query) return query.prettified end), ';')
)) ))
else
print('Invalid filter:', error)
end end
update_search_listings() update_search_listings()
end) end)
+5 -2
View File
@@ -118,7 +118,7 @@ end
function update_auto_buy_filter() function update_auto_buy_filter()
if _G.aux_auto_buy_filter ~= '' then if _G.aux_auto_buy_filter ~= '' then
local queries = aux.filter_util.queries(_G.aux_auto_buy_filter) local queries, error = aux.filter_util.queries(_G.aux_auto_buy_filter)
if queries then if queries then
if getn(queries) > 1 then if getn(queries) > 1 then
print 'Error: The automatic buyout filter does not support multi-queries' print 'Error: The automatic buyout filter does not support multi-queries'
@@ -130,6 +130,8 @@ function update_auto_buy_filter()
auto_buy_filter_button:SetChecked(true) auto_buy_filter_button:SetChecked(true)
return return
end end
else
print('Invalid auto buy filter:', error)
end end
end end
_G.aux_auto_buy_filter = '' _G.aux_auto_buy_filter = ''
@@ -310,8 +312,9 @@ function public.execute(resume, real_time)
end end
local filter_string = search_box:GetText() local filter_string = search_box:GetText()
local queries = aux.filter_util.queries(filter_string) local queries, error = aux.filter_util.queries(filter_string)
if not queries then if not queries then
print('Invalid filter:', error)
return return
elseif real_time then elseif real_time then
if getn(queries) > 1 then if getn(queries) > 1 then
+1 -1
View File
@@ -19,7 +19,7 @@ function update_search_listings()
for i, recent_search in _G.aux_recent_searches do for i, recent_search in _G.aux_recent_searches do
local name = strsub(recent_search.prettified, 1, 250) local name = strsub(recent_search.prettified, 1, 250)
tinsert(recent_search_rows, { tinsert(recent_search_rows, {
cols = {{value=name}}, cols = {{ value=name }},
search = recent_search, search = recent_search,
index = i, index = i,
}) })
+1 -2
View File
@@ -362,8 +362,7 @@ function public.queries(filter_string)
str = trim(str) str = trim(str)
local query, _, error = query(str) local query, _, error = query(str)
if not query then if not query then
print('Invalid filter:', error) return nil, error
return
else else
tinsert(queries, query) tinsert(queries, query)
end end