mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
hold on directory in filemanager can set the it as HOME directory
and this "HOME" directory will override the command line option passed to koreader. This patch implements #1434.
This commit is contained in:
@@ -75,51 +75,64 @@ function FileManager:init()
|
||||
|
||||
function file_chooser:onFileHold(file)
|
||||
--DEBUG("hold file", file)
|
||||
self.file_dialog = ButtonDialog:new{
|
||||
buttons = {
|
||||
local buttons = {
|
||||
{
|
||||
{
|
||||
{
|
||||
text = _("Copy"),
|
||||
callback = function()
|
||||
copyFile(file)
|
||||
UIManager:close(self.file_dialog)
|
||||
end,
|
||||
},
|
||||
{
|
||||
text = _("Paste"),
|
||||
enabled = fileManager.clipboard and true or false,
|
||||
callback = function()
|
||||
pasteHere(file)
|
||||
self:refreshPath()
|
||||
UIManager:close(self.file_dialog)
|
||||
end,
|
||||
},
|
||||
text = _("Copy"),
|
||||
callback = function()
|
||||
copyFile(file)
|
||||
UIManager:close(self.file_dialog)
|
||||
end,
|
||||
},
|
||||
{
|
||||
{
|
||||
text = _("Cut"),
|
||||
callback = function()
|
||||
cutFile(file)
|
||||
UIManager:close(self.file_dialog)
|
||||
end,
|
||||
},
|
||||
{
|
||||
text = _("Delete"),
|
||||
callback = function()
|
||||
local path = util.realpath(file)
|
||||
local ConfirmBox = require("ui/widget/confirmbox")
|
||||
UIManager:close(self.file_dialog)
|
||||
UIManager:show(ConfirmBox:new{
|
||||
text = _("Are you sure that you want to delete this file?\n") .. file .. ("\n") .. _("If you delete a file, it is permanently lost."),
|
||||
ok_callback = function()
|
||||
deleteFile(file)
|
||||
self:refreshPath()
|
||||
end,
|
||||
})
|
||||
end,
|
||||
},
|
||||
text = _("Paste"),
|
||||
enabled = fileManager.clipboard and true or false,
|
||||
callback = function()
|
||||
pasteHere(file)
|
||||
self:refreshPath()
|
||||
UIManager:close(self.file_dialog)
|
||||
end,
|
||||
},
|
||||
},
|
||||
{
|
||||
{
|
||||
text = _("Cut"),
|
||||
callback = function()
|
||||
cutFile(file)
|
||||
UIManager:close(self.file_dialog)
|
||||
end,
|
||||
},
|
||||
{
|
||||
text = _("Delete"),
|
||||
callback = function()
|
||||
local path = util.realpath(file)
|
||||
local ConfirmBox = require("ui/widget/confirmbox")
|
||||
UIManager:close(self.file_dialog)
|
||||
UIManager:show(ConfirmBox:new{
|
||||
text = _("Are you sure that you want to delete this file?\n") .. file .. ("\n") .. _("If you delete a file, it is permanently lost."),
|
||||
ok_callback = function()
|
||||
deleteFile(file)
|
||||
self:refreshPath()
|
||||
end,
|
||||
})
|
||||
end,
|
||||
},
|
||||
},
|
||||
}
|
||||
if lfs.attributes(file, "mode") == "directory" then
|
||||
local realpath = util.realpath(file)
|
||||
table.insert(buttons, {
|
||||
{
|
||||
text = _("Set as HOME directory"),
|
||||
callback = function()
|
||||
G_reader_settings:saveSetting("home_dir", realpath)
|
||||
UIManager:close(self.file_dialog)
|
||||
end
|
||||
}
|
||||
})
|
||||
end
|
||||
self.file_dialog = ButtonDialog:new{
|
||||
buttons = buttons,
|
||||
}
|
||||
UIManager:show(self.file_dialog)
|
||||
return true
|
||||
|
||||
@@ -138,7 +138,8 @@ if ARGV[argidx] and ARGV[argidx] ~= "" then
|
||||
-- the filemanger will show the files in that path
|
||||
else
|
||||
local FileManager = require("apps/filemanager/filemanager")
|
||||
FileManager:showFiles(ARGV[argidx])
|
||||
local home_dir = G_reader_settings:readSetting("home_dir") or ARGV[argidx]
|
||||
FileManager:showFiles(home_dir)
|
||||
end
|
||||
UIManager:run()
|
||||
elseif last_file then
|
||||
|
||||
Reference in New Issue
Block a user