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

1972 Commits

Author SHA1 Message Date
chrox
8d7ebaff5d add external font dir option for Android 2015-06-06 17:22:09 +08:00
Qingping Hou
a30fe26de0 Merge pull request #1543 from chrox/plugable-turbo
disable turbo lib by default
2015-06-03 12:47:07 -04:00
chrox
3ad0ea5777 refactoring: remove dead code in font module 2015-06-02 13:19:50 +08:00
chrox
c7cac7b333 disable turbo lib by default 2015-06-02 13:07:17 +08:00
Guangda Hu
7491cd7b9d fix spaces 2015-05-15 21:57:00 -04:00
Guangda Hu
69db627136 Glo HD support 2015-05-15 17:46:16 -04:00
NiLuJe
8a8697c382 Future-proof the frontlight handling on Kindle.
Guard against trying to get any kind of frontlight info on devices
without one.

So far the flIntensity prop has always been there, even on devices
without one, but better not assume that'll always be the case ;).

That, and be consistent with the other lipc_handle tests.
2015-04-28 18:25:56 +02:00
chrox
d468b05567 Use turbo looper on Android 2015-04-28 11:06:38 +08:00
NiLuJe
3fdd90cf3b Fix a few Droid font paths 2015-04-27 22:19:11 +02:00
NiLuJe
a6a2b3d6a3 Try to get the Kobo codename from the env first
My batch of startup script tweaks should ensure PRODUCT is always
exported.
Leave the fallback in place, to avoid blowing up in weird corner-cases I
haven't thought about.
2015-04-27 13:15:02 +02:00
NiLuJe
c9d941215b lfs.attributes() basically does a stat()
Rename these variables accordingly, that kills my itch to close() random
fds ^^
2015-04-27 13:10:16 +02:00
Qingping Hou
186673587e chore: fix some of the luacheck errors 2015-04-26 20:57:45 -04:00
NiLuJe
c847807322 Turns out that also looks better as ui refreshes 2015-04-26 20:10:18 +02:00
NiLuJe
50dbf6b581 Switch a few widgets to ui refresh modes
More closely matches native behavior on REAGL devices.
Closing those widgets should still trigger a partial refresh though,
because we usually get back to the reader, and text, so we want REAGL
;).
2015-04-26 20:07:17 +02:00
NiLuJe
c6a3f9002c Tweak the H2O viewport to make it pixel-perfect.
As confirmed by checking a fb dump via fbgrab, and nickel's
broken cropping of screenshots ;).
2015-04-26 19:11:47 +02:00
chrox
d345f21c39 Fix sdcv on Android cannot handle morphological changes 2015-04-22 14:27:33 +08:00
chrox
932df2a2f9 Refactor out string.gsplit to util.gsplit 2015-04-22 14:27:33 +08:00
chrox
98515a2210 Fix filemanager cp/mv/rm operations not work on Android 2015-04-22 14:27:33 +08:00
chrox
402806d32b Dictionary on Android
Stardict dictionary files should be copied to
/sdcard/koreader/data/dict/ directory.
2015-04-15 20:30:27 +08:00
chrox
fdc56f39a3 Show OTA channel info when package is unavailable
so that users could be aware that there is other channels to check.
2015-04-15 13:41:00 +08:00
chrox
b1867def37 Check dns for www.example.com when geting network status
Because sometimes dns won't return for www.google.com in China,
ridiculous enough, right?
2015-04-15 13:41:00 +08:00
chrox
ebdd374c93 Add 'input page number' function in filemanager
by holding on the page info label at the buttom of the filemanager
2015-04-13 14:45:05 +08:00
chrox
263309d0f3 Add option to disable swipe to go back
and add a menu entry "Go back".
This should fix #1443.
2015-04-01 18:24:01 +08:00
chrox
c2924abac4 Fix OCR fails on native djvu pages
The page_width and page_height were always 600 and 800 before this patch
rendering the OCR engine confused.

This should fix #1379.
2015-03-31 10:31:02 +08:00
chrox
cfffb44c9d Fix no hardware key bindings on Android 2015-03-29 08:59:51 +08:00
chrox
0788709f26 Popup goto dialog only when holding on visible status bar 2015-03-28 22:04:12 +08:00
chrox
946f527bb5 Remember scroll mode in flipping mode
This is a follow-up workaround on #1439.
2015-03-24 09:34:10 +08:00
chrox
8836225cec fix freeze when register for KOSync on Kindle 2015-03-21 13:19:00 +08:00
chrox
82393f0ed3 fix loading frontend/JSON.lua for json.lua on Kindle
The VFAT file system of `/mnt/us` is case insensitive so that
require("json") from Spore which intends to load luajson module in
rock directory actually will load `frontend/JSON.lua`, the two JSON
parser libraries have slightly different APIs.

