OPDSCatalog: Normalize default and user-added catalogs

This patch makes the OPDS Browser treat the default catalogs (Project Gutenberg, Feedbooks, etc.) the same as a user-added catalog. This makes them removable and editable if the user so chooses.
pull/2508/head
Nick Savage 7 years ago
parent 81bc115cee
commit ebb290f0ba

@ -9,37 +9,13 @@ local Blitbuffer = require("ffi/blitbuffer")
local ReaderUI = require("apps/reader/readerui")
local ConfirmBox = require("ui/widget/confirmbox")
local T = require("ffi/util").template
local OPDSCatalog = InputContainer:extend{
title = _("OPDS Catalog"),
opds_servers = {
{
title = "Project Gutenberg",
subtitle = "Free ebooks since 1971.",
url = "http://m.gutenberg.org/ebooks.opds/?format=opds",
},
{
title = "Feedbooks",
subtitle = "",
url = "http://www.feedbooks.com/publicdomain/catalog.atom",
},
{
title = "ManyBooks",
subtitle = "Online Catalog for Manybooks.net",
url = "http://manybooks.net/opds/index.php",
},
{
title = "Internet Archive",
subtitle = "Internet Archive Catalog",
url = "http://bookserver.archive.org/catalog/",
},
},
onExit = function() end,
}
function OPDSCatalog:init()
local opds_browser = OPDSBrowser:new{
opds_servers = self.opds_servers,
title = self.title,
show_parent = self,
is_popout = false,

@ -58,7 +58,29 @@ local OPDSBrowser = Menu:extend{
}
function OPDSBrowser:init()
self.item_table = self:genItemTableFromRoot(self.opds_servers)
local servers = G_reader_settings:readSetting("opds_servers")
if not servers then -- If there are no saved servers, add some defaults
servers = {
{
title = "Project Gutenberg",
url = "http://m.gutenberg.org/ebooks.opds/?format=opds",
},
{
title = "Feedbooks",
url = "http://www.feedbooks.com/publicdomain/catalog.atom",
},
{
title = "ManyBooks",
url = "http://manybooks.net/opds/index.php",
},
{
title = "Internet Archive",
url = "http://bookserver.archive.org/catalog/",
},
}
G_reader_settings:saveSetting("opds_servers", servers)
end
self.item_table = self:genItemTableFromRoot()
Menu.init(self) -- call parent's init()
end
@ -168,13 +190,6 @@ end
function OPDSBrowser:genItemTableFromRoot()
local item_table = {}
for _, server in ipairs(self.opds_servers) do
table.insert(item_table, {
text = server.title,
content = server.subtitle,
url = server.url,
})
end
local added_servers = G_reader_settings:readSetting("opds_servers") or {}
for _, server in ipairs(added_servers) do
table.insert(item_table, {

Loading…
Cancel
Save