Skip to content

Commit 3e0efec

Browse files
committed
Search for .dat files
1 parent ccd87df commit 3e0efec

2 files changed

Lines changed: 26 additions & 2 deletions

File tree

src/Export/Classes/DatListControl.lua

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,28 @@
44
-- Dat list control.
55
--
66
local DatListClass = newClass("DatListControl", "ListControl", function(self, anchor, rect)
7-
self.ListControl(anchor, rect, 14, "VERTICAL", false, main.datFileList)
7+
self.originalList = main.datFileList
8+
self.searchBuf = ""
9+
self.filteredList = self.originalList
10+
self.ListControl(anchor, rect, 14, "VERTICAL", false, self.filteredList)
811
end)
912

13+
function DatListClass:BuildFilteredList()
14+
local search = self.searchBuf:lower()
15+
if search == "" then
16+
self.filteredList = self.originalList
17+
else
18+
self.filteredList = {}
19+
for _, file in ipairs(self.originalList) do
20+
if file.name:lower():find(search, 1, true) then
21+
table.insert(self.filteredList, file)
22+
end
23+
end
24+
end
25+
self.list = self.filteredList
26+
--self:SelectIndex(1)
27+
end
28+
1029
function DatListClass:GetRowValue(column, index, datFile)
1130
if column == 1 then
1231
return "^7"..datFile.name

src/Export/Main.lua

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,12 @@ function main:Init()
222222
end
223223
}
224224

225-
self.controls.datList = new("DatListControl", nil, {10, 70, 250, function() return self.screenH - 70 end})
225+
self.controls.datSearch = new("EditControl", {"TOPLEFT",self.controls.datSource,"BOTTOMLEFT"}, {0, 2, 250, 18}, nil, "^8Search .dat files", nil, nil, function(buf)
226+
self.controls.datList.searchBuf = buf
227+
self.controls.datList:BuildFilteredList()
228+
end)
229+
230+
self.controls.datList = new("DatListControl", {"TOPLEFT",self.controls.datSearch,"BOTTOMLEFT"}, {0, 2, 250, function() return self.screenH - 100 end})
226231

227232
self.controls.specEditToggle = new("ButtonControl", nil, {270, 10, 100, 18}, function() return self.editSpec and "Done <<" or "Edit >>" end, function()
228233
self.editSpec = not self.editSpec

0 commit comments

Comments
 (0)