Restore full filemanager functionality

Prior to introduction of the reader-chooser infrastructure we had a very
useful feature of browsing (and therefore
copying/moving/deleting/renaming/creating) filesystem tree accessing
arbitrary files if the user privilege mode is set to any value higher
than BEGINNER.
This patch restores this functionality by checking the privilege levels
in readerchooser and returning CREReader for any file type if there is
no other reader associated with it (including files with no extension).
Tigran Aivazian 12 years ago
parent bb6480e458
commit 65e9f2fed3

@ -72,12 +72,17 @@ function ReaderChooser:getReaderByType(ftype)
if #readers >= 1 then
return registry[readers[1]][1]
else
return nil
if FileChooser.filemanager_expert_mode > FileChooser.BEGINNERS_MODE then
return CREReader
else
return nil
end
end
end
function ReaderChooser:getReaderByName(filename)
local file_type = string.lower(string.match(filename, ".+%.([^.]+)"))
local ext = string.match(filename, ".+%.([^.]+)")
local file_type = ext and ext:lower() or "txt"
local readers = GetRegisteredReaders(file_type)
if #readers > 1 then -- more than one reader are registered with this file type
local file_settings = DocSettings:open(filename)
@ -121,7 +126,11 @@ function ReaderChooser:getReaderByName(filename)
elseif #readers == 1 then
return registry[readers[1]][1]
else
return nil
if FileChooser.filemanager_expert_mode > FileChooser.BEGINNERS_MODE then
return CREReader
else
return nil
end
end
end

Loading…
Cancel
Save