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)
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.
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).
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.
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.
Pointed out by kljohann, thanks.
Now addJump and addBookmark get notes
from specified pageno/xpointer instead
of current page.
* also fixed bug in page number counting
in cre.cpp
* hwhw/master: (183 commits)
show infomessage on document open
use InfoMessage for empty TOC, jump history and highlights
copy resources dir on customupdate
add resource: info icon
display document open error message
added infomessage dialog implementation
bugfix, removed old test constant
Added widget abstraction framework
added interface to get blitbuffers from JPEG/PNG files
fix typo
added reading of pan_margin settings
fix full screen refresh command, close#99
add: sleep and usleep in util module
fix: add back KEY_FW{LEFT,RIGHT} commands to NumInputBox
reverted removal of last-doc shortcut, introduced framework restart
kill our own child process. not quite finished.
added line spacing setting for crereader
remove page:getPageText debug dump to improve performance on device
remove page:getPageText debug dump to improve performance on device
display crash.log on error
...
Conflicts:
ft.c
helppage.lua
inputbox.lua
rendertext.lua
rendertext_example.lua
unireader.lua
This change introduce object's dest_x and dest_y coordinates which
are needed in zoomedRectCoordTransform to make highlight scale and
move according to current pan position.
* add _isEntireLineInScreenHeightRange() method
For better page view navigation when highlighting
or moving cursor.
* bug fix in _isWordInScreenRange() method
* add _nextGap(), _prevGap(), _gapInNextLine()
and _gapInPrevLine() methods, so now key event
handling code in cursor moving mode only focuses
on drawing, calculation task is passed to these
four methods.
* handle left end of first line in cursor move
* properly highlight first word if cursor starts
from left end of first line
* handle right end of last line in cursor move