filter tab improvements

This commit is contained in:
Manuel Simon Hirsig
2016-08-02 07:30:51 +02:00
parent bffc2e8e0b
commit fcc9fe02e9
2 changed files with 18 additions and 9 deletions
+10 -8
View File
@@ -182,6 +182,9 @@ function private.clear_form()
UIDropDownMenu_ClearAll(m.subclass_dropdown)
UIDropDownMenu_ClearAll(m.slot_dropdown)
UIDropDownMenu_ClearAll(m.quality_dropdown)
m.filter_input:ClearFocus()
m.post_components = {}
m.update_filter_display()
end
function private.discard_continuation()
@@ -797,12 +800,12 @@ function private.get_form()
return query_string
end
function private.set_form(filters)
function private.set_form(components)
m.clear_form()
local class_index, subclass_index
for _, filter in filters do
for _, filter in components.blizzard do
if filter[1] == 'name' then
m.name_input:SetText(filter[2])
elseif filter[1] == 'exact' then
@@ -829,14 +832,15 @@ function private.set_form(filters)
UIDropDownMenu_SetSelectedValue(m.quality_dropdown, Aux.info.item_quality_index(filter[2]))
end
end
m.post_components = components.post
m.update_filter_display()
end
function private.import_query_string()
local components, error = Aux.filter.parse_query_string(m.search_box:GetText())
if components then
m.set_form(components.blizzard)
m.post_components = components.post
m.update_filter_display()
m.set_form(components)
else
Aux.log(error)
end
@@ -846,9 +850,7 @@ function private.export_query_string()
local components, error = Aux.filter.parse_query_string(m.get_form())
if components then
m.search_box:SetText(Aux.filter.query_string({blizzard=components.blizzard, post=m.post_components}))
m.clear_form()
m.filter_input:ClearFocus()
m.post_components = {}
m.update_filter_display()
else
Aux.log(error)
@@ -894,7 +896,7 @@ function private.update_filter_display()
local lines = getn(Aux.util.filter(m.post_components, function(component) return component[1] == 'operator' and component[2] ~= 'not' end))
local width_scale = max(200/m.filter_display:GetStringWidth())
local height_scale = min((200 / lines) / 18)
m.filter_display_scale:SetScale(min(1, width_scale, height_scale))
m.filter_display.scale_frame:SetScale(min(1, width_scale, height_scale))
m.filter_display:SetText(Aux.filter.indented_post_query_string(m.post_components))
end
+8 -1
View File
@@ -361,6 +361,13 @@ Aux.search_tab.FRAMES(function(m, public, private)
btn3:SetHeight(24)
btn3:SetText('Import')
btn3:SetScript('OnClick', m.import_query_string)
local btn4 = Aux.gui.button(m.frame.filter, 16)
btn4:SetPoint('LEFT', btn3, 'RIGHT', 5, 0)
btn4:SetWidth(80)
btn4:SetHeight(24)
btn4:SetText('Clear')
btn4:SetScript('OnClick', m.clear_form)
end
do
local editbox = Aux.gui.editbox(m.frame.filter)
@@ -565,7 +572,7 @@ Aux.search_tab.FRAMES(function(m, public, private)
display:SetAllPoints()
display:SetJustifyH('LEFT')
display:SetJustifyV('TOP')
private.filter_display_scale = scale_frame
display.scale_frame = scale_frame
private.filter_display = display
end