Commit Graph

2062 Commits (ffd01b33459df53cd7338164b171931ccc04d5a1)

Author SHA1 Message Date
Qingping Hou 71ef994318 test: add nickle conf spec 8 years ago
Huang Xin 1dff6c7bc6 Merge pull request #1784 from koreader/houqp-master
minor FM fix
8 years ago
Qingping Hou 1609becd61 Merge pull request #1772 from dset0x/frontlight-sync
WIP Synchronise frontlight level with nickel config
8 years ago
Qingping Hou fb0606aa9c style(FM): rename internal only method into function 8 years ago
Qingping Hou 34515484d1 fix: remove invalid setDirty in FileManager:restoreScreenMode 8 years ago
Qingping Hou 5a3b9c6856 style: make staick-check happier 8 years ago
Qingping Hou 59e791db82 feat: support numeric input for keyboard only devices 8 years ago
Qingping Hou 0a492bee3c add(ui): topcontainer 8 years ago
Qingping Hou 68ead0c9b2 feat(inputcontainer): support showing inputcontainer without content 8 years ago
Qingping Hou 5cca28fabc feat(util): add array.Append helper 8 years ago
Qingping Hou 72b0b8197b style(inputdialog): rename self.input to self.input_widget 8 years ago
Qingping Hou e19f73bdba style(util): rename tablelength to tableSize 8 years ago
Andrey Golovizin bb1d4c60b3 Choose hyphenation dict by document language 8 years ago
Dimitrios Semitsoglou-Tsiapos 699781de68 nickel_conf: handle missing file/key/section 9 years ago
Dimitrios Semitsoglou-Tsiapos eb47c5a39f Synchronise frontlight level with nickel config
* Drops support for mocking the frontlight setting internally which may
  cause incorrect in-memory values.

* Adds new supported value for `KOBO_LIGHT_ON_START` (-2), which sets
  'Kobo eReader.conf' as the source to update `settings.reader.lua`'s
  brightness setting on startup, thus using the value from it
  indirectly.

* Adds the `KOBO_SYNC_BRIGHTNESS_WITH_NICKEL` configuration variable
  which updates 'Kobo eReader.conf' every time the brightness setting is
  changed within koreader.

* Fixes missing call to save brightness when modifying via two-finger
  swipe.

Closes #1523.
9 years ago
Qingping Hou d1ca8bc494 fix(filemanager): delete document with settings 9 years ago
Qingping Hou 722eaed4b2 feat: docsettings:getSidecarDir 9 years ago
Qingping Hou 7caeae8701 fix: make screenshoter always active for filemanager 9 years ago
Qingping Hou 6fe9f7870b chore: more luacheck fixes 9 years ago
Qingping Hou 2dc5eb8586 minor: no need to override function arg with local 9 years ago
Qingping Hou 9c46cafc9c chore: fix luacheck warning 9 years ago
Qingping Hou 3b92bdc084 feat: support screenshot in filemanager 9 years ago
Qingping Hou 4759def09c chore: fix static-check errors 9 years ago
Qingping Hou b1a1aeca0a fix(task scheduler): many race conditions
_checkTasks first get number of tasks in the stack and does a numeric
for loop to go through each task. The problem is a task might call
schedule or unschedule, which will reorder tasks in the stack. This will
invalidate many of the table indexes used in the for loop.

This patch turns the task stack into an ordered queue, so _checkTasks
only pops one item out of the queue each time instead of setting up a
for loop at the beginning. This should avoid the race condition
mentioned above.
9 years ago
Qingping Hou 55234ef899 fix: read stats crashes pdf/djvu documents 9 years ago
Qingping Hou 90d1101ab7 minor: quit uimanager properly on coroutine error 9 years ago
Qingping Hou 41240464ca minor: fail loudly with stack trace when doShowReader crashed 9 years ago
Qingping Hou ffd438de18 fix(ReaderFooter:getDataFromStatistics): return na if book has no stats history 9 years ago
Alex Pletnev 6bf9d75807 #1750 TB feature/statistics issue
Change time to read book formula to: ((total_read_time / read_pages) * (all_pages - current_page))
9 years ago
Alex Pletnev ce4e32e01c #1723 Add time to read into the status bar
Add new statuses:
TB - book time to read
TC - chapter time to read

