2
0
mirror of https://github.com/koreader/koreader synced 2024-10-31 21:20:20 +00:00
Commit Graph

6197 Commits

Author SHA1 Message Date
poire-z
6e35e683dd
Text editor plugin, InputDialog enhancements (#4135)
This plugin mostly sets up a "Text editor>" submenu, that allows
browsing files, creating a new file, and managing a history of
previously opened file for easier re-opening.
It restore previous scroll and cursor positions on re-opening.
Additional "Check lua" syntax button is added when editing
a .lua file, and prevent saving if errors.
The text editing is mainly provided by the enhanced InputDialog.

InputDialog: added a few more options, the main one being
'save_callback', which will add a Save and Close buttons
and manage saving/discarding/exiting.
If "fullscreen" and "add_nav_bar", will add a show/hide keyboard
button to it.
Moved the preset buttons setup code in their own InputDialog
methods for clarity of the main init code.
Buttons are now enabled/disabled depending on context for feedback
(eg: Save is disabled as long as text has not been modified).

Added util.checkLuaSyntax(lua_string), might be useful elsewhere.
2018-08-06 21:16:30 +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
0732379130 Remove Storage statistics from menu (#4127) 2018-08-06 20:37:47 +02:00
poire-z
9971eb8533 Fix untranslatable strings (#4132)
Some problem somewhere with [[...]] strings starting with a
leading newline. Should probably be allowed, but for now
fix the few such cases to allow them being translated.
2018-08-01 19:29:03 +02:00
poire-z
620542b055
Text input related fixes & enhancements (#4124)
InputText: checks whether provided content can be given
back unaltered, which may not be the case after it is
splitted to UTF8 chars if the text is binary content.
Prevent editing text if that is the case.
Adds InputText and InputDialog :isEditable() and :isEdited()
methods.
Also accounts for the scrollbar width when measuring text
to prevent it from being displayed when not needed.
Also ensure a minimal size of the scrollbar thumb so it is
rendered when huge text with many lines is displayed.

Virtual keyboard: Hold on Backspace: delete from cursor
to start of line instead of clearing all text content.
2018-08-01 18:33:52 +02:00
Robert
19b1c919d6 FileChooser, PathChooser: show current path in header (#4125) 2018-08-01 17:02:34 +02:00
poire-z
ef8a54c924
bump crengine: fix collapsing spaces and newlines (#4130) 2018-08-01 16:43:29 +02:00
Robert
e37c34531a Cloud storage: make some text translatable (#4122) 2018-07-29 22:58:02 +02:00
poire-z
4f4f5ffef6
bump base/crengine: fix two highlight issues (#4120) 2018-07-29 22:19:46 +02:00
Robert
c17864999e [fix] Show hidden dirs and files in Choose screensaver image (#4121)
Fixes #4117.
2018-07-29 20:49:50 +02:00
NiLuJe
0924b57877
Tweak/unbreak my CPUFreq experiment (#4119)
* Only switch to ondemand when we actually can, and when it's better than the current governor...
  This potentially leaves Mk.5 in the lurch, but there's no perfect solution there :/.

* Switch to UI for the unmark event of navigation hints markers
Might help on non-REAGL devices, and doesn't hurt there (re #3983).

* Switch SQLite DBs to WAL
Sounds nice in theory, behaves fine in practice.
2018-07-29 03:53:57 +02:00
Frans de Jonge
a0825ecf03 [fix] Don't crash when trying to go to deleted folders (#4110) 2018-07-28 20:44:55 +02:00
Robert
e5a33ac6d9 Add "Open random document" to Plus menu (#4103) 2018-07-28 20:30:39 +02:00
Robert
00a71a84ad Screenshoter: propose to set as screensaver image (#4113) 2018-07-28 20:18:31 +02:00
NiLuJe
b509e54a2a
CPUFreq shenanigans on Kobo (#4114)
* Switch to ondemand CPUFreq governor on Kobo

My H2O boots with the userspace (!!) governor...
Note that the hardware appears to blissfully ignore any of this, because
the stats still show the CPU changing state on its own...
2018-07-28 16:09:58 +02:00
NiLuJe
c1965ea8a9
Don't rotate on suspend for Kobo/PB when we're showing something news (#4111)
that's not full-screen (i.e., "message" ScreenSaver mode).

Fix #4098
2018-07-26 00:46:52 +02:00
NiLuJe
60a6d5f542
Tweak KUAL extension (#4109)
The update option was broken
2018-07-25 20:37:30 +02:00
NiLuJe
7e97030a5c
Fix scp & sftp on Kobo/Kindle (#4108)
* Update dropbear path for the new, non-multicall binary

* Bump base to pickup dropbear changes
2018-07-25 20:01:55 +02:00
Robert
a8e4ce8b01 Footer: launch SkimTo (instead of GoTo) on long-press (#4097) 2018-07-24 21:47:07 +02:00
Robert
0dc8099425 Footer: smaller default touch zone (#4099)
1/32 of the screen height instead of 1/16.
Fix impossible selection/highlighting/dict lookup of
words on the last line of page.
2018-07-24 21:29:44 +02:00
Robert
287ab2a20e File search: search in current folder, or home folder (#4093) 2018-07-24 21:11:25 +02:00
poire-z
d8d0def122
Floating punctuation: change default to disabled (#4101)
It was enabled by default, but it's mostly only needed for CJK users.
Furthermore, when floating punctuation is enabled, some rendering
issues exist (text right alignment, variable margins...) that
only CJK developpers could really fix. So, best to disable it and
avoid these rendering issues for most users.

Also: fix CoverBrowser crash when "Delete cache database"
followed by "Prune cache of removed books".
2018-07-24 21:01:45 +02:00
Robert
00cfc469f1 Allow selecting a single image as screensaver (#4095) 2018-07-23 10:37:24 +02:00
poire-z
19020b62c7
bump crengine: css text-transform, various fixes (#4096)
Includes:
- Avoid stylesheet reparsing, fix some cache mismatch
- CSS: adds support for the 'text-transform:' property
- Fix table & lists when in centered/right aligned container
2018-07-23 09:57:17 +02:00
NiLuJe
fea0d8dbaf
Another set of fixes (#4083)
* Make findcalibre actually useful

By setting SEARCH_LIBRARY_PATH when a Calibre tree is found, so that
book paths can properly be constructed.

Users should still very much set it themselves, but at least everything
works as intended when not, instead of mysteriously half-breaking later.

Drop the SetDefaults bits, it appeared to have been added to fix no-ops
detected by Luacheck, and it's actually non-functional, because
SetDefaults doesn't handle saving variables it did not itself assign.
So this was just causing the "Do you want to save new defaults" popup to
show up on exit, but it couldn't actually do anything useful (like, say,
save the new SEARCH_LIBRARY_PATH value).

fix #4082

* Better comments about the state of NaturalLight on the Clara, and how this might translate to the H2O²r2.

re #4015

* Make ScrolltextWidget refresh as "partial" only on actual Scroll events

Moving the cursor should stay "ui", or things gets annoying really fast
;).

re #4084

* Bump base to pickup ZMQ fixes (fix #4086)
2018-07-21 21:51:25 +02:00
Robert
d4ebcd26c9 [Minor] make "Keep this directory" translatable (#4090) 2018-07-20 00:06:23 +02:00
poire-z
0d66ea7555
Text input fixes and enhancements (#4084)
InputText, ScrollTextWidget, TextBoxWidget:
- proper line scrolling when moving cursor or inserting/deleting text
  to behave like most text editors do
- fix cursor navigation, optimize refreshes when moving only the cursor,
  don't recreate the textwidget when moving cursor up/down
- optimize refresh areas, stick to "ui" to avoid a "partial" black
  flash every 6 appended or deleted chars

InputText:
- fix issue when toggling Show password multiple times
- new option: InputText.cursor_at_end (default: true)
- if no InputText.height provided, measure the text widget height
  that we would start with, and use a ScrollTextWidget with that
  fixed height, so widget does not overflow container if we extend
  the text and increase the number of lines
- as we are using "ui" refreshes while text editing, allows refreshing
  the InputText with a diagonal swipe on it (actually, refresh the
  whole screen, which allows refreshing the keyboard too if needed)

ScrollTextWidget:
- properly align scrollbar with its TextBoxWidget

TextBoxWidget:
- some cleanup (added new properties to avoid many method calls), added
  proxy methods for upper widgets to get them
- reordered/renamed/refactored the *CharPos* methods for easier reading
  (sorry for the diff that won't help reviewing, but that was needed)

InputDialog:
- new options:
   allow_newline = false, -- allow entering new lines
   cursor_at_end = true, -- starts with cursor at end of text, ready to append
   fullscreen = false, -- adjust to full screen minus keyboard
   condensed = false, -- true will prevent adding air and balance between elements
   add_scroll_buttons = false, -- add scroll Up/Down buttons to first row of buttons
   add_nav_bar = false, -- append a row of page navigation buttons
- find the most adequate text height, when none provided or fullscreen, to
  not overflow screen (and not be stuck with Cancel/Save buttons hidden)
- had to disable the use of a MovableContainer (many issues like becoming
  transparent when a PathChooser comes in front, Hold to paste from
  clipboard, moving the InputDialog under the keyboard and getting stuck...)

GestureRange: fix possible crash (when event processed after widget
destruction ?)

LoginDialog: fix some ui stack increase and possible crash when switching
focus many times.
2018-07-19 08:30:40 +02:00
poire-z
7666644362
Bookmarks, CoverBrowser: scale dogear icon (#4081)
The Dogear icon is 20x20 pixels and was never scaled where used. Now:
- The bookmark icon (top right of screen) is scaled to 1/32th of the screen
width (previously, it was 1/30th on a 600px wide emulator, 1/53th on a GloHD).
On CreDocument, furthermore decrease its size if needed depending on the
selected margins so it never overwrite the text.
- CoverBrowser list view: scale it to the available room under
the "N % of P page" text, so it does not cover "page".
- CoverBrowser mosaic view: scale it to 1/16th of the cover rectangle, which
should prevent if from overwritting the text thanks to a max text width of
7/8 of the cover rectangle.

Also for CoverBrowser: don't index metadata for unsupported document
(which could happen when browsing files with PathChooser) and show
full filename for such documents.
Also: ImageWidget: small fix in case we use both scale_factor and
scale_for_dpi.
2018-07-19 08:18:55 +02:00
NiLuJe
464672108e
Misc. minor fixes (#4080)
* Unbreak dropbear after #4077
* Move the Kindle SO check to init
* Various virtual keyboard fixes to eradicate the remaining refresh conflicts (i.e., tearing artifacts), no matter the user's settings. (re #4069, re #3130).
2018-07-16 17:24:04 +02:00
Robert
5caabfb174 OpenWithDialog widget: improved display (#4078)
- add refresh after tap Cancel button,
- radiobutton and checkbutton with the same font size,
- truncates text outside window,
- better control font face and size in OpenWithDialog
  and RadioButtonTable widgets
2018-07-15 22:48:19 +02:00
NiLuJe
5d0359b257
Minor dropbear tweaks (#4077)
* Tweak dropbear plugin a bit
Create hostkeys on demand
Make platform-specific stuff only run on the affected platform.
2018-07-15 18:39:52 +02:00
Robert
e977c4a394 Fix Reading progress display in landscape mode (#4074) 2018-07-15 10:04:48 +02:00
NiLuJe
e0a2d6df5b
Bump base to pickup the Mark 7 changes (#4075) 2018-07-13 21:09:29 +02:00
poire-z
8c9fe9b589
Allow following links to local files (#4064)
Also use the new ReaderUI:switchDocument(new_file) when
already in ReaderUI in the other cases we switch document.
2018-07-11 18:05:30 +02:00
poire-z
665cb37308
VirtualKeyboard: scale icons to fit font height (#4069)
The 4 keys that use images could be too big or too small
depending on screen size and DPI. They are now scaled in
all cases to fit font height.
2018-07-11 17:24:37 +02:00
mwoz123
7eb2a32c5e send2ebook: fix corrupted files after download (#4063) 2018-07-11 17:10:21 +02:00
NiLuJe
916534059f
Bump base (#4065)
To pickup Debug build fixes
2018-07-09 04:49:49 +02:00
Robert
6220d05a34 Fix focus/unfocus in MultiInputDialog (#4060)
Also fix size of window DCREREADER_CONFIG_FONT_SIZE
in Advanced settings
2018-07-08 00:45:27 +02:00
NiLuJe
6835c18ee6
Re-exec startup script on Kindle/Kobo when an OTA update is processed on startup (#4062)
So that we may properly pickup potential updates to the startup script
itself.
2018-07-07 22:27:38 +02:00
poire-z
8ee741f538
Fix occasional incoherent back xpointer when following a link (#4061)
In rare cases, the origin xpointer when following a link
was detected as incoherent, and not used when going back,
so no left margin marker was shown.
2018-07-07 20:22:44 +02:00
NiLuJe
75df3fcea3
Dismiss Wi-Fi scan popup after connection (#4055)
* Add a config switch to automatically dismiss the WiFi scan popup on connect
2018-07-07 17:06:58 +02:00
poire-z
8b3432ae76 Reader menu: adds "Open previous document" (#4056)
* Reader menu: adds "Open previous document"

Allows for quick switching between 2 documents, and keep
symmetry with FileManager menu "Open last document".

* Use "Last:" and "Previous:" when Show filename
2018-07-07 13:03:33 +02:00
poire-z
7175d86d76
bump crengine: various small fixes (#4059)
- Hyphenation: update French.pattern
- Don't favour 'Times' and 'Times New Roman' anymore
2018-07-06 21:27:19 +02:00
Robert
1510e5d7ed Buttons: properly truncate text when too long (#4057) 2018-07-06 21:05:12 +02:00
poire-z
76366e1fae
Allow disabling some plugins with manually added setting (#4054)
Plugins that a person doesn't need (or doesn't want shown in menus)
can be disabled by manually adding into settings.reader.lua :
    ["plugins_disabled"] = {
        ["zsync"] = true,
        ["evernote"] = true,
        ["calibrecompanion"] = true
    },
2018-07-05 07:50:40 +02:00
mwoz123
81798111c2 Option to show filename in Open last menu item (#4042) 2018-07-05 07:40:40 +02:00
poire-z
9e4db559ab
TouchMenu: properly truncate item text when too long (#4052) 2018-07-05 07:20:15 +02:00
NiLuJe
4ffd959df4
Handle OTA updates during the restart loop on Kobo/Kindle (#4049)
* Handle OTA updates during the restart loop on Kobo/Kindle

So we can actually process OTA updates without ever truly exiting
KOReader (i.e., via the "Restart KOReader" menu entry) ;).
2018-07-04 19:25:55 +02:00
sebastien
30f7ba958c ignore mac junk files (#4051) 2018-07-04 15:46:47 +02:00
poire-z
7d8ccda852
Style tweaks: re-order Allow hyphenation on all text (#4050)
Should be just below with the other Ignore publisher stuff
(as we allow hyphenation by default).
2018-07-04 12:43:10 +02:00