diff --git a/frontend/apps/filemanager/filemanagerfilesearcher.lua b/frontend/apps/filemanager/filemanagerfilesearcher.lua index 60b3cb870..0b4e2fa70 100644 --- a/frontend/apps/filemanager/filemanagerfilesearcher.lua +++ b/frontend/apps/filemanager/filemanagerfilesearcher.lua @@ -42,6 +42,7 @@ function FileSearcher:readDir() local attributes = lfs.attributes(fullpath) if attributes.mode == "directory" and f ~= "." and f~=".." then table.insert(new_dirs, fullpath) + table.insert(self.files, {name = f, path = fullpath, attr = attributes}) elseif attributes.mode == "file" and DocumentRegistry:getProvider(fullpath) then table.insert(self.files, {name = f, path = fullpath, attr = attributes}) end @@ -52,6 +53,7 @@ function FileSearcher:readDir() end function FileSearcher:setSearchResults() + local FileManager = require("apps/filemanager/filemanager") local ReaderUI = require("apps/reader/readerui") local keywords = self.search_value --DEBUG("self.files", self.files) @@ -62,12 +64,21 @@ function FileSearcher:setSearchResults() for __,f in pairs(self.files) do DEBUG("f", f) if string.find(string.lower(f.name), string.lower(keywords)) then - f.text = f.name - f.name = nil - f.callback = function() - ReaderUI:showReader(f.path) + if f.attr.mode == "directory" then + f.text = f.name.."/" + f.name = nil + f.callback = function() + FileManager:showFiles(f.path) + end + table.insert(self.results, f) + else + f.text = f.name + f.name = nil + f.callback = function() + ReaderUI:showReader(f.path) + end + table.insert(self.results, f) end - table.insert(self.results, f) end end end