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

244 Commits

Author SHA1 Message Date
Tigran Aivazian
3056bf440c Fix for TOC breakage for crengine-related files.
In UniReader:showToc() function we cannot use goto() by page number
but have to use self:gotoTocEntry() because crereader defines its own
CREReader:gotoTocEntry() method which uses "xpointer" field of the TOC
entry for this purpose.
With this fix the TOC navigation in crengine-related files works
correctly, BUT after each jump you have to press Menu to refresh the
page for some reason (adding explicit self:redrawCurrentPage() in the
code before gotoTocEntry() doesn't help). This seems to be an unrelated
problem to do with cr3 caching or something else. I will try to
investigate it as well, but for now I am committing the fix for the TOC side
of the problem.
2012-09-21 23:05:19 +01:00
Tigran Aivazian
e5c859059d Fix for the crash when deleting highlights, see issue #295. 2012-09-19 23:34:16 +01:00
Tigran Aivazian
f11a006775 1. Fix deleting highlights when there is more than one (previously it would delete not only the current highlight but some or all of the later ones)
2. Support deleting highlights from within "show all highlights" function (Shift-N). It is much easier to delete multiple highlights than having to position the cursor on them and press Del.
3. Fix the bug whereby the first press of Menu would overlay the info on top of the book's text.
4. Show the number of bookmarks and highlights in their respective lists.
5. Fix the incorrect section title shown in Menu when the file contains TOC with external links.
6. Rename "start highlight mode" -> "enter highlight mode".
7. Rename "display all highlights" -> "show all highlights".
2012-09-19 18:25:26 +01:00
Tigran Aivazian
f5f5040f20 Change "Updating HighLight data..." message to Debug() as this operation
cannot possibly hang and it conveys no useful info to the end user.
2012-09-19 12:29:45 +01:00
Tigran Aivazian
d2b2d8b18f Make the info messages about highlight short enough to be visible.
Also, shorten the delay from 2s to 1s.
2012-09-19 12:26:32 +01:00
Tigran Aivazian
75bd54657b Cleanup of the TOC support code: remove unnecessary initializations. 2012-09-17 19:56:19 +01:00
Tigran Aivazian
51ccc20845 Save a few table indexing operations since we already have the page number. 2012-09-15 23:32:56 +01:00
Tigran Aivazian
56f4ac42bd Better fix for the external links in TOC problem: instead of returning
to the current page display a message "External links unsupported" and
remain in the TOC menu. The reason for this decision is that if the
user chose invalid TOC entry she is more likely to wish to stay in the
TOC menu and choose another entry rather than return to reading immediately.
2012-09-15 23:26:30 +01:00
Tigran Aivazian
cc5abd3b87 Use the value of self.doc:getPages() stored in a local variable instead of calling it for each TOC entry. 2012-09-15 22:22:07 +01:00
Tigran Aivazian
853f34b488 Fix for calculating the current position in the case of TOC containing links to external files:
when walking the TOC we should check if the destination page is within the range of the current document.
2012-09-15 22:19:12 +01:00
Tigran Aivazian
dac88587bf Fix for the case when TOC contains a link to external file: we should redraw the current page and not just quietly return from UniReader:goto(). 2012-09-15 22:00:59 +01:00
Tigran Aivazian
29b1ef5dde Cleanup of expandAllTOCSubItems(). 2012-09-14 21:43:23 +01:00
Tigran Aivazian
922b53ac60 Cleanup of cleanUpTocTitle() function: (f(x)) is a more elegant way of forcing
the return of a single value than the use of a dummy variable.
2012-09-14 21:27:06 +01:00
Tigran Aivazian
8312ad83c5 Add "expand all" command attached to Shift-Right key in the menu which recursively expands all subitems of a given item. 2012-09-14 13:54:33 +01:00
Tigran Aivazian
e35a828fb0 Generate expandable TOC only if there really is something to expand in the TOC. 2012-09-14 09:08:47 +01:00
Tigran Aivazian
49a76330ac Bugfix for the issue #269 and also fixed findTOCpos() function to correctly calculate the position in TOC
for the case when the current page is before the first page with a TOC entry.
2012-09-10 23:36:58 +01:00
{Qingping,Dave} Hou
0100f33128 Merge pull request #264 from dpavlin/gamma_speedup
showInfoMsgWithDelay would delay gamma change for 1s #165
2012-09-09 12:39:39 -07:00
{Qingping,Dave} Hou
79a304bb5d Merge pull request #262 from dpavlin/render_indicator
added page_indicator to show document position and rendering
2012-09-09 12:38:13 -07:00
Dobrica Pavlinusic
b27b665a97 showInfoMsgWithDelay would delay gamma change for 1s #165 2012-09-09 21:05:23 +02:00
Tigran Aivazian
4242cc9686 Allow deleting bookmarks. 2012-09-09 19:46:24 +01:00
Dobrica Pavlinusic
4e1586fc81 added page_indicator to show document position and rendering
idea is simple: when starting long operation (page renedering) invert
box on top of screen which has relative width of this page.

This allows easy overview where in document user is, along with
indication that something is still happending.

Perfect use-case are glossy magazines pdfs which have first two
pages in hi-res graphics, so this indicator is very useful to see
that something is still happending and that reader didn't die
2012-09-09 19:06:15 +02:00
Tigran Aivazian
f1e197cbfd For documents without TOC we need to redraw current page after showing the "No Table of Contents" message,
otherwise the message "Retrieving TOC..." will stay on the screen indefinitely.
2012-09-09 15:00:17 +01:00
Dobrica Pavlinusic
acc61e7c07 fix crash on documents without TOC
Showing TOC on documents without one results in following error:

lua config error: ./unireader.lua:1742: attempt to get length of a nil value
2012-09-09 12:19:59 +02:00
Tigran Aivazian
27340db68b cleanup: get rid of the variable that is no longer needed. 2012-09-09 01:00:43 +01:00
Tigran Aivazian
44df8027f7 Fix the function cleanUpTocTitle() to return a single string, so that
it can be passed as a second argument to table.insert().
2012-09-08 23:53:28 +01:00
Tigran Aivazian
e2a3f1de64 Multi-level TOC support, see issue #235 on github. 2012-09-08 23:52:04 +01:00
NuPogodi
d58fa93285 Next tigran's requests
1. Finally, removed infomessage about redrawing page in new zoom mode
2. Prevented potentially wrong user's input of non-integer values for page numbers in the 'go to page' input box
3. Removed duplicated code to make screenshot; already included in commands.lua
2012-09-06 19:49:56 +03:00
NuPogodi
676a4610cf Following requests...
1. Replace hotkeys Alt+<> & Shift+<> (houpq's request)
2. Restrict maximum X/Y-panning steps by G_width/G_height, respectively.
3. Remove warning out about redrawing in new zoom mode (tigran's request)
2012-09-05 20:54:49 +03:00
NuPogodi
1f89704b90 storing rcountmax; user-configurable zoom step & pan steps, etc
1. In order to close issue #59, I've introduced user-configurable values for panning steps - for X- & Y-axis, separately. Now panning is called by pressing fiveway without mod_keys. When one presses Shift+FW, he/she changes panning steps in the following way - Shift-Left/Right = decrease / increase X-panning step (divide or multiply on factor 2), Shift-Up/Down = increase / decrease Y-panning step. The lowest value for panning steps is set 1. Both parameters, shift_x & shift_y, are saved to local settings (i.e. history file).

2. Manual zoom step was also made user-configurable. So, instead of two old zooming functions (with fixed 10% and 20%-steps), I made one function to zoom (Shift+<>), while the other (Alt+<>) changes the zoom step downto minimum 1%. 

3. Fresh introduced function to change parameter rcountmax was added by storing rcountmax to both setting files - global settings & local ones (i.e. history file) - so that the rcountmax-priority (from low to high) is the following: default rcountmax=5 < its value in global settings < rcountmax stored for each concrete document.

3. Dirty, the extention-based hack to avoid reading not crengine-related parameters stored in history files. TODO: one has to finally introduce loadSpecialSettings() & readSpecialSettings() for PDFReader & DJVUReader and to store therein the reader-specific parameters (like globalgamma, bbox, globalzoom, globalzoom_mode; render_mode = for djvu-files only, etc.)

4. Some lua-code cosmetics (to make code more readable); for example: "self.pan_margin = settings:readSetting("pan_margin") or self.pan_margin" instead of 
"local pan_margin = settings:readSetting("pan_margin")
if pan_margin then
		self.pan_margin = pan_margin
	end"

5. Fix for the today's tigran123 fix: issue #246 (details are included). Added InfoMessage:show() to inform most impatient users that the reader tries to redraw new zoo mode.

6. The fontface for the reading info (called by 'Menu') is restored to be in accordance with original intentions and with the same fontface in crereader.lua - namely, Font:getFace("rifont", 20)

7. Moved the exit hotkeys (Alt+Back & Home) to the end of hotkey list.
2012-09-03 22:23:06 +03:00
Tigran Aivazian
b70865286c Remove Debug() --- I keep forgetting to remove them before commit :) 2012-09-03 17:40:13 +01:00
Tigran Aivazian
df18cae233 Bugfix: In zoom mode menu selection we need to redraw the screen even if the selected mode is the same as the current one,
otherwise it gives an impression that the program hangs (unless the user presses Next page or does anything else that causes
screen refresh, e.g. manual screen refresh).
2012-09-03 17:34:48 +01:00
Tigran Aivazian
3b1da21cfd Merge remote branch 'upstream/master'
Conflicts:
	djvureader.lua
	unireader.lua
2012-09-01 16:36:52 +01:00
NuPogodi
4bb8ef7f45 unireader: refresh frequency; zoommode-menu, etc.
1. Restored default value rcountmax=5; the function to make manual full screen refresh is no more silent; at first, it asks user to set a number of partial refreshes (rcountmax) and then performs full refresh. TODO: saving parameter 'rcountmax' in the global reader settings (or separately, for each document). 
2. The hotkey 'R' and the respective function toggle_render_mode() for djvu-documents are moved to djvureader.
3. Added hotkey 'M' and the respective function that calls menu with zoom-modes. Probably, one needs to remove unappropriate items, like "Fit zoom to page" and, less probably, the hotkeys (A, S, D, F and ^A, ^S, ^D, ^F) to set zoom-mode directly.
2012-09-01 13:39:14 +03:00
Tigran Aivazian
711cee787e Merge remote branch 'upstream/master' 2012-09-01 00:17:25 +01:00
Tigran Aivazian
60b87b4b95 Update the name of the function cycle_render_mode() -> select_render_mode() in the comment. 2012-08-30 16:11:37 +01:00
Qingping Hou
461c135c5d patch for #234 by Nupogoddi
refresh screen if no input from search highlight.

close #234
2012-08-30 12:44:13 +08:00
Tigran Aivazian
2e0876a4ae Merge remote branch 'upstream/master' 2012-08-29 23:13:13 +01:00
NuPogodi
25edd3101f TOC position on current place in the tree #235 2012-08-29 22:47:16 +02:00
Tigran Aivazian
3fd33805c5 Save/restore the setting of render_mode. 2012-08-29 11:37:38 +01:00
Dobrica Pavlinusic
d577ed9b00 show search results as inverted block 2012-08-29 12:26:25 +02:00
Tigran Aivazian
42491bfefd Merge remote branch 'upstream/master' 2012-08-29 10:17:21 +01:00
Tigran Aivazian
824e9d139e Move render_mode support out of unireader.lua into djvureader.lua as it is djvu-specific.
Also added support for all other rendering modes handled by djvulibre.
Also made the message print a human-readable description of the mode rather than just the number.
2012-08-28 23:48:56 +01:00
Dobrica Pavlinusic
f0476ab481 hide inputbox after entry 2012-08-28 22:14:04 +02:00
Tigran Aivazian
5c9a8fbec6 DjVu enhancements: a) add support for switching the rendering mode between B&W (default, 1) and COLOUR (0) values. b) handle the gamma values correctly. 2012-08-27 15:33:32 +01:00
Tigran Aivazian
0a4e11d4af In the status line shorten "Memory:" -> "M:" and "Section:" -> "Sec:" and also show the battery level. 2012-08-27 15:27:51 +01:00
Tigran Aivazian
424a6a895b Refresh the screen completely on every page, not every 5th. 2012-08-27 15:25:29 +01:00
Dobrica Pavlinusic
2dfee0a2fb remember last search so it's incremental now 2012-08-26 16:19:51 +02:00
Dobrica Pavlinusic
d827301639 search through whole document 2012-08-26 16:03:55 +02:00
Dobrica Pavlinusic
eb38dfedd4 show search highlight until next page refresh 2012-08-26 15:16:08 +02:00
Dobrica Pavlinusic
e8ab2381c3 extract code into new function UniReader:searchHighLight(search) 2012-08-26 14:48:51 +02:00