From 48463d4739cf5ffc27b3a4eb287061a0c114910e Mon Sep 17 00:00:00 2001 From: HW Date: Mon, 19 Mar 2012 22:35:16 +0100 Subject: [PATCH] add XPS and CBZ support (muPDF provides this) --- filechooser.lua | 7 +++++-- reader.lua | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/filechooser.lua b/filechooser.lua index ae24642c2..9e909198d 100644 --- a/filechooser.lua +++ b/filechooser.lua @@ -52,8 +52,11 @@ function FileChooser:readdir() if lfs.attributes(self.path.."/"..f, "mode") == "directory" and f ~= "." and not (f==".." and self.path=="/") and not string.match(f, "^%.[^.]") then --print(self.path.." -> adding: '"..f.."'") table.insert(self.dirs, f) - elseif string.match(f, ".+%.[pP][dD][fF]$") or string.match(f, ".+%.[dD][jJ][vV][uU]$") then - table.insert(self.files, f) + else + local file_type = string.lower(string.match(f, ".+%.([^.]+)") or "") + if file_type == "djvu" or file_type == "pdf" or file_type == "xps" or file_type == "cbz" then + table.insert(self.files, f) + end end end --@TODO make sure .. is sortted to the first item 16.02 2012 diff --git a/reader.lua b/reader.lua index 9c18d3cee..83cc0bb1d 100755 --- a/reader.lua +++ b/reader.lua @@ -34,7 +34,7 @@ longopts = { } function openFile(filename) - local file_type = string.lower(string.match(filename, ".+%.(.+)")) + local file_type = string.lower(string.match(filename, ".+%.([^.]+)")) if file_type == "djvu" then if DJVUReader:open(filename) then page_num = DJVUReader.settings:readsetting("last_page") or 1 @@ -42,7 +42,7 @@ function openFile(filename) reader_settings:savesetting("lastfile", filename) return DJVUReader:inputloop() end - elseif file_type == "pdf" then + elseif file_type == "pdf" or file_type == "xps" or file_type == "cbz" then if PDFReader:open(filename,"") then -- TODO: query for password page_num = PDFReader.settings:readsetting("last_page") or 1 PDFReader:goto(tonumber(page_num))