2
0
mirror of https://github.com/koreader/koreader synced 2024-11-10 01:10:34 +00:00
Commit Graph

130 Commits

Author SHA1 Message Date
poire-z
85a16d0064 Open with: add Text Editor plugin 2020-08-29 20:07:26 +02:00
poire-z
5c1ccda314 FileChooser: allow traversing unreadable directories 2020-08-29 20:07:26 +02:00
Galunid
62daa7b783
Implement numeric collator (natural sorting) in file manager (#6378) 2020-07-18 13:04:39 +02:00
yparitcher
70f89c4df1
ReaderGesture: cleanup (#6292)
convert all gesture actions to use events for better modularity
add network event handlers and device event handlers
2020-07-12 14:47:49 -04:00
yparitcher
3e00e686b6
file count: Fixes #5843 (#5858) 2020-02-13 09:43:10 +01:00
Frans de Jonge
1d3842ffa0
[fix] More accurate count in FileChooser (#5846)
Fixes <https://github.com/koreader/koreader/issues/5843>.
2020-02-11 15:13:20 +01:00
Frans de Jonge
6dfe65279c
[chore] FileChooser: "traditional" for loop for ~15-25% better performance (#5827)
Apparently there's less overhead this way.

See https://github.com/koreader/koreader/pull/5819 for context.
2020-02-08 11:45:26 +01:00
Frans de Jonge
e0ce993c61
[fix] Don't waste time on dir/file attributes in subdirs (#5819)
An awful lot of effort was wasted getting attributes just for getting a count of the number of files/directories in subdirectories. Getting the count is pretty fast. Getting all the attributes is not, and in this context we don't even use the attributes.

See <https://www.mobileread.com/forums/showthread.php?t=327085> and <https://gitter.im/koreader/koreader?at=5e3ac3b9e8a838355918ba13> for discussion.
2020-02-05 19:32:07 +01:00
NiLuJe
80c1e5290c
File search & BookInfo: Don't traverse hidden folders if we're not showing them (#5816)
* File search: Don't traverse hidden folders if we're not showing them

Re https://www.mobileread.com/forums/showpost.php?p=3949194&postcount=21

* Ignore macOS resource forks, too.

* Apply the same logic to the BookInfo directory walker

* And never ever show resource forks in the FM, either.
2020-02-05 03:14:21 +01:00
poire-z
7952fa2c09 [RTL UI] update widgets and apps for UI mirroring
Small tweaks all around to handle UI mirroring:
- swap existing symbols like arrows, or use alternative ones
- rotate some images, like chevrons and dogear icons
- flip some left and right swipe handling
- flip some geometry arithmetic like tap on left or right
  side of page or dict window
- use new ProgressWidget:getPercentageFromPosition() instead
  of geometry arithmetic
- BD.wrap() some concatenated string bits, like in reader
  and menu footers
- flip inverse_reading_order when UI is mirrored

More specific tweaks:
- ReaderGesture: reset some specific gestures when UI direction
  has changed (tap on top/bottom left/right corners, for
  bookmarks and FileManager "Plus menu").
- ReaderRolling: show markers on the correct side of page,
  in single or dual page mode.
- KoptOptions: swap left and right icons in Alignment toggle
- CheckMark: proper rendering in all 4 mirroring/rtl combinations.
- VirtualKeyboard: forbid any mirroring
- Move util.getMenuText into Menu.lua
2019-12-08 15:10:51 +01:00
yparitcher
6c68df42ec [feat] Open unsupported documents as text (#5497) 2019-10-23 23:15:30 +02:00
Frans de Jonge
2c555830f9
[feat, i18n] Implement ngettext (#5257)
Fixes <https://github.com/koreader/koreader/issues/5249>.

See https://www.gnu.org/software/gettext/manual/html_node/Plural-forms.html and https://www.gnu.org/software/gettext/manual/html_node/Translating-plural-forms.html for more information.

Usage:
```lua
local T = ffiUtil.template
local _ = require("gettext")
local N_ = _.ngettext

local items_string = T(N_("1 item", "%1 items", num_items), num_items)
```
2019-08-24 23:06:06 +02:00
Frans de Jonge
6ed58346a1
[i18n] Add translator notes (#5250)
Thanks to <https://github.com/koreader/koreader/pull/5237> we can now  extract the knowledge currently embedded in Transifex and put it directly in our source. This positively affects <https://github.com/koreader/koreader/issues/3754>.

Translation instructions and knowledge that comes out of localization-related questions should be preserved in the source, because Transifex is too ephemeral. For example, the links from <https://github.com/koreader/koreader/pull/2290> are no longer accessible. Even when they are, it's quite useful to have this information around while dealing with the code as well, and I also hope it'll be informative to contributors who seldom visit Transifex.

This commit also makes a few minor changes to obviate the need for comments where possible.
2019-08-24 09:25:38 +02:00
Robert
39bf5a4677 [feat] File manager - add option to view unsupported files (#5129)
New option to show all files (also not supported by KOReader) in file manager. Default this option is disabled.
2019-07-20 17:36:41 +02:00
Qingping Hou
a72f8b6338 decouple UI from core document code 2018-10-14 09:14:35 -07:00
Robert
7e6802737e Sorting: adds Sort by name - mixed files and folders (#4140)
Also moves the 2 Sort by percent in a sub-menu
2018-08-10 22:26:07 +02:00
alethiophile
637abfdf84 Various changes to sorting (#4067)
Don't consider sidecar file when sorting by access time.
Rename 'sort by title' to 'sort by filename':
This is in accordance with the actual function of the code, which
uses filename rather than title as specified in file metadata.
2018-08-07 21:23:19 +02:00
poire-z
1d18b01cf7
PathChooser: clearer usage and behaviour (#4133)
Explicit new options: select_directory, select_file, show_files.
With select_directory, show an entry to select current directory
(so, removed undocumented hack "hold on .. to select current
directory").
2018-08-06 20:59:01 +02:00
Robert
19b1c919d6 FileChooser, PathChooser: show current path in header (#4125) 2018-08-01 17:02:34 +02:00
NiLuJe
5871132c25
UI Behavior tweaks (#3983)
* Switch all initial highlights to "fast" update

i.e., everything that does an invert
Plus a few other things that refresh small UI elements onTap
Re #3130

* Tweak refreshtype for a number of widgets:
  * Fix iconbutton dimen
  * Make touchmenu flash on close & initial menu popup. Full-screen on close.
  * Use flashing updates when opening/closing dictionary popup. Full-screen on close.
  * Switch FileManager to partial.
    It's mostly text, and we want flash promotion there.
  * Make configdialog & menu flash on exit
  * Make FLWidget flash on close
  * virtualkeyboard: flash on layout change & popup.
  * Potentially not that great workaround to ensure we actually see the
highlights in the FM's chevrons
  * Flash when closing BookStatus Widget
  * Optimize away a quirk of the dual "fast" update in touchmenu

* Promote updates to flashing slightly more agressively.

* Document what each refreshtype actually does.

With a few guidelines on their optimal usecases.

* Switch remaining scheduleIn(0.0) to nextTick()

* Tighter scheduling timers

Shaving a hundred ms off UI callbacks...

* Cache FFI C Library namespace

* Ask MuPDF to convert pixmaps to BGR on Kobo

Fix #3949

* Mention koxtoolchain in the README

re #3972

* Kindle: Handle *all* fonts via EXT_FONT_DIR instead of bind mounts insanity

* Make black flashes in UI elements user-configurable

(All or nothing).

* Jot down some random KOA2 sysfs path
2018-06-02 12:10:55 -04:00
Robert
fbd549bcfd
End of document action (#3943)
* End of document action

* Rev1

* Rev2

* Rev3

* File browser
2018-05-13 13:07:23 +02:00
Frans de Jonge
65a63d244b
[UX] SDL2: set window title (#3784)
This initial implementation only sets the title for FileManager and ReaderUI.

Fixes #3713.
2018-03-21 20:10:35 +01:00
Robert
39738955f3 File manager: added 'Go to letter' (#3664)
When Hold on page number, allows for inputing letters to go to file
starting with them (and not only numbers to go to page number).
2018-02-09 22:33:15 +01:00
Robert
dd00417bc8 Sort documents - open sidecar file only in percent sort (#3622) 2018-01-20 00:01:09 +01:00
Robert
6e87735b79 Filemanager - sort by percent of book (#3614) 2018-01-17 20:10:25 +01:00
Robert
d163f8281d Menu: configure number of items per page, wrap entries (#3589)
Configure number of items per page (from 6 to 24) - default is 14
Allow filenames to wrap so that we can see the full name
Used by File browser, History, Search Result, Bookmarks, Table of contents (only single line), File chooser, OPDS catalog
2018-01-13 23:38:53 +01:00
poire-z
591dc2119c FileBrowser: optimize 'change page to show last file'
This feature, introduced some days ago, was actually
doing 2 updateItems calls: the initial one, and a second
to switch to focused_file page (cheap with classic display mode,
less cheap with CoverBrowser modes).
This change allows doing that in a single call.
2017-10-21 19:09:24 +00:00
poire-z
c15915a4ee Added util.getFriendlySize() (#3381)
* Added util.getFriendlySize()

* Allow for GB
2017-10-20 15:48:32 +00:00
poire-z
29707bd664 FileBrowser: change page to show last file or previous subdir (#3351)
When going from reader to filemanager, we are in the directory
containing the last_file. With this, we will also be on the page
showing this file.
When in filemanager and going up (".."), we will also be on the
page containing the directory we came from.
2017-10-13 18:43:02 +02:00
Frans de Jonge
e1aa57f27e Font: unify font styling 2017-04-29 03:01:38 -07:00
Frans de Jonge
1ed0ce0c21 FileManager: fix up arrow issue 2017-02-25 15:34:28 +01:00
Frans de Jonge
6458c8e9eb File Manager: rename to "KOReader File Browser" and add up arrow to ".."
This should make it clearer to new users what's going on. Fixes #2529.
2017-02-23 23:28:49 -08:00
Bastien Dejean
f0b63003e9 Use a smaller font to display the filename
More information regarding the file!
2017-02-20 19:39:23 +01:00
Hzj_jie
726b15ad01 More sorting orders in file manager (#2535) 2017-02-11 18:55:31 -08:00
Zijie He
b502047635 Removing metadata file instead of purging .sdr folder 2017-02-08 10:38:24 -08:00
Hzj_jie
f91ad679d9 swithItemTable -> switchItemTable 2017-02-01 06:26:06 -08:00
Qingping Hou
cb195e9ce8 feat: support disable show file name in bold
also rename show_opened_doc_in_bold setting to show_file_in_bold
2016-12-29 00:02:22 -08:00
Qingping Hou
dc2746f1d7 chore: various minor cleanups 2016-12-24 23:43:58 -08:00
Qingping Hou
36763a1ad7 feat: new setting to show opened book name in bold 2016-12-24 23:43:09 -08:00
Qingping Hou
329fd55302 filemanager: show new books in bold 2016-12-10 16:06:51 -08:00
poire-z
0aa19d72a0 FileManager: show files with sidecar dir in bold (#2391)
docsettings : added hasSidecarDir() and made getSidecarDir() more robust
widget/menu : allow items to specify themselves to be displayed in bold
2016-12-04 15:51:12 -08:00
Hzj_jie
493ff00609 Add path in file manager 2016-07-04 17:38:04 -07:00
Qingping Hou
e9b9bbadcc fix: luacheck 2016-04-19 00:59:02 -07:00
Zijie He
6eeac33ad1 *.sdr folders are not excluded in folder item count
Bug #1966
2016-04-14 14:13:53 -07:00
Qingping Hou
6a6469fa09 more luacheck fixes 2016-02-15 22:34:28 -08:00
Qingping Hou
6fe9f7870b chore: more luacheck fixes 2016-01-03 01:18:54 -08:00
frankyifei
f7142cfcbe fix filechooser crash on entering folder contains nil symlink 2015-08-01 19:12:40 +09:30
chrox
f22a53affd screen orientation won't change when going into filemanager
and filemanager remembers screen orientation at exit
This should fix #1338.
2015-02-02 01:36:52 +08:00
chrox
0a06041cd9 fix calculation of widget height of filechooser
the height of filechooser is provided when creating filechooser
widget since there may be no title as in filemanger which needs
a special title widget to contain filemanger menu.
2014-11-25 17:49:46 +08:00
chrox
67693367b9 init width and height of filechooser widget during init
so that everytime a filechooser is inited right dimension
size is used.
2014-11-25 16:31:03 +08:00
chrox
d11dba0558 fix #1169 and #1170 2014-11-23 18:06:20 +08:00
Hans-Werner Hilse
ab44d1f7e3 fix item number distinction (plural forms) 2014-11-19 13:25:32 +01:00
Frans de Jonge
d701d9b198 First util.template encapsulated strings 2014-11-19 12:23:37 +01:00
Hans-Werner Hilse
3d03713cb1 implement case-insensitive sort, make default and configurable
This will convert any file name to lowercase before doing the comparison.
Note that this will only work for ASCII character range, a full Unicode
aware solution will be much more complicated. And in the end, file names
are byte arrays, not character strings ;-)

fixes #1183.
2014-11-16 19:27:31 +01:00
Hans-Werner Hilse
e031599c0a fix strcoll() workaround
The strcoll() workaround we had in place for Kobo devices was (or has
become) ineffective. We had set self.strcoll to nil on Kobo devices -
but this was the instance variable. Setting it to nil effectively makes
the instance variable vanish, so when trying to access it later, it
was not there and got looked up via the metatable - which had the original
reference. Setting it to nil had no effect whatsoever.

We simplify that approach and set the replacement function where before we
had set this to nil.

This is a partial fix for issue #1183 (and explains a comment in issue #686
which says that the old fix did not work).

However, to really fix #1183 - if we want to do so - we would need a collate
function that normalizes uppercase/lowercase before compare.
2014-11-16 19:15:24 +01:00
Hans-Werner Hilse
3066c86e38 Refactoring hardware abstraction
This is a major overhaul of the hardware abstraction layer.
A few notes:

General platform distinction happens in
  frontend/device.lua
which will delegate everything else to
  frontend/device/<platform_name>/device.lua
which should extend
  frontend/device/generic/device.lua

Screen handling is implemented in
  frontend/device/screen.lua
which includes the *functionality* to support device specifics.
Actually setting up the device specific functionality, however,
is done in the device specific setup code in the relevant
device.lua file.

The same goes for input handling.
2014-11-02 21:19:04 +01:00
chrox
a32991d898 add new sorting methods for file list in filemanager
Now files can be sorted by filename or last accessed time
2014-10-30 22:41:52 +08:00
chrox
97e7a90865 encode lfs.dir iterated file path to UTF-8 2014-09-25 22:33:43 +08:00
chrox
11a8a1dce6 show file size and directory items in filemanager 2014-09-10 13:27:15 +08:00
Qingping Hou
749c7f9939 fix(FM): remove redundant call to lfs.dir 2014-08-25 00:20:19 -04:00
chrox
2199da1713 disable string collating in Kobo devices
This should fix #686.
2014-08-21 13:55:17 +08:00
chrox
b7c7287bab remove more global variables 2014-08-14 19:52:30 +08:00
chrox
79ad1271d8 take care of directory that we don't have permission 2014-06-04 19:15:59 +08:00
chrox
ef84aff1db make ffi/util module local 2014-06-04 17:36:18 +08:00
chrox
91e3b9d293 sort file list respecting LC_COLLATE 2014-05-15 20:44:48 +08:00
chrox
92219a1f1e cleanup: expand tab to 4 spaces 2014-03-13 21:52:43 +08:00
Paulo Matias
1982e1154f Refresh current path in filemanager after file operation
This behavior is more consistent when e.g. a file is moved to ".."
2014-01-22 16:23:23 -02:00
chrox
b3b0844f34 basic functionality on file copy/paste/cut/delete in filemanager
There file operations will popup when holding on file entries
in filemanager.
This should implement #244.
2014-01-18 23:17:13 +08:00
chrox
3eeba5389d fix show hidden flag not persistent between restart
This should fix bug reported in comments of #278.
2013-12-28 17:49:43 +08:00
chrox
42c5ae2ac0 add option to display file size in filemanager
file size is not shown by default
2013-12-19 23:20:16 +08:00
HW
ef111b99c6 Refactored to use strictly locals 2013-10-18 22:38:07 +02:00
chrox
2b9b9bc9a5 add DSHOWHIDDENFILES in defaults.lua
this should fix #239
2013-10-13 15:50:44 +08:00
Qingping Hou
4c40fece74 add hidden file toggle 2013-08-25 00:00:06 -04:00
Paulo Matias
3d04925109 Remove FileChooser:compressPath, use util.realpath 2013-08-23 08:39:09 -03:00
Paulo Matias
e668379f6d Fix crash when trying to go to / on FM
Deals with more cases in FileChooser:compressPath, including `/mnt/..`.
2013-08-22 11:42:21 -03:00
Qingping Hou
c951eacc35 fix: reset current page on item_table switch for menu widget 2013-08-22 12:01:00 +08:00
Qingping Hou
cad8ddec92 disable path compress on relative path 2013-08-22 11:39:35 +08:00
Qingping Hou
aef2c4123e fix Menu widget initialization on inheritance bug in filechooser 2013-08-14 05:19:01 -04:00
chrox
6c4248251c compress paths like "test/pdf/../epub" into "test/epub" in FileChooser
This patch fixes Bug #107
2013-07-13 15:24:10 +08:00
Qingping Hou
10d980ed87 rearranged source tree 2013-03-13 01:18:53 +08:00