From abfba6c70927f01cbe6ee0cceef30407e2b5badb Mon Sep 17 00:00:00 2001 From: smartscripts-nl Date: Fri, 25 Sep 2020 15:54:14 +0200 Subject: [PATCH] Sort folder shortcuts (#6707) In the current KOReader version the folder shortcuts are sorted by date of addition. When a user has many folder shortcuts (like I do blush ) they are easier to find again when sorted alphabetically. --- .../apps/filemanager/filemanagershortcuts.lua | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/frontend/apps/filemanager/filemanagershortcuts.lua b/frontend/apps/filemanager/filemanagershortcuts.lua index 1ff80cc82..4f7fd2e6f 100644 --- a/frontend/apps/filemanager/filemanagershortcuts.lua +++ b/frontend/apps/filemanager/filemanagershortcuts.lua @@ -6,6 +6,7 @@ local InputDialog = require("ui/widget/inputdialog") local Menu = require("ui/widget/menu") local Screen = require("device").screen local UIManager = require("ui/uimanager") +local lfs = require("libs/libkoreader-lfs") local util = require("ffi/util") local _ = require("gettext") local T = util.template @@ -15,12 +16,6 @@ local FileManagerShortcuts = InputContainer:extend{} function FileManagerShortcuts:updateItemTable() local item_table = {} local folder_shortcuts = G_reader_settings:readSetting("folder_shortcuts") or {} - table.insert(item_table, { - text = _("Add new folder shortcut"), - callback = function() - self:addNewFolder() - end, - }) for _, item in ipairs(folder_shortcuts) do table.insert(item_table, { text = string.format("%s (%s)", item.text, item.folder), @@ -50,8 +45,18 @@ function FileManagerShortcuts:updateItemTable() }) end + table.sort(item_table, function(l, r) + return l.text < r.text + end) + table.insert(item_table, 1, { + text = _("Add new folder shortcut"), + callback = function() + self:addNewFolder() + end, + }) + -- try to stay on current page - local select_number = nil + local select_number if self.fm_bookmark.page and self.fm_bookmark.perpage then select_number = (self.fm_bookmark.page - 1) * self.fm_bookmark.perpage + 1