Fix backward compatible in statistics plugin
9 years ago
chrox 79e0f3fe65 fix hold-to-set font size not effective 9 years ago
chrox 394c9cf948 fix dimen returned by getSize used as dimen in inputcontainer 9 years ago
chrox 55ba1450d4 code refactoring: use hash table index instead of loop 9 years ago
frankyifei 86d6d46770 add isKindle check 9 years ago
frankyifei 1f14a9e80d try to exclude those broken system fonts
these fonts can not be used by freetype and will cause hang up
9 years ago
Qingping Hou 46aed752c7 Merge pull request #1680 from erosennin/opds-title
OPDS: fix parsing entry titles on ManyBooks (and possible other sites)
9 years ago
Qingping Hou 8cff0f3ba9 Merge pull request #1679 from erosennin/opds-author
OPDS: include author's name into the file name
9 years ago
Andrey Golovizin 63e0605080 OPDS: fix entry titles on ManyBooks 9 years ago
Andrey Golovizin dbac03e5f4 OPDS: include author's name into the file name 9 years ago
chrox 2216ddd796 hold to lookup word in dict window
This should close #1541.
9 years ago
NiLuJe bfb2ee703a Force poll the battery when showing the menu.
Making sure to always show up to date info.

Also fix the battery polling cache invalidation logic to actually
work?
Should make it behave properly on devices where we handle resuming
ourselves.
9 years ago
chrox 54f5166254 add koptinterface spec 9 years ago
chrox 8b85cbf157 add support for password protected zip/cbz documents 9 years ago
chrox 1f094657dc fix #1529 by rounding off the scaled dimension 9 years ago
chrox f73f8916c0 fix #1569 use fit to page zoom cover image even in reflow mode 9 years ago
chrox 96dc338812 fix #1570 to disable swipe to go back by default 9 years ago
chrox f2d38336c1 fix #1642 GFW block in China may also cause Network unavailable error 9 years ago
chrox a60544b1ad Koreader Ubuntu-touch port
Currently only tested on Ubuntu-touch emulator with framework
ubuntu-sdk-14.10 for armhf.
The ubuntu-touch port is binary compatible with the Kobo port
major changes in this PR are:
1. rename the emulator device to sdl device since both the emulator
and the ubuntu-touch target use libsdl to handle input/output.
2. ubuntu-touch app has no write access to the installation dir so
all write-outs should be in a seperate dir definded in `datastorage`.
9 years ago
Qingping Hou f2fa1c36ba Merge pull request #1647 from chrox/fix_kv_refresh
fix some minor issues on Kindle Voyage
9 years ago
chrox d198f1c7ab don't set focus button for Android 9 years ago
chrox 4920426148 no need to do full screen refresh when outof screensaver
since there is already one by the native system
9 years ago
chrox e91b7bd266 set foucus of button table only if the device has a dpad
so that Kindle Voyage won't show a highlighted button in
confirm dialog.
9 years ago
NiLuJe d17ca951d3 Fix battery status on K3.
Will probably be more complex on older devices, where, AFAICT,
gasgauge-info is bitbanging over i2c...
9 years ago
NiLuJe 5fa5fabf02 Fix battery status on the K4
And also probably prevent a crash when trying to enable WiFi there.
We really shouldn't even show the WiFi stuff on some of these old
devices, but at least now it doesn't crash ;).
9 years ago
chrox 9e91512f5f add custom sync server option in Kosync plugin
This should fix #1619.
9 years ago
Huang Xin d393fbb180 Merge pull request #1628 from apletnev/#1581
Add Statistic plugin (#1581 Amount of hours spent on a book)
9 years ago
chrox b0df6d53e9 add Basic Authentication for OPDS catalog
use coroutine to support ad-hoc callback in login button so that when
the username/password is incorrect it will retry automatically
currently tested with COPS on apache

This should fix #1001.
9 years ago
Alexander Pletnev c45328f14e Add Statistic plugin (#1581 Amount of hours spent on a book)
Changes based on comments
9 years ago
chrox 5ec384efb5 fix #1593 cannot download from COPS OPDS server
and get rid of the ugly baseurl workaround for "Internet Archive",
actually the url building of all these catalogs is perfectly
handled with `url.absolute(base, relative)`.
9 years ago
Qingping Hou a62e7ee34c feat: add keyboard support for button table 9 years ago
Qingping Hou 8c14613085 fix: support self.selected override for FocusManager 9 years ago
Qingping Hou 63e88baf33 fix: stop self.dimen polution for inputcontainers
Without this fix, self.dimen is shared among all inputcontainers
intances, which breaks some of the UI rendering. All widget should
set/initialize their own self.dimen in self:init() method.
9 years ago
Qingping Hou cdd17906f6 refactor: ui/font:getFace 9 years ago
NiLuJe ce5f66ccbc Prefix battery percentage w/ a + when charging.
Adresses comments on MR.
Add a comment explaining the magic behind CRe's charging icon when using
CRE's full (top) status bar.
9 years ago
Alexander Pletnev 52d821df00 Add Statistic plugin (#1581 Amount of hours spent on a book) 9 years ago
NiLuJe 6309df9dec Guard against nil text in menu widget
Allow one to go further in the FM's setting menu on legacy devices...
... and potentially shoot oneself in the foot because of the unusable
confirmdialogs (among other things ;p).
9 years ago
NiLuJe dc7b854196 Fix input devices on K2 9 years ago
NiLuJe ffd3f5c1cc Fix input devices on K4 9 years ago
NiLuJe df4bbc8191 Only read Kindle S/N once 9 years ago
NiLuJe 928404a6b6 Fix K4 key mappings 9 years ago
Qingping Hou f09f6e0db8 Merge pull request #1621 from Frenzie/readerfont
Fix set default or fallback font string isn't picked up by lua_xgettext
9 years ago
NiLuJe 53e5366e39 Fix input devices on K3.
re #1623
9 years ago
NiLuJe e56d30ff46 Oops. Fix my previous commit.
That basically broke startup on Kindles, which is, err, bad.
9 years ago
Frans de Jonge 30a95c8fc3 Fix set default or fallback font string isn't picked up by lua_xgettext 9 years ago
NiLuJe a4ebfee83b Handle the PW3
(Dry-coded, assume it's basically a PW2 w/ the KV screen ;p)
9 years ago
NiLuJe 687aba796d Fix networkmgr on Kobo
To avoid potential issues with USBMS.
Namely, make sure CWD doesn't point to the userstore for persitent
processes.
Make sure wpa_supplicant doesn't try to use our own OpenSSL lib, which,
again, is in the userstore area.
Properly kill our dhcp client invocation on when killing WiFi

Also, some related fixes to the startup script:
Properly kill wpa_supplicant & the dhcp client when we kill
wifi before rebooting to nickel.
9 years ago
Frans de Jonge f84b537954 Make 'default' and 'fallback' strings translatable 9 years ago
Huang Xin cf41829450 Merge pull request #1616 from frankyifei/2015-9-3
replace Droidsansfallback with NotoSansCJK-Regular
9 years ago
Frans de Jonge e935ef3ada Merge pull request #1615 from frankyifei/2015-9-3
implement GUI dialog for setting crengine fallback font
9 years ago
frankyifei 23c963ed15 replace Droidsansfallback with NotoSansCJK-Regular 9 years ago
frankyifei 059de23037 implement GUI dialog for setting crengine fallback font 9 years ago
Frans de Jonge f1e8710f0f Implement persistent global style setting 9 years ago
Frans de Jonge f9d415642a Fix clear external styles not persistent in document settings
References #1601
9 years ago
Frans de Jonge ba994f41ab Fix Wikipedia (HTTP is now HTTPS) and some failsafes
Rudimentary JSON validity check by seeing if the first character is {. The JSON decode function will crash in spite of pcall if it's not.
9 years ago
frankyifei d0a44b9152 style 9 years ago
frankyifei f7fb103abc loop menu pages when it reaches ends
the following graph shows my idea.

1->2->3->4->5->6->7->8->9->10
└----------------------------------------┘
9 years ago
frankyifei f7142cfcbe fix filechooser crash on entering folder contains nil symlink 9 years ago
chrox ec1d9e4b7d partial refresh after deleting highlights
This should fix #1558.
9 years ago
chrox 612ee99707 dictionary lookup now supports phrase
This should fix #1537.
9 years ago
chrox 34ea9ac574 add datastorage module to handle data directory on various platform
On kindle, kobo and pocketbook the data directory is the current
running directory but on Android the app is installed in system
defined location and users may have no access to that location.
The same circumstances should be true for the upcoming Koreader for
Ubuntu touch, so the data directory (in which tessdata, dictionaries,
global settings, persistant defaults and probably history data are
stored) could be stored in another place.
9 years ago
chrox 8d7ebaff5d add external font dir option for Android 9 years ago
Qingping Hou a30fe26de0 Merge pull request #1543 from chrox/plugable-turbo
disable turbo lib by default
9 years ago
chrox 3ad0ea5777 refactoring: remove dead code in font module 9 years ago
chrox c7cac7b333 disable turbo lib by default 9 years ago
Guangda Hu 7491cd7b9d fix spaces 9 years ago
Guangda Hu 69db627136 Glo HD support 9 years ago
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.
9 years ago
chrox d468b05567 Use turbo looper on Android 9 years ago
NiLuJe 3fdd90cf3b Fix a few Droid font paths 9 years ago
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.
9 years ago
NiLuJe c9d941215b lfs.attributes() basically does a stat()
Rename these variables accordingly, that kills my itch to close() random
fds ^^
9 years ago
Qingping Hou 186673587e chore: fix some of the luacheck errors 9 years ago
NiLuJe c847807322 Turns out that also looks better as ui refreshes 9 years ago
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
;).
9 years ago
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 ;).
9 years ago
chrox d345f21c39 Fix sdcv on Android cannot handle morphological changes 9 years ago
chrox 932df2a2f9 Refactor out string.gsplit to util.gsplit 9 years ago
chrox 98515a2210 Fix filemanager cp/mv/rm operations not work on Android 9 years ago
chrox 402806d32b Dictionary on Android
Stardict dictionary files should be copied to
/sdcard/koreader/data/dict/ directory.
9 years ago
chrox fdc56f39a3 Show OTA channel info when package is unavailable
so that users could be aware that there is other channels to check.
9 years ago
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?
9 years ago
chrox ebdd374c93 Add 'input page number' function in filemanager
by holding on the page info label at the buttom of the filemanager
9 years ago
chrox 263309d0f3 Add option to disable swipe to go back
and add a menu entry "Go back".
This should fix #1443.
9 years ago
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.
9 years ago
chrox cfffb44c9d Fix no hardware key bindings on Android 9 years ago
chrox 0788709f26 Popup goto dialog only when holding on visible status bar 9 years ago
chrox 946f527bb5 Remember scroll mode in flipping mode
This is a follow-up workaround on #1439.
9 years ago
chrox 8836225cec fix freeze when register for KOSync on Kindle 9 years ago
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.
9 years ago
chrox ff3a42e503 typo fix of #1462 9 years ago
chrox d3bb0d159a disable Turbo on Android to save precious mcode
This is a workaround to fix #1456.
9 years ago
chrox 72012e97e1 disable reflow options when reflow is not ON
This should also fix #1061.
9 years ago
chrox 90a5e09bdc disable highlight in dict window if it's highlighted already
This should fix #1418.
9 years ago
chrox 2ad21dcaa2 only strip punctuations when highlight to search
This should fix #1419.
9 years ago
chrox 83cad1c61c larger page margin as a workaround to fix #1422 9 years ago
chrox daeefff741 fix #1433 9 years ago
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.
9 years ago
chrox 3224eb1797 fix inproper variable name for pages left 9 years ago
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.
9 years ago
chrox ea76d91ed4 save zoom mode in flipping mode
This is a workaround to fix #1439.
9 years ago
chrox 35abf4bfaf move minibar configurations to reader menu
and fix #1446 by adding progress percentage in minibar.
9 years ago
chrox cf124eb72f refresh menu instead of closing if menu item is a check option 9 years ago
chrox ae9f99744d flush setting before showing screensaver 9 years ago
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).
9 years ago
chrox d7faba5b5c request from async http client only accept one callback
and error should be checked in the callback
9 years ago
chrox 0191dc6530 revert busted to v1.10.0 to avoid segmentation fault in testing 9 years ago
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.
9 years ago
chrox 5c9a9198fb add Document:fastDigest method to calculate document hash without performance overhead 9 years ago
chrox 07ff30f89c add md5:update and md5:sum methods 9 years ago
Huang Xin b56c01c382 Merge pull request #1423 from Markismus/master
Update networkmgr.lua
9 years ago
Markismus a32c3b3879 Update networkmgr.lua
Corrected a typo.
9 years ago
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.
9 years ago
chrox 3a0960d391 goto current toc entry automatically when open TOC window 9 years ago
chrox 5b76805911 disable follow link by default because it may cause trouble in reflowing mode 9 years ago
chrox 1894e71b07 don't expand toc node when it's parent node is collapsed 9 years ago
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.
9 years ago
chrox 906c91f0ad add page-button support for Kindle Voyage 9 years ago
chrox 17f1498156 fix successively set landscape rotate the screen 9 years ago
chrox 5d79158602 fix cannot save document if exit directly after highlighting in PDF 9 years ago
chrox f22a53affd screen orientation won't change when going into filemanager
and filemanager remembers screen orientation at exit
This should fix #1338.
9 years ago
chrox ca6b3d7e33 fix #1373 by checking the pos0 and pos1 of selected text 9 years ago
chrox 02d61115dc fix some part of the screen not refreshed when togglering nightmode 9 years ago
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.
9 years ago
chrox 720ab191ab fix crash when opening TOC window in scroll mode of EPUB 9 years ago
chrox 10db20f289 don't add duplicated bookmark and can delete bookmark
This should fix #1397.
9 years ago
chrox 1e8f07629f don't pop-up TOC window 9 years ago
chrox c6f6699644 fix empty menu widget won't trigger screen refresh
This should fix #1398.
9 years ago
chrox 07586cea71 strip punctuations around word before searching
This should fix #1337.
9 years ago
chrox 3f691bab93 add stable OTA channel
This should fix #1353.
9 years ago
chrox db064fc009 add toggle wifi status on PocketBook 9 years ago
chrox d0b450efde refresh battery capacity when going out of suspend
This should fix #1383.
9 years ago
NiLuJe 06bf4a2199 Fix input on KT2 devices (re #1403) 9 years ago
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.
9 years ago
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.
9 years ago
chrox 9d13d4189b fix no eink optimization on all devices 9 years ago
chrox 375070867b fix crash when checking ota on some devices 9 years ago
chrox c11a2bbf1e fix ota update for PocketBook 10 years ago
chrox 29c15518b0 fix wrong PgBack/PgFwd key binding 10 years ago
chrox 49e672d599 totally disable rotation gesture to change screen orientation 10 years ago
chrox 291f088d94 update koreader-base for multi-touch support on PocketBook 10 years ago
chrox d94d7d3aa7 fix PgFwd/PgBack cannot turn page in PDF scroll mode 10 years ago
chrox 6a06cfaea5 refactor out flush settings when device goes into screensaver 10 years ago
chrox a5b90588ae add powerd for PocketBook device 10 years ago
chrox 96e9bb0701 partial refresh screen when koreader goes to forground 10 years ago
chrox 5c4651a3d9 auto launch koreader when opening PDF/DJVU/EPUB/FB2 files in pocketbook 10 years ago
chrox 7ac36a460c handle keyboard events in pocketbook 10 years ago
chrox 6894c11640 fix typo 10 years ago
chrox 1cba495fe0 add PocketBook port of Koreader 10 years ago
Hans-Werner Hilse d016858d75 only device event0 and event1 do exist, remove others. 10 years ago
Hans-Werner Hilse c28d973941 fix: load input driver before configuring it 10 years ago
Hans-Werner Hilse 0b5545f125 rump implementation for PocketBook devices, to be extended. 10 years ago
Michael Hall 9a66805b5a Handle Kobo Touch Key 10 years ago
Hans-Werner Hilse f789913702 read global default value for margin size
The global configuration wasn't evaluated before
10 years ago
Hans-Werner Hilse a4571c297e read global default value for using embedded stylesheets
The global configuration wasn't evaluated before.
Fixes #1364.
10 years ago
Qingping Hou 6ed8f30f35 fix: empty item_table crashes menu widget 10 years ago
chrox b403a45228 fix OTA server broken on checking stable release 10 years ago
Hans-Werner Hilse 05503791b4 issue a full refresh when changing rotation 10 years ago
chrox 8555f24c45 make sure refresh_count is incremented by only once at most for each repaint 10 years ago
chrox b3d79b053a workaround to fix #1340 10 years ago
chrox d9fa97df5a fix #1336 by ignoring uncompatiable saved highlights 10 years ago
Hans-Werner Hilse bb5254022d fix: save properly last open menu in reader
20fd6f902e missed the saving part when
renaming the configuration variable.

Fixes #1335.
10 years ago
Hans-Werner Hilse 7c1c072b21 fix for rotated document to file manager transition: do a refresh
fixes part 2 of #1333
10 years ago
chrox b0e2ce2a8b update comment about reverting full refresh in onPanRelease 10 years ago
chrox 35545169a6 zoom mode is meaningless when reflowing, so disable zoom mode options in reflow mode 10 years ago
chrox c43885b917 show debug info when JSON data cannot be decoded 10 years ago
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.
10 years ago
chrox b767394fc2 fix #1150 by adding FOLLOW_LINK_TIMEOUT variable 10 years ago
chrox ef6235e4ae fix #1305 10 years ago
chrox 6c9b7facbe fix crash when removing highlighted bookmarks in PDF 10 years ago
variousvirgil 9c69c1f14e Fix #1299 10 years ago
Hans-Werner Hilse 3d73ff5ae7 only open frontlight device on Kobo devices that actually have light 10 years ago
chrox eea6f97796 fix #1319 10 years ago
chrox aa9566205b fix filemanager cannot remember sorting order 10 years ago
Hans-Werner Hilse ff0fbbdb4b fix widget closing 10 years ago
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.
10 years ago
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.
10 years ago
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.
10 years ago
chrox 20fd6f902e fix #1175 10 years ago
Huang Xin ddae003925 Merge pull request #1310 from hwhw/master
fixes for scrolling, fix for double-refresh, misc stuff
10 years ago
Hans-Werner Hilse e8642fbad7 use API for refresh when closing widgets in message popups 10 years ago
Hans-Werner Hilse 1091a8a3b9 add refresh control to UIManager:close() 10 years ago
Hans-Werner Hilse e7f7417cd3 refresh only dialog part of the screen for multi-word selection window 10 years ago
Hans-Werner Hilse 143c56c48c record ButtonDialog.dimen 10 years ago
Hans-Werner Hilse 8376e2f821 dictionary window triggers refresh itself, not via show() 10 years ago
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.
10 years ago
Frans de Jonge 47d7a48555 OPDS: refactored unit test and fixed a minor bug with undefined image_rel 10 years ago
Hans-Werner Hilse 3f9dc46315 fix dict window refresh
was still using old API
also, move this to another place.
10 years ago
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.
10 years ago
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.
10 years ago
Frans de Jonge c25254a7ec OPDS: embryonic unit test for OPDS browser
This initial seed specifically tests against what recently broke in Gutenberg and FeedBooks.
10 years ago
Hans-Werner Hilse f02be20a65 refresh fixes for the menus
this will only refresh the areas that actually need to be refreshed.
10 years ago
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.
10 years ago
Hans-Werner Hilse 82c26b1f18 adapt widgets to new refresh/repaint API 10 years ago
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.
10 years ago
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
10 years ago
Frans de Jonge 7fd8f4d2f1 Add missing util.template definition to readerfrontlight.lua
Fixes #1302.
10 years ago
Andrey Golovizin 296f63b22a OPDS: ignore links with unknown rel values, treat empty rel as rel="subsection". 10 years ago
HW cceac98180 Merge pull request #1298 from Frenzie/master
Language: prevent spaces from disappearing in localizations with util.template
10 years ago
Frans de Jonge 73a6f71a0b Prevent spaces from being eaten by Transifex
Fixes #1276
10 years ago
Frans de Jonge 7a87b66fa1 OPDS catalog: auto-fill http:// if no protocol given and revert #1106
This fixes #1259.
10 years ago
Huang Xin 1b07698952 Merge pull request #1296 from hwhw/imagewidget_alpha
Imagewidget alpha
10 years ago
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
10 years ago
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).
10 years ago
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.
10 years ago
Hans-Werner Hilse f828f6e7e4 show dictionary title in info popup when setting default dictionary 10 years ago
Hans-Werner Hilse 1156bcd057 show a popup upon making a dictionary the default dictionary 10 years ago
Huang Xin a72bc33022 Merge pull request #1293 from Frenzie/language
Reworked several strings
10 years ago
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.
10 years ago
Huang Xin e835c1e502 Merge pull request #1280 from hwhw/master
fix a case when "ip r" command fails
10 years ago
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.
10 years ago
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.
10 years ago
Frans de Jonge cf93605d04 Change "Screen Mode" to "Orientation"
Screen mode isn't user-oriented. Orientation is.

"Page" in "Page Margin" is redundant
10 years ago
Hans-Werner Hilse 173de615db Revert "smaller viewport for Kobo H2O (bezel overlaps bottom)"
This reverts commit fc36d6db37.
10 years ago
Hans-Werner Hilse fc36d6db37 smaller viewport for Kobo H2O (bezel overlaps bottom) 10 years ago
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.
10 years ago
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.
10 years ago
chrox ca60ceacd0 make radius field respects popout flag 10 years ago
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.
10 years ago
chrox ac6a34ee3d fix crash on special offered Kindle 10 years ago
Hans-Werner Hilse 895b98d5be add debugging output for device initialisation 10 years ago