This patch remove the pure Lua JSON library in favor of `luajson` which
uses LPeg pattern marching backend for better performance.
2015-03-21 13:19:00 +08:00
chrox
ff3a42e503 typo fix of #1462 2015-03-20 21:22:14 +08:00
chrox
d3bb0d159a disable Turbo on Android to save precious mcode
This is a workaround to fix #1456.
2015-03-20 10:15:41 +08:00
chrox
72012e97e1 disable reflow options when reflow is not ON
This should also fix #1061.
2015-03-16 21:51:17 +08:00
chrox
90a5e09bdc disable highlight in dict window if it's highlighted already
This should fix #1418.
2015-03-12 18:51:01 +08:00
chrox
2ad21dcaa2 only strip punctuations when highlight to search
This should fix #1419.
2015-03-12 17:41:23 +08:00
chrox
83cad1c61c larger page margin as a workaround to fix #1422 2015-03-12 17:31:33 +08:00
chrox
daeefff741 fix #1433 2015-03-12 16:31:12 +08:00
chrox
69e6b6b9cb 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.
2015-03-12 16:29:15 +08:00
chrox
3224eb1797 fix inproper variable name for pages left 2015-03-12 15:51:59 +08:00
chrox
992e769aaf support goto relative page number
We can input relative page number now in the reader goto dialog.
Goto "+4" will page forward 4 pages and goto "-4" will page
backward 4 pages.

This implements #1437.
2015-03-12 15:46:01 +08:00
chrox
ea76d91ed4 save zoom mode in flipping mode
This is a workaround to fix #1439.
2015-03-12 14:52:59 +08:00
chrox
35abf4bfaf move minibar configurations to reader menu
and fix #1446 by adding progress percentage in minibar.
2015-03-12 14:35:49 +08:00
chrox
cf124eb72f refresh menu instead of closing if menu item is a check option 2015-03-12 14:19:10 +08:00
chrox
ae9f99744d flush setting before showing screensaver 2015-03-10 18:33:11 +08:00
chrox
d08e22ec2e add simple sync service as a plugin
The 'KOSync' plugin will synchronize furthest reading progress
across different koreader devices after users registering their
devices.

The synchronizing service is open-sourced as the project
[koreader/koreader-sync-server](https://github.com/koreader/koreader-sync-server).
2015-03-09 20:20:36 +08:00
chrox
d7faba5b5c request from async http client only accept one callback
and error should be checked in the callback
2015-03-07 11:19:43 +08:00
chrox
0191dc6530 revert busted to v1.10.0 to avoid segmentation fault in testing 2015-03-05 17:56:03 +08:00
chrox
9299b9a5e8 add async http client
it uses non-blocking turbo I/O looper to process http request
so that multiple http request can be handled simultaneously and http request
won't block user input, and most importantly, in Lua's way.
2015-03-02 17:21:26 +08:00
chrox
5c9a9198fb add Document:fastDigest method to calculate document hash without performance overhead 2015-03-02 14:55:16 +08:00
chrox
07ff30f89c add md5:update and md5:sum methods 2015-03-02 14:55:16 +08:00
Huang Xin
b56c01c382 Merge pull request #1423 from Markismus/master
Update networkmgr.lua
2015-02-10 23:13:00 +08:00
Markismus
a32c3b3879 Update networkmgr.lua
Corrected a typo.
2015-02-09 16:01:30 +01:00
Markismus
5dd2fe0fae Update networkmgr.lua
Change from the commands from `wifi.sh` to those from `wifi_enable_dhcp.sh` from Tshering's Start Menu. See  Issue #939. Should resolve hanging of Kobo Aura H2O.
2015-02-08 18:28:28 +01:00
chrox
3a0960d391 goto current toc entry automatically when open TOC window 2015-02-03 15:34:35 +08:00
chrox
5b76805911 disable follow link by default because it may cause trouble in reflowing mode 2015-02-03 12:48:24 +08:00
chrox
1894e71b07 don't expand toc node when it's parent node is collapsed 2015-02-03 12:48:24 +08:00
Cosmin Gorgovan
41045dab99 Fix charging detection for Kobo devices
I've tested this on a N905C. I assume this implementation never
worked (since charge_now is supposed to show state of charge), but
it would be useful to get a confirmation.
2015-02-02 16:46:46 +00:00
chrox
906c91f0ad add page-button support for Kindle Voyage 2015-02-02 21:37:38 +08:00
chrox
17f1498156 fix successively set landscape rotate the screen 2015-02-02 02:33:12 +08:00
chrox
5d79158602 fix cannot save document if exit directly after highlighting in PDF 2015-02-02 02:22:58 +08:00
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
ca6b3d7e33 fix #1373 by checking the pos0 and pos1 of selected text 2015-02-02 00:09:07 +08:00
chrox
02d61115dc fix some part of the screen not refreshed when togglering nightmode 2015-02-01 23:21:34 +08:00
chrox
e25ca27db3 auto expand the parent TOC node of current page
and fix current item of item not updated when in the last node
This should fix #1396.
2015-02-01 22:50:08 +08:00
chrox
720ab191ab fix crash when opening TOC window in scroll mode of EPUB 2015-02-01 21:52:46 +08:00
chrox
10db20f289 don't add duplicated bookmark and can delete bookmark
This should fix #1397.
2015-02-01 21:37:25 +08:00
chrox
1e8f07629f don't pop-up TOC window 2015-02-01 21:36:22 +08:00
chrox
c6f6699644 fix empty menu widget won't trigger screen refresh
This should fix #1398.
2015-02-01 20:41:23 +08:00
chrox
07586cea71 strip punctuations around word before searching
This should fix #1337.
2015-02-01 17:40:45 +08:00
chrox
3f691bab93 add stable OTA channel
This should fix #1353.
2015-02-01 17:25:30 +08:00
chrox
db064fc009 add toggle wifi status on PocketBook 2015-02-01 15:16:27 +08:00
chrox
d0b450efde refresh battery capacity when going out of suspend
This should fix #1383.
2015-02-01 12:49:49 +08:00
NiLuJe
06bf4a2199 Fix input on KT2 devices (re #1403) 2015-01-30 19:00:29 +01:00
chrox
a40c172c47 fix mupdf rendering caused by FONTDIR env var
It turns out that one of our mupdf patch reads the FONTDIR env var
and uses it in a totally different way so we will use another env var
EXT_FONT_DIR to define external font directory for different platforms.
2015-01-28 02:20:45 +08:00
chrox
077517be0b add FONTDIR env variable
to support custom font directory for EPUB documents

Now Koreader could find fonts in the "fonts" directory in the USB root
directory of kindle, Kobo and PocketBook devices, thus no need to copy
fonts to "koreader/fonts" directory.
2015-01-25 16:52:04 +08:00
chrox
9d13d4189b fix no eink optimization on all devices 2015-01-25 00:53:25 +08:00
chrox
375070867b fix crash when checking ota on some devices 2015-01-25 00:53:25 +08:00
chrox
c11a2bbf1e fix ota update for PocketBook 2015-01-20 00:07:53 +08:00
chrox
29c15518b0 fix wrong PgBack/PgFwd key binding 2015-01-19 12:50:59 +08:00
chrox
49e672d599 totally disable rotation gesture to change screen orientation 2015-01-18 14:59:11 +08:00
chrox
291f088d94 update koreader-base for multi-touch support on PocketBook 2015-01-18 14:26:33 +08:00
chrox
d94d7d3aa7 fix PgFwd/PgBack cannot turn page in PDF scroll mode 2015-01-18 04:34:19 +08:00
chrox
6a06cfaea5 refactor out flush settings when device goes into screensaver 2015-01-18 00:58:08 +08:00
chrox
a5b90588ae add powerd for PocketBook device 2015-01-17 23:54:49 +08:00
chrox
96e9bb0701 partial refresh screen when koreader goes to forground 2015-01-17 23:17:46 +08:00
chrox
5c4651a3d9 auto launch koreader when opening PDF/DJVU/EPUB/FB2 files in pocketbook 2015-01-17 09:09:36 +08:00
chrox
7ac36a460c handle keyboard events in pocketbook 2015-01-15 22:23:03 +08:00
chrox
6894c11640 fix typo 2015-01-13 00:18:59 +08:00
chrox
1cba495fe0 add PocketBook port of Koreader 2015-01-13 00:15:18 +08:00
Hans-Werner Hilse
d016858d75 only device event0 and event1 do exist, remove others. 2015-01-09 15:55:04 +00:00
Hans-Werner Hilse
c28d973941 fix: load input driver before configuring it 2015-01-09 15:46:33 +00:00
Hans-Werner Hilse
0b5545f125 rump implementation for PocketBook devices, to be extended. 2015-01-09 14:10:25 +00:00
Michael Hall
9a66805b5a Handle Kobo Touch Key 2014-12-26 11:45:09 +00:00
Hans-Werner Hilse
f789913702 read global default value for margin size
The global configuration wasn't evaluated before
2014-12-19 14:03:56 +00:00
Hans-Werner Hilse
a4571c297e read global default value for using embedded stylesheets
The global configuration wasn't evaluated before.
Fixes #1364.
2014-12-19 13:58:03 +00:00
Qingping Hou
6ed8f30f35 fix: empty item_table crashes menu widget 2014-12-18 03:16:11 -05:00
chrox
b403a45228 fix OTA server broken on checking stable release 2014-12-06 20:14:10 +08:00
Hans-Werner Hilse
05503791b4 issue a full refresh when changing rotation 2014-12-05 21:25:32 +00:00
chrox
8555f24c45 make sure refresh_count is incremented by only once at most for each repaint 2014-12-04 15:46:47 +08:00
chrox
b3d79b053a workaround to fix #1340 2014-12-04 10:09:09 +08:00
chrox
d9fa97df5a fix #1336 by ignoring uncompatiable saved highlights 2014-12-04 09:13:56 +08:00
Hans-Werner Hilse
bb5254022d fix: save properly last open menu in reader
20fd6f902e missed the saving part when
renaming the configuration variable.

Fixes #1335.
2014-12-03 16:14:30 +00:00
Hans-Werner Hilse
7c1c072b21 fix for rotated document to file manager transition: do a refresh
fixes part 2 of #1333
2014-12-03 15:59:48 +00:00
chrox
b0e2ce2a8b update comment about reverting full refresh in onPanRelease 2014-12-03 18:37:00 +08:00
chrox
35545169a6 zoom mode is meaningless when reflowing, so disable zoom mode options in reflow mode 2014-12-03 16:33:21 +08:00
chrox
c43885b917 show debug info when JSON data cannot be decoded 2014-12-03 14:26:00 +08:00
chrox
846836dceb fix #1275
Full refresh when highlighting text is quite annoying, I fixed it by
using 'ui' refresh type.
And this patch also fixed a bug that after cleaning temporary highlights
the screen is not refreshed.
2014-12-03 14:06:46 +08:00
chrox
b767394fc2 fix #1150 by adding FOLLOW_LINK_TIMEOUT variable 2014-12-03 12:55:53 +08:00
chrox
ef6235e4ae fix #1305 2014-12-03 11:33:54 +08:00
chrox
6c9b7facbe fix crash when removing highlighted bookmarks in PDF 2014-12-03 11:12:15 +08:00
variousvirgil
9c69c1f14e Fix #1299 2014-12-02 20:30:55 +08:00
Hans-Werner Hilse
3d73ff5ae7 only open frontlight device on Kobo devices that actually have light 2014-12-02 11:18:19 +01:00
chrox
eea6f97796 fix #1319 2014-12-02 10:35:55 +08:00
chrox
aa9566205b fix filemanager cannot remember sorting order 2014-12-02 09:52:05 +08:00
Hans-Werner Hilse
ff0fbbdb4b fix widget closing 2014-12-01 16:21:42 +00:00
Hans-Werner Hilse
844c1babf7 UIManager:_refresh(): no more default refresh
If no refresh type is specified, don't do a refresh.
There should be now refresh types specified in all relevant places.
2014-12-01 16:03:41 +00:00
Hans-Werner Hilse
94ce08937a clean up refreshes
This is a larger clean-up of the refresh situation.
The general shift is that refreshes are now mainly triggered by
the (top-level) widgets when they get shown or closed via UIManager.

All refreshes for the widgets when they are in use were handled by
themselves before. This adds the case of showing/closing.

It is the desired result of not having UIManager:show()/:close()
do (full screen) refreshes on its own.
2014-12-01 16:03:40 +00:00
Hans-Werner Hilse
9c4088a3ac small change of UIManager:show(): No more automatic refresh
This eliminates the API difference between the extra parameters of
UIManager:show() and setDirty(). They work the same now.
Note that this also eliminates the automatic refresh that took place
before when using show() without refresh options. It always refreshed
the full screen, which led to too big refresh regions all over the
place. Thus, refresh has now explicitly to be asked for, hopefully
encouraging to implement it in the widget that gets shown (and is
aware about the screen region it covers).

Also add an event that is triggered when a widget is closed:
CloseWidget. So a widget can implement "onCloseWidget()" to trigger
actions upon closing - most commonly, this is a refresh for the area
previously taken by the widget. That way, the widget's user does not
have to take measures to ensure that the area is refreshed later.
2014-12-01 14:42:38 +00:00
chrox
20fd6f902e fix #1175 2014-12-01 15:32:12 +08:00
Huang Xin
ddae003925 Merge pull request #1310 from hwhw/master
fixes for scrolling, fix for double-refresh, misc stuff
2014-12-01 09:56:04 +08:00
Hans-Werner Hilse
e8642fbad7 use API for refresh when closing widgets in message popups 2014-11-30 22:35:08 +00:00
Hans-Werner Hilse
1091a8a3b9 add refresh control to UIManager:close() 2014-11-30 22:35:07 +00:00
Hans-Werner Hilse
e7f7417cd3 refresh only dialog part of the screen for multi-word selection window 2014-11-30 22:33:38 +00:00
Hans-Werner Hilse
143c56c48c record ButtonDialog.dimen 2014-11-30 22:33:38 +00:00
Hans-Werner Hilse
8376e2f821 dictionary window triggers refresh itself, not via show() 2014-11-30 22:33:37 +00:00
Hans-Werner Hilse
afb59667c0 allow for more control on refreshes when show()ing widgets
for now, we have show() automatically call setDirty() for the new
widget, as before. However, now show() takes two arguments for
refresh configuration that will get passed on to setDirty().

For compatibility, the default is here in show() to do a partial
refresh. So if you want no refresh triggered (via this show() call),
add a function that doesn't return anything.
2014-11-30 22:33:36 +00:00
Frans de Jonge
47d7a48555 OPDS: refactored unit test and fixed a minor bug with undefined image_rel 2014-11-30 21:44:47 +01:00
Hans-Werner Hilse
3f9dc46315 fix dict window refresh
was still using old API
also, move this to another place.
2014-11-30 18:38:03 +00:00
Hans-Werner Hilse
c4a9903162 on finish of pan gesture when scrolling, do partial refresh
it was set to a full refresh. However, we want to behave as if in
non-scrolling mode and issue a partial refresh. That might get
updated to a full refresh if the full-refresh counter has reached
the limit - which is configurable.
2014-11-30 18:38:03 +00:00
Hans-Werner Hilse
745e3837e0 updating the screen in tap handler of readerfooter is not needed
Was a hack anyway, c.f.
https://github.com/koreader/koreader/pull/1306#discussion_r21057461

Seems to be not needed anymore. If some areas are now not refreshed
anymore, that ought to be fixed in another place.

This also gets rid of redundant screen flashes.
2014-11-30 18:38:02 +00:00
Frans de Jonge
c25254a7ec OPDS: embryonic unit test for OPDS browser
This initial seed specifically tests against what recently broke in Gutenberg and FeedBooks.
2014-11-30 19:06:27 +01:00
Hans-Werner Hilse
f02be20a65 refresh fixes for the menus
this will only refresh the areas that actually need to be refreshed.
2014-11-30 12:04:33 +00:00
Hans-Werner Hilse
6793a4fee1 reader config dialog: properly refresh config pane
This serves as a good example for the way refreshes are done:
setDirty("all", function() ... end)
* the "all" will have all widgets on screen repainted.
  In this case that is needed because the config pane has
  different sizes, covering different parts of underlying
  widgets. So they need to be repainted every time.
* the function will return the area to refresh and is evaluated
  after painting. In this example, we take the area that is covered
  by the config pane before switching it (if present at all), and
  hand it to the refresh area function as an upvalue.
  When the function is called later after painting, it will
  use that saved area and combine it with the area that is covered
  then by the widget. That way, parts that are covered no more are
  included in the refresh area, too.
2014-11-30 11:50:51 +00:00
Hans-Werner Hilse
82c26b1f18 adapt widgets to new refresh/repaint API 2014-11-30 00:17:50 +00:00
Hans-Werner Hilse
229c5ad61c change setDirty/refresh API
See documentation in the code.
In short: There is now one single method, setDirty(), that triggers
repaints and/or refreshes.
All variables in UIManager are gone - at least from an external
perspective. Everything is done through setDirty().
This also allows for easier debugging, since all requests come
in via function calls.
2014-11-30 00:15:17 +00:00
Hans-Werner Hilse
2f9386cd69 move refresh menu table out of UIManager
no need to clutter a core file of the whole UI concept with definitions
of UI elements
2014-11-30 00:15:17 +00:00
Frans de Jonge
7fd8f4d2f1 Add missing util.template definition to readerfrontlight.lua
Fixes #1302.
2014-11-29 15:45:18 +01:00
Andrey Golovizin
296f63b22a OPDS: ignore links with unknown rel values, treat empty rel as rel="subsection". 2014-11-29 11:15:41 +01:00
HW
cceac98180 Merge pull request #1298 from Frenzie/master
Language: prevent spaces from disappearing in localizations with util.template
2014-11-28 23:14:58 +01:00
Frans de Jonge
73a6f71a0b Prevent spaces from being eaten by Transifex
Fixes #1276
2014-11-28 22:38:54 +01:00
Frans de Jonge
7a87b66fa1 OPDS catalog: auto-fill http:// if no protocol given and revert #1106
This fixes #1259.
2014-11-28 21:58:19 +01:00
Huang Xin
1b07698952 Merge pull request #1296 from hwhw/imagewidget_alpha
Imagewidget alpha
2014-11-29 00:00:29 +08:00
Hans-Werner Hilse
b2e38ca80d honor alpha when painting the dog-ear bookmark icon
allows for different icons making use of that. For our current icon,
it actually doesn't.

Fixes #402
2014-11-28 15:37:12 +00:00
Hans-Werner Hilse
0c80537003 allow image widgets to do alpha-blitting
when the image (e.g. a PNG) does contain an alpha channel, that can
be honored by ImageWidget. It doesn't do so by default for compatibility
(arguably, we should change that in the future), it has to be enabled
by setting the "alpha" property to "true" (boolean, not string).
2014-11-28 15:37:11 +00:00
Hans-Werner Hilse
a82bafc63c fix handling of invalid UTF8 sequences
external data (and in bad cases our own) can contain invalid byte
sequences in UTF8 strings. A prominent example are file names.
There was a 1-off bug in calculating the allowed length for multibyte
chars, and the iterator was a bit too greedy when stumbling upon
invalid sequences, returning a single "invalid" char for a sequence
up to the point where it became invalid in calculation. Now, we present
one invalid char for the first byte of that sequence and then check
for a valid char starting with the next byte.
2014-11-28 14:52:04 +00:00
Hans-Werner Hilse
f828f6e7e4 show dictionary title in info popup when setting default dictionary 2014-11-28 13:53:42 +00:00
Hans-Werner Hilse
1156bcd057 show a popup upon making a dictionary the default dictionary 2014-11-28 13:33:04 +00:00
Huang Xin
a72bc33022 Merge pull request #1293 from Frenzie/language
Reworked several strings
2014-11-28 21:21:51 +08:00
Frans de Jonge
693fa0837e Reworked several strings
This is the remaining gruntwork of #1276. I believe that only leaves networkmgr.lua and filemanagersearch.lua, which will require a little more thought.
2014-11-28 14:10:37 +01:00
Huang Xin
e835c1e502 Merge pull request #1280 from hwhw/master
fix a case when "ip r" command fails
2014-11-28 20:19:06 +08:00
Frans de Jonge
66f04af8fb Various applications of util.template
This is the first bunch for #1276. I'd like to resolve #1281 before doing more.
2014-11-28 12:48:15 +01:00
Hans-Werner Hilse
48610006d5 fix a case when "ip r" command fails
our network manager script isn't the beauty of the code base.
However, this fixes a case where it would crash the reader when an
external command fails.

fixes #1279.
2014-11-28 10:58:54 +00:00
Frans de Jonge
cf93605d04 Change "Screen Mode" to "Orientation"
Screen mode isn't user-oriented. Orientation is.

"Page" in "Page Margin" is redundant
2014-11-28 11:32:45 +01:00
Hans-Werner Hilse
173de615db Revert "smaller viewport for Kobo H2O (bezel overlaps bottom)"
This reverts commit fc36d6db37.
2014-11-27 16:01:00 +00:00
Hans-Werner Hilse
fc36d6db37 smaller viewport for Kobo H2O (bezel overlaps bottom) 2014-11-27 15:46:03 +00:00
Hans-Werner Hilse
dacb59f6b2 move debug function handover, set viewport for Kobo Mini
in order to have debugging facilities in framebuffer:init(), we hand
over the debug function as soon as we can.

Also, set a viewport for Kobo Mini. Hopefully, it fits most people -
I can only test on my unit.
2014-11-27 15:46:03 +00:00
Hans-Werner Hilse
4a497cfcfb fix initialization order on Kobos
notably, this will set up input offsets for viewport stuff after the
input rotation has been set up.
2014-11-27 15:46:02 +00:00
chrox
ca60ceacd0 make radius field respects popout flag 2014-11-27 22:01:57 +08:00
chrox
fe885be563 refactoring readerbookmark to show both bookmarks and highlights
in the bookmark menu
and use binary search of the sorted bookmarks table whenever is
possible.
2014-11-27 22:01:57 +08:00
chrox
ac6a34ee3d fix crash on special offered Kindle 2014-11-27 22:01:57 +08:00
Hans-Werner Hilse
895b98d5be add debugging output for device initialisation 2014-11-27 10:34:16 +00:00
Hans-Werner Hilse
677871cbf7 allow emulator to specify a viewport
This allows for Viewport debugging. It is configured via an environment
variable, EMULATE_READER_VIEWPORT. It works with Lua table syntax, e.g.:
EMULATE_READER_VIEWPORT="{x=10,w=550,y=5,h=790}"
2014-11-27 10:15:44 +00:00
Hans-Werner Hilse
bf7ea7af6d add device names as comments
we use mostly code names internally, but it is probably a good idea
to annotate the actual device names.
2014-11-27 10:14:24 +00:00
Frans de Jonge
141095b0c8 Alterations to the menu
References #1219 and #1258.
2014-11-26 18:16:54 +01:00
Hans-Werner Hilse
48ea442e28 close file descriptor of dictionary lookup pipe 2014-11-26 09:02:18 +00:00
Hans-Werner Hilse
c6d342f305 fix usage of old refresh API
standby/screensaver/USB was affected.
2014-11-26 08:25:18 +00:00
chrox
e1af7f2ed3 prompt users to long press directory to set inbox
This should fix #1233.
2014-11-25 18:19:33 +08:00
chrox
1accddb8cd fix #1236 by opening the parent directory of last used document 2014-11-25 17:49:46 +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
548e830fdc fix crash when highlighting text in EPUB documents
Since the new Screen:getSize modthod returns a regular table
instead of a Geom which is set to the dimen field of readerview,
there is no copy method in the dimen field. And we don't need to
copy dimen any more since the result won't be modified. Even the
screen page area somehow needs to be modified, the caller of this
function should make a copy of that variable by itself.
2014-11-25 11:02:33 +08:00
Hans-Werner Hilse
7da6dd28a5 handle Android app events in frontend/device code
Events have been passed to the frontend/device (or /input) code before.
Some of them have been handled in the FFI/input code, however. That
seems to be highly critical with regard to timing, though, so we just
let it enqueue the event for our code to process later. That way, a
mutex that locks the input event queue can be freed faster.
2014-11-24 21:09:28 +00:00
Hans-Werner Hilse
2775ade5d6 fix device:init() bug on Android platform 2014-11-24 08:52:01 +00:00
Hans-Werner Hilse
39d061fd3a pass device object to input FFI module
this is needed (for now) on Android, since the FFI module triggers
screen updates.
2014-11-23 12:15:19 +00:00
Hans-Werner Hilse
57a27f8f24 provide debug function to framebuffer ffi implementation 2014-11-23 12:13:34 +00:00
Hans-Werner Hilse
21ded080dd fix refactor bug: invalidate update_regions_func 2014-11-23 12:13:33 +00:00
Hans-Werner Hilse
8696ca1fa1 fix old (pre-refactor) refresh call syntax 2014-11-23 12:13:33 +00:00
Hans-Werner Hilse
22697adf20 switch from scaleByDPI() to scaleBySize() 2014-11-23 12:13:32 +00:00
Hans-Werner Hilse
63af71188a refactor refresh
Lots of the device-related distinction wandered into
base/ffi/framebuffer_<driver>. This eases the refresh logic in
UI manager, which basically only decides what kind of refresh
to trigger. The device specific configuration in the framebuffer
driver decides how to realize that whish.

screen.lua is gone, in its place is now the framebuffer driver.
The device abstraction decides what framebuffer driver to load.
2014-11-23 12:13:32 +00:00
HW
7b91935df0 Merge pull request #1230 from chrox/fix_1170
fix #1169 and #1170
2014-11-23 13:13:07 +01:00
chrox
d11dba0558 fix #1169 and #1170 2014-11-23 18:06:20 +08:00
chrox
3574865dcb fix #1166 by auto alignment of option name 2014-11-23 16:52:08 +08:00
Hans-Werner Hilse
f9f97163e8 wait for background thread before free()ing koptcontext
This should prevent freeing resources that are actually in use in
a background thread.
2014-11-22 14:44:24 +00:00
HW
9b5ff4ca41 Merge pull request #1224 from chrox/cover_60
add unit tests for readerdictionary and readerhighlight
2014-11-22 15:30:57 +01:00
Huang Xin
823147f8df Merge pull request #1225 from Frenzie/language
Refactored menu
2014-11-22 10:03:01 +08:00
Huang Xin
b6f37debeb Merge pull request #1226 from Frenzie/filesearcher
Filesearcher: added notification for no results
2014-11-22 10:02:41 +08:00
Frans de Jonge
7c01a3f2a9 Fixed spaces stripped out by Transifex in readerui.lua by using util.template 2014-11-21 17:08:55 +01:00
Frans de Jonge
da00b4b8a9 Refactored menu
While looking into #1219 I accidentally ended up refactoring some stuff.

Tested in emulator and on H2O, but be wary because I might have overlooked something.
2014-11-21 15:57:10 +01:00
chrox
566586619a add unit tests for readerdictionary and readerhighlight 2014-11-21 18:32:43 +08:00
Frans de Jonge
92f0092ad4 Filesearcher: added notification for no results 2014-11-20 22:42:51 +01:00
chrox
dbf8faa9b1 remove hardcoded footer height of reader menu 2014-11-20 18:02:50 +08:00
chrox
f52872b081 default autoscale for IconButton 2014-11-20 18:02:50 +08:00
chrox
8384eba810 consider also the screen size when scaling by DPI 2014-11-20 18:02:50 +08:00
chrox
e66801039b refactoring: reuse IconButton for config menu bar 2014-11-20 18:02:50 +08:00
Frans de Jonge
ab442c2434 gettext: unescape \n
Fixes the problem that any msgid with \n in it wouldn't show up translated.
2014-11-19 21:46:45 +01:00
Hans-Werner Hilse
ab44d1f7e3 fix item number distinction (plural forms) 2014-11-19 13:25:32 +01:00
Frans de Jonge
8b9bbf918c Fix typo in #1176 2014-11-19 12:53:03 +01:00
Frans de Jonge
d701d9b198 First util.template encapsulated strings 2014-11-19 12:23:37 +01:00
HW
c9d6c02d04 Merge pull request #1203 from chrox/fix_1202
find the finest toc ticks by sorting out the largest one
2014-11-18 10:54:47 +01:00
NiLuJe
e9573ebe58 Try to avoid more update_regions_func mismatches
scheduling tricks
2014-11-18 10:32:47 +01:00
NiLuJe
f6753085ef Detect another KT2 model 2014-11-18 10:32:47 +01:00
NiLuJe
9bd089812b Tweaks and fixes for refresh logic
Don't increase counter for regional updates
Also some workarounds for Kobos

Try to avoid update_regions_func poisoning

Reset it at the end of repaint() even if nothing was found dirty

Ensure regional updates are always PARTIAL, in
case we get a region attached to an automatically triggered refresh, not
marked force_partial [which, hey, shouldn't happen, but apparently does
sometimes ^^]
2014-11-18 10:31:32 +01:00
chrox
a65dcb4c0d find the finest toc ticks by sorting out the largest one 2014-11-18 16:50:37 +08:00
chrox
897358e09a add missing translation of 'Screensaver' options 2014-11-17 21:45:14 +08:00
chrox
ee3c5525f9 add an option to show an arrow to indicate page overlap 2014-11-17 21:45:14 +08:00
HW
c651816f4b Merge pull request #1195 from chrox/fix_1121
fix #1121
2014-11-17 11:39:44 +01:00
chrox
3e7ca5706e fix #1121 2014-11-17 18:21:47 +08:00
chrox
b80dd1f966 add fulltext search for PDF documents 2014-11-17 17:58:44 +08:00
Hans-Werner Hilse
5af4ccb0c4 add support for GIF and PNG to picdocument provider
needs update to latest base
2014-11-17 10:23:06 +01:00
Hans-Werner Hilse
bcf0a9923c (really?) fix refresh viewport calculations
This adds more documentation about the viewport offset calculations
for refreshing rotated viewports.

The old behaviour also was (still) buggy, even after the latest round
of fixes. Now, the offsets when rotated are hopefully calculated correct.
2014-11-17 10:04:36 +01:00
Huang Xin
e54d2fec30 Merge pull request #1186 from Frenzie/filesearcher
Initial file search implementation
2014-11-17 10:04:38 +08: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
7e0b49edd1 fix dump() recursion detection
only detect recursions for table values.
2014-11-16 17:27:37 +01:00
Frans de Jonge
7a4b737ecd Changed "delete" in history to "remove this item from history" for clarity 2014-11-16 15:54:47 +01:00
Frans de Jonge
518c46033e Change "Search Books" to "Search books" for consistency with other search dialogs 2014-11-16 13:09:03 +01:00
Frans de Jonge
19029d1aab Comment out wasteful DEBUG statements 2014-11-16 13:08:41 +01:00
Frans de Jonge
06239fb9ec Initial file search implementation
See #1165.
2014-11-16 12:57:56 +01:00
Andrey Golovizin
f785b29f34 Fix the viewport on Kobo Aura (phoenix). 2014-11-16 09:53:52 +01:00
Andrey Golovizin
50d9041c1d Use checked_func instead of remembering the checked item. 2014-11-16 09:03:00 +01:00
Andrey Golovizin
a3e51b339d Show current font face in menu. 2014-11-16 08:59:35 +01:00
Andrey Golovizin
c5122abb21 Show current hyphenation dictionary in menu. 2014-11-16 08:59:35 +01:00
Hans-Werner Hilse
e8d576f99f fix bug in viewport offset calculation for refreshes
The calculation did not correctly calculate the offset in rotated
modes when the rotation was 90 or 270 degrees. Under these circumstances,
getWidth() and getHeight() did return rotated values for the framebuffer,
while Device.viewport did return not rotated values.
2014-11-15 22:01:04 +01:00
Andrey Golovizin
99eecde875 Use setStringProperty method to set hyphenation dictionary. 2014-11-15 12:22:47 +01:00
Huang Xin
7dbe940b71 Merge pull request #1174 from Frenzie/master
Various language-related fixes.
2014-11-15 07:43:18 +08:00
Frans de Jonge
90d3c23030 Enter *a* word to look up. 2014-11-14 23:04:27 +01:00
Frans de Jonge
fcb59bfd30 Improved SetDefaults dialog message. 2014-11-14 22:01:32 +01:00
Frans de Jonge
26baa5e007 Added timeout to successful delete message. 2014-11-14 21:57:06 +01:00
Frans de Jonge
324d67a7a8 Various language-related fixes. 2014-11-14 20:34:55 +01:00
Hans-Werner Hilse
5b48c165b3 factor out dump() function, handle reference loops 2014-11-14 16:33:52 +01:00
Tigran Aivazian
e5e50ed0f9 Fix 1169 by registering .txt.zip/.html.zip/.htm.zip formats 2014-11-14 12:25:02 +00:00
Hans-Werner Hilse
45cf927ee8 Fix double-check of task list
Since commit 12a76fee33, we had a potential
bug on the event mechanism:

It introduced (besides the checkTasks method itself) a second run of the
checkTasks() method. In the second run, however, scheduled events were
not taken into consideration in how long to wait for input events
afterwards.

So when the after the first run of checkTasks() there were new scheduled
tasks added to the task queue, they were not properly scheduled and
and depended on an already existing scheduled event or an input event
to trigger.

This might have led to unexpected order of execution (though the order
is not guaranteed by the task scheduling anyway!) or to events triggering
not at all until the next input event.
2014-11-14 09:12:46 +01:00
Hans-Werner Hilse
c22dbbe3ae factor out repaint to its own method
it's gotten complex enough to isolate it
2014-11-14 09:09:50 +01:00
Frans de Jonge
81cb358775 Change rm invocation from rm -r to rm -rf
Fixes #941.
2014-11-13 22:40:02 +01:00
Frans de Jonge
5faff6331f "File to remove" DEBUG message was empty
You can't get the full file path of a file that no longer exists, obviously.
2014-11-13 12:54:58 +01:00
Frans de Jonge
886a9d8f8f File manager improvements: added delete confirmation dialog and success/failure message
This makes deleting files from within KOReader less scary and also provides the initial framework for handling different exit codes for #941.
2014-11-13 12:28:57 +01:00
Qingping Hou
b0b02182ff Merge pull request #1160 from chrox/fix_1154
fix #1154
2014-11-13 03:41:14 -05:00
Qingping Hou
38cf53b426 Merge pull request #1159 from chrox/fix_1155
dismiss 'Opening file' dialog once reader view is ready
2014-11-13 03:37:34 -05:00
Qingping Hou
2cb23c9df6 Merge pull request #1153 from chrox/fix_1149
fix #1149 by adding 'Network setting' in filemanager
2014-11-13 03:27:33 -05:00
chrox
111ad02143 fix #1154
And koreader release version is normalized to a 10 digits containing
a four digits year field followed by a two digits month field followed
by a four digits revision field like "2014041079".
2014-11-13 14:43:20 +08:00
chrox
d65e5cf813 dismiss 'Opening file' dialog once reader view is ready 2014-11-13 14:00:35 +08:00
chrox
edb124471d screensaver options only apply to Kobo devices 2014-11-13 12:59:02 +08:00
chrox
cfa4f03c18 fix #1149 by adding 'Network setting' in filemanager 2014-11-13 12:54:42 +08:00
chrox
307bbe8675 fix #1142 by adding 'show page overlap' option for EPUB doc
And 'show page overlap' option is disabled in "page" mode for EPUBs,
and in fit to page/*height zoom mode for PDFs.
2014-11-13 12:37:20 +08:00
Huang Xin
24d629d4e7 Merge pull request #1145 from NiLuJe/master
Some more refresh fixes...
2014-11-13 07:07:39 +08:00
NiLuJe
13cbed8ea5 Fix partial refreshes on older Kobo devices
Fix #1146 (regression).
2014-11-12 19:12:22 +01:00
NiLuJe
1063ee74e5 Fix flipping mode refreshes
Don't do regional footer refreshes when we're in flipping mode.
There's probably a more elegant/correct way to handle this, but this
does the job ;).
Fix #1140
2014-11-12 16:51:52 +01:00
NiLuJe
1ee09010c4 Make ScrollTextWidget updates regional
Because I like breaking stuff in fun & interesting ways :D
2014-11-12 15:55:30 +01:00
Hans-Werner Hilse
acf6641009 fix memory calculation for cache insert decision, simplify drawing/rendering 2014-11-12 15:53:08 +01:00
NiLuJe
eef26a0e94 Ask for a full refresh when clearing HL
Helps avoiding ghosting, especially on REAGL devices.

re #1119
2014-11-12 15:49:01 +01:00
Hans-Werner Hilse
6b45a4ea06 fix cache implementation
the cache would behave badly when the same item was insert()ed twice:
it would add the size twice to memory consumption, but would never substract
it twice when purging the (actually single) object from cache. So the cache
would seem to fill up while in fact it wasn't.
2014-11-12 15:21:20 +01:00