2
0
mirror of https://github.com/koreader/koreader synced 2024-11-10 01:10:34 +00:00
Commit Graph

3049 Commits

Author SHA1 Message Date
chrox
da2a3ff753 detect pan release gesture 2013-03-12 11:26:11 +08:00
{Qingping,Dave} Hou
bd8e9699eb Merge pull request #784 from chrox/log-reflow-duration
log reflow duration for benchmarking
2013-03-11 06:41:37 -07:00
chrox
824de2cb9c bugfix: send SetDimensions event when toggling full screen on/off 2013-03-11 16:30:48 +08:00
chrox
591a27ddfe log reflow duration for benchmarking 2013-03-11 16:24:27 +08:00
chrox
418ba943ed bugfix: recalculate screen offset 2013-03-10 16:46:56 +08:00
chrox
a2dc5e00a2 bugfix: reset page scroll states when switching reflow on/off 2013-03-10 14:27:42 +08:00
chrox
63e5e7e577 add scroll mode for pdf/djvu reader 2013-03-10 14:23:26 +08:00
chrox
64949444f6 bugfix: calculate page zoom before hinting 2013-03-10 14:21:32 +08:00
chrox
9e5a036c6e cleanup: remove unnecessary debug info 2013-03-10 13:20:25 +08:00
chrox
dc22370cf1 bugfix: intersected geom should be initiated with a fresh copy of self 2013-03-10 13:18:50 +08:00
chrox
6561475cf7 return bbox immediately to save several CPU cycles 2013-03-10 13:15:00 +08:00
{Qingping,Dave} Hou
91b73ba7ab Merge pull request #779 from chrox/two_finger_tap
add screenshot with two-finger tap
2013-03-07 09:26:37 -08:00
chrox
7fb3b02117 make reader screenshot widget always active 2013-03-07 18:06:18 +08:00
chrox
71c4f2dfc5 add active widgets in window stack that will always handle events 2013-03-07 18:05:22 +08:00
chrox
5c2d9bb1ad screenshot with finger touch at the two corners of the diagonal 2013-03-06 22:36:51 +08:00
chrox
d879603352 set widget dirty with "auto", "full" and "partial" arguments
The "auto" argument requests a full refresh and increses full refresh count
by one. And the "full" argument forces a full refresh and reset full refresh
count. And the "partial" argument requests a partial refresh.
2013-03-06 22:24:48 +08:00
chrox
64addcc841 bugfix: fix increment of refresh count
If full refresh is false and refresh count is FULL_REFRESH_COUNT - 1,
every refresh becomes full refresh. This patch increases refresh count
when a full refresh is performed no matter whether full refresh is
requested.
2013-03-06 21:31:41 +08:00
chrox
c3d7d2df47 add two-finger tap gesture 2013-03-06 21:04:33 +08:00
chrox
f5b89744c5 feed evs in all slots to state machine 2013-03-06 20:59:48 +08:00
chrox
8c01b59776 clamp used bbox to page dimension 2013-03-05 16:50:04 +08:00
chrox
87eec1b539 save/restore view mode and embedded css mode 2013-03-04 23:23:37 +08:00
chrox
1bd8dfcee1 add flipping mode in pdf/djvu reader
By tapping on the upper left corner of the reader one can toggling flipping mode on/off.
In flipping mode swiping right/down and left/up  will paging backward and forward
accordingly with pages proportional to swiping distance.
2013-03-03 22:23:28 +08:00
chrox
fcfe82f4a5 add direction and distance in pan/swipe gesture 2013-03-03 22:18:38 +08:00
chrox
27935a2f3c set rate in pan GestureRange in bbox widget 2013-03-02 23:13:29 +08:00
chrox
94a69b87a7 add gesture emitting rate in GestureRange 2013-03-02 23:11:23 +08:00
chrox
4d4ad5fd4b cleanup: use local variables in time arithmetic 2013-03-02 22:24:21 +08:00
chrox
14bbcde422 add multiple slots in gesture detector
So that gesture detecting in one slot won't block gestures in the other slots.
2013-03-02 22:21:18 +08:00
Qingping Hou
d4e2cb708e record multiple slots for multi-touch input
for now, only slot 0 is parsed, the rest are ignored.
2013-02-27 16:04:28 +08:00
Huang Xin
253a18b7b2 Merge pull request #772 from houqp/new_ui_houqp
fix whitespaces
2013-02-25 21:08:19 -08:00
Qingping Hou
712f964d43 fix whitespaces 2013-02-25 23:32:46 -05:00
chrox
4c1fc6be5c make larger default page margin 2013-02-25 22:18:31 +08:00
chrox
37d22f2d17 set widget spacing according to screen DPI 2013-02-25 21:59:10 +08:00
chrox
86a65003d1 set manual cropping if bbox exists 2013-02-25 21:29:41 +08:00
chrox
5bf9df5d15 set bgcolor to gray in cropping dialog 2013-02-25 21:27:21 +08:00
Huang Xin
12d6ec1740 Merge pull request #770 from houqp/new_ui_houqp
add ev_log replay script & bug fix in gesturedetector
2013-02-24 18:27:27 -08:00
Qingping Hou
6d6ddc85c3 remove debug output for input_event 2013-02-25 03:17:54 +08:00
Qingping Hou
331ec3a6ce fix: properly record last_tev in gesturedetector 2013-02-25 03:06:59 +08:00
chrox
1ecbb69ab2 do full refresh every six page turning/rolling 2013-02-24 20:48:42 +08:00
chrox
01c5bcff8c set page background color to white in pdf/djvu reader 2013-02-24 20:44:55 +08:00
chrox
3dfa9aa51d add a dog-ear-like icon at the above right corner of bookmarked page
And tap the above right corner will toggle the bookmark on this page on/off.
2013-02-24 19:49:23 +08:00
chrox
781821b883 bugfix: use pageno from listened events other than the page in view state
As the view state may not be updated yet when PageUpdate event is triggered.
2013-02-24 19:37:55 +08:00
Qingping Hou
4841d1bda9 Merge branch 'new_ui_code' of github.com:hwhw/kindlepdfviewer into new_ui_houqp 2013-02-24 15:34:04 +08:00
{Qingping,Dave} Hou
d730f0d27b Merge pull request #766 from chrox/progress_bar
add reading progress bar at the bottom of ReaderView for pdf/djvu reader
2013-02-23 23:34:00 -08:00
chrox
86dab2ebee rename footer.lua to readerfooter.lua 2013-02-24 15:25:08 +08:00
chrox
02a159eaf8 a better looking progress bar widget 2013-02-24 15:22:05 +08:00
Qingping Hou
186712d401 add ev log in debug mode 2013-02-24 15:10:11 +08:00
chrox
c5b4d958bb add reading progress bar at the bottom of ReaderView for pdf/djvu reader
And there is also a toggle full screen option to turn on/off the progress bar.
2013-02-24 02:25:57 +08:00
chrox
16c2ea23b6 add double tap gesture on page area to confirm cropping
And round bbox coordinates.
2013-02-23 13:10:53 +08:00
chrox
7f179c1fa7 confirm and cancel gestures in cropping dialog are replaced by OK/Cancel buttons
Now only "tap" and "pan" gestures are allowed in cropping dialog.
2013-02-21 22:29:54 +08:00
chrox
e9567fc2d1 keep bbox in page area 2013-02-21 18:08:36 +08:00
chrox
e1d4b1f160 use eight anchor points to adjust bbox
Including the vertices and the midpoints on each edge of the rectangle.
2013-02-21 13:16:47 +08:00
chrox
7117cb8710 add bbox adjust by panning gesture 2013-02-20 22:50:57 +08:00
chrox
46357d617c cleanup: lookup reader view states like pageno and screen offset directly in self.view 2013-02-20 19:39:09 +08:00
chrox
14bcec4b81 remove arguments of RestoreZoomMode events defined in KoptOptions
Now zoom mode restoration is handled by ReaderKoptListener
2013-02-20 19:29:14 +08:00
chrox
85dafd6e25 set zoom mode to contentwidth after rotating screen to landscape
As most pages are portrait there is no reason to fit "portrait" page
on "landscape" screen. And "pagewidth" is used less often than "contentwidth".
So "contentwidth" is choosed to set zoom mode on landscape screen.
2013-02-20 18:30:31 +08:00
chrox
9efdefb22f add gamma correction for pdf/djvu reader 2013-02-20 14:32:51 +08:00
chrox
df7f7714e4 remove default options in KoptOptions and CreOptions 2013-02-20 13:01:52 +08:00
chrox
02c1005d95 rename ReaderKoptinterface to ReaderKoptListener & save zoom mode to normal_zoom_mode 2013-02-20 11:50:36 +08:00
chrox
74f76e98cc separate abstract interface EventListener from Widget
The rationale is that some non-widget modules like ReaderKoptListener should be able
to handle events.
2013-02-20 11:42:02 +08:00
{Qingping,Dave} Hou
d304408ead Merge pull request #761 from chrox/hide_dirs
hide certain directories in FileManager
2013-02-19 07:11:49 -08:00
{Qingping,Dave} Hou
e6e561ce52 Merge pull request #760 from chrox/restore_zoom_mode
restore zoom mode when toggling reflow on/off
2013-02-19 07:11:20 -08:00
chrox
905b315c81 hide certain directories in FileManager
The exclude pattern should be editable by users in the future.
2013-02-19 21:30:35 +08:00
chrox
a962f49486 cleanup: use additional param in favor of flag variable 2013-02-19 19:37:02 +08:00
chrox
666bb3d8ae restore zoom mode when toggling reflow on/off 2013-02-19 19:16:42 +08:00
chrox
25d8d24775 cleanup: remove debug info 2013-02-19 15:05:35 +08:00
chrox
f4614db988 set zoom mode to content after manual cropping 2013-02-19 15:03:44 +08:00
chrox
78f8ca9029 cleanup: remove debug info on bbox 2013-02-19 13:28:04 +08:00
Huang Xin
f542ffbf57 Merge pull request #755 from houqp/new_ui_fix
some code clean up
2013-02-18 20:57:35 -08:00
Qingping Hou
f3452234ea add math.lua, move all math related helpers in to it 2013-02-19 11:57:14 +08:00
Qingping Hou
79b3ee91c7 update config.lua after moving toggleswitch to separate file 2013-02-19 11:50:25 +08:00
Qingping Hou
21091e3ce0 move toggleswitch into separate widget file
also remove onGesture method reload in ToggleSwitch widget
2013-02-19 11:44:44 +08:00
Qingping Hou
327210e3f1 remove onGesture method overload in BBoxWidget
since ges pos can be acqured by the second argument
2013-02-19 11:36:02 +08:00
Qingping Hou
a655219eba move adjustGesCoordinate from Screen to GestureDetector
also adjust swipe direction according to screen view mode
2013-02-19 11:13:24 +08:00
Qingping Hou
1c0fbb10db Merge branch 'new_ui_code' of github.com:hwhw/kindlepdfviewer into new_ui_code 2013-02-18 16:00:35 +08:00
Qingping Hou
3f918c3018 get correct screen width in Screen.lua 2013-02-18 15:49:53 +08:00
chrox
dd96fa7b42 fix visible_area recalculate for manual crop in reflow mode 2013-02-18 12:19:57 +08:00
chrox
44cc9e6846 Merge branch 'new_ui_fix' of git://github.com/houqp/kindlepdfviewer into new_ui_code 2013-02-18 01:24:39 +08:00
Qingping Hou
0d1179a914 always make sure we switch to page mode in manual cropping 2013-02-18 00:01:57 +08:00
Huang Xin
db8872cd46 Merge pull request #742 from houqp/new_ui_houqp
bug fix: reader crashes when table of content is empty
2013-02-16 23:47:35 -08:00
Qingping Hou
5b5f6856d3 fix visible_area recalculate for manual crop in reflow mode 2013-02-17 13:12:51 +08:00
Qingping Hou
d116c6bacb bug fix: reader crashes when table of content is empty 2013-02-17 07:17:31 +08:00
chrox
c53f866a93 cleanup: use screen size in page hash explicitly 2013-02-12 01:15:19 +08:00
chrox
438c828e98 cleanup: use postInitCallback to restore screen mode 2013-02-12 00:59:28 +08:00
chrox
7af80f63f6 check screen mode in koptinterface 2013-02-11 00:51:55 +08:00
chrox
0137fe7af4 add screen mode restoration for each document 2013-02-11 00:09:33 +08:00
chrox
1f511757c5 bugfix: calculate current config value or arg at runtime 2013-02-10 20:52:44 +08:00
chrox
94a6cbbf28 bugfix: restore original zoom mode after cropping 2013-02-09 00:11:30 +08:00
Qingping Hou
ddc7d86efe change ev argument name to tev in gesturedetector.lua
So people won't messed it up with ev in inputevet.lua
2013-02-06 13:39:06 +08:00
{Qingping,Dave} Hou
72eecac5e1 Merge pull request #736 from chrox/man-crop
adjust four corners of page bbox
2013-02-05 19:41:06 -08:00
{Qingping,Dave} Hou
85b4d60efc Merge pull request #735 from chrox/ui-tweaks
set menu font size according to screen dpi
2013-02-05 19:40:54 -08:00
chrox
72d806fbfc adjust four corners of page bbox 2013-02-05 21:35:17 +08:00
chrox
8c1c51e230 use hold event to cancel page crop 2013-02-05 21:11:53 +08:00
chrox
21c972a786 hide DPI dependency in Font module 2013-02-05 18:15:45 +08:00
Qingping Hou
cc5a431b70 properly close ReaderConfig on screen rotate 2013-02-04 15:03:17 +08:00
Qingping Hou
ae6c4bd03a Merge branch 'new_ui_code' of github.com:hwhw/kindlepdfviewer into rotate
Conflicts:
	frontend/ui/reader/readerconfig.lua
2013-02-04 15:00:17 +08:00
Qingping Hou
681c788971 fix bug for touch event coordinates handling in landscape mode
This fix might only work for KPW, need to test on other devies
later.
2013-02-04 14:56:22 +08:00
{Qingping,Dave} Hou
0c26a3e942 Merge pull request #734 from chrox/man-crop
add manual page crop for pdf/djvu documents
2013-02-03 07:31:57 -08:00
chrox
0ed5d05bc0 hash current bbox explicitly 2013-02-03 22:58:30 +08:00
chrox
4675a220d8 add current bbox in page rendering hash
So that changing bbox could take effect on current page.
2013-02-03 21:36:11 +08:00
chrox
92586a3b95 cleanup unused debugs 2013-02-03 17:49:02 +08:00
chrox
ccf9141dd8 move BBoxWidget to bbox.lua in ui directory 2013-02-03 16:15:54 +08:00
Qingping Hou
f91c913530 set default_arg for screen_mode option on runtime 2013-02-03 13:17:02 +08:00
Qingping Hou
0dba667937 rename setScreenViewMode to setScreenMode 2013-02-03 13:13:46 +08:00
Qingping Hou
2218d3bd73 add getScreenMode in screen.lua 2013-02-03 13:10:11 +08:00
Qingping Hou
03b73712bc Merge branch 'new_ui_code' of github.com:hwhw/kindlepdfviewer into rotate
Conflicts:
	frontend/document/koptinterface.lua
2013-02-03 12:34:55 +08:00
chrox
47371ea8b4 use hold_release event to cancel page crop 2013-02-03 12:29:30 +08:00
chrox
1be80d15ae code cleanup 2013-02-03 11:28:50 +08:00
chrox
1c40d127cd add icon option items in config dialog 2013-02-03 11:26:14 +08:00
chrox
25bcbfa53a set menu font size according to screen dpi 2013-02-03 05:16:19 +08:00
Qingping Hou
d0ffb09489 fix adjustGesCoordinate 2013-02-03 04:47:34 +08:00
chrox
a1aa41136c add manual page crop for pdf/djvu documents 2013-02-03 04:42:59 +08:00
Qingping Hou
2090dabf22 add menu to FileManager 2013-02-03 03:41:35 +08:00
Qingping Hou
22c3043959 add calling item.callback() as default onMenuChoice action 2013-02-03 03:35:25 +08:00
Qingping Hou
9468b504c1 add close button toggle for menu widget 2013-02-03 01:43:47 +08:00
Qingping Hou
2d9534e092 add screen rotate to readerconfig 2013-02-02 17:02:36 +08:00
Qingping Hou
f02d8fa7b5 add SetScreenViewMode event and related handler in ReaderView 2013-02-02 16:46:06 +08:00
Qingping Hou
dd7e26a986 fix crash in goint into screen saver 2013-02-02 16:37:48 +08:00
Qingping Hou
01e1f72bdd ReaderConfig: bind touch event listener range with widget dimen
So we only need to change widget dimen on SetDimensions event
2013-02-02 16:14:15 +08:00
Qingping Hou
d4ff6f9291 first demo of screen rotate 2013-02-02 14:36:29 +08:00
chrox
563fd50dc3 add toggle switch widget in config option 2013-01-25 23:53:00 +08:00
Qingping Hou
c755309682 set self.css to nil when there is no external css 2013-01-22 10:28:35 +08:00
Qingping Hou
69260aaac8 cosmetic changes to menu wording 2013-01-22 06:37:08 +08:00
Qingping Hou
f216be49a7 two changes to ReaderTypeset
* now we only use Embedded CSS by default
* add toggleEmbeddedStyleSheet methods
2013-01-22 06:28:34 +08:00
Qingping Hou
6d8ebb4126 adapt credocument to new changes in cre.cpp 2013-01-22 06:27:22 +08:00
Qingping Hou
bcae90593d Merge branch 'new_ui_code' of github.com:hwhw/kindlepdfviewer into new_ui_houqp 2013-01-19 11:44:12 +08:00
Huang Xin
f99cea8354 Merge pull request #720 from houqp/new_ui_fix
fix: check number of pages before calling hintPage
2013-01-17 21:36:12 -08:00
Qingping Hou
50e8750db4 fix: check number of pages before calling hintPage
otherwise, we will reach out page limit when reached last page
2013-01-17 20:20:44 -05:00
Qingping Hou
fe6d161382 add readertypeset.lua 2013-01-17 17:13:57 -05:00
Qingping Hou
268926edf3 add readertypeset to readerui 2013-01-17 17:12:50 -05:00
Qingping Hou
65910b2017 add default_css to credocument 2013-01-17 17:12:20 -05:00
Qingping Hou
6c4da43dbf add setStyleSheet method to credocument 2013-01-17 16:59:40 -05:00
chrox
15f41935b6 use page info to calculate percent finished in crereader 2013-01-17 22:18:32 +08:00
{Qingping,Dave} Hou
55b2d4f993 Merge pull request #714 from chrox/config_ui
some config UI changes
2013-01-15 13:39:26 -08:00
chrox
494585ce41 rename 'screen rotation' option in koptinterface to 'vertical text' 2013-01-15 19:53:57 +08:00
chrox
6ed1a9012b show more options 2013-01-15 19:11:16 +08:00
chrox
62c3e1dfec invert icon color temporarily when tapping on menubar 2013-01-15 17:24:38 +08:00
chrox
3f2e810fe4 force repaint all when changing options 2013-01-15 12:35:37 +08:00
chrox
fe8902d380 make the dimension of config dialog change according to the size of current config options
I can't find a way to resize a WidgetContainer in runtime so when switching config options
new ConfigDialog is created with requested option panel.
2013-01-15 00:33:03 +08:00
Qingping Hou
93d3aea905 pass filename properly for zipped fb2 in CreDocument:init() 2013-01-13 12:17:43 +08:00
Qingping Hou
874890aaec save and restore gamma_index for crengine 2013-01-13 12:07:20 +08:00
Qingping Hou
5abf3cb92d save header_font_face 2013-01-13 11:38:36 +08:00
Qingping Hou
b7ced36957 read LineSpace from config 2013-01-13 11:37:28 +08:00
Qingping Hou
7f04b520b3 reset postInitCallback on ReaderUI:init 2013-01-13 11:24:42 +08:00
Qingping Hou
02ea5f1fbf read header font from config 2013-01-13 11:23:30 +08:00
Qingping Hou
687aabc173 adapt ui to loadDocument before setFont 2013-01-13 10:22:33 +08:00
Huang Xin
b4bad21535 Merge pull request #698 from houqp/new_ui_houqp
retrive new toc when document is re-formatted
2013-01-11 08:16:57 -08:00
Qingping Hou
e7e6a2be9c use xpointer instead of read percent to mark read progress 2013-01-11 13:46:39 +08:00
Qingping Hou
00a7d5a61c leave cvm proccess running on KPV start and SS resume
Otherwise, lipc-wait-event won't be able to catch any events
2013-01-10 14:23:11 +08:00
Qingping Hou
55b2813b32 move fake event handling to ui.lua
inputevent.lua now only forwards events
2013-01-10 14:18:33 +08:00
Qingping Hou
68cc9b9cf4 Screen:saveCurrentBB: pass pitch on creating new blitbuffer 2013-01-10 12:01:05 +08:00
Qingping Hou
e02c88a929 add getPitch method to screen.lua 2013-01-10 11:31:03 +08:00
Qingping Hou
688540c25b singla UpdatePos event on view mode change
this event also force renew toc
2013-01-10 10:06:47 +08:00
Qingping Hou
4c6420abba fix: retrieve toc when page or height of document is changed 2013-01-09 16:53:42 +08:00
Qingping Hou
3a65a9ddde also check page changes on UpdatePos event 2013-01-09 16:45:11 +08:00
Qingping Hou
789b5d57e2 read page information for crerengine 2013-01-09 16:41:42 +08:00
Qingping Hou
59ed6b5a2f return to caller when there is no window to show in UIManager 2013-01-09 13:12:37 +08:00
Qingping Hou
79839021ed Merge branch 'new_ui_code' into hint_page_fix
Conflicts:
	frontend/ui/reader/readerview.lua
2013-01-09 12:19:46 +08:00
{Qingping,Dave} Hou
b04b1e8b58 Merge pull request #690 from houqp/new_ui_houqp
font size, line space, font weight, font gamma and viewmode support for crengine
2013-01-08 20:16:11 -08:00
Qingping Hou
c8dce5f351 Merge branch 'new_ui_code' of github.com:hwhw/kindlepdfviewer into hint_page_fix
Conflicts:
	frontend/document/document.lua
2013-01-09 11:38:49 +08:00
Qingping Hou
93cad1428c add render_mode into render hash 2013-01-09 06:06:53 +08:00
Qingping Hou
1fa0d886bd add render mode to hint page 2013-01-09 05:51:53 +08:00
chrox
c8b699c068 bugfix: check renderpg hash before hinting page 2013-01-08 17:00:18 +08:00
Qingping Hou
8c973457a0 save and restore line_space_percent in ReaderFont 2013-01-08 01:06:56 -05:00
Qingping Hou
e03963f4f2 replace InfoMessage with Notification in readerfont.lua 2013-01-07 16:51:37 -05:00
Qingping Hou
db49f1b09c add ReaderRolling:onRedrawCurrentView() 2013-01-07 16:43:28 -05:00
Qingping Hou
59a424203b add font gamma to readerconfig 2013-01-07 16:42:50 -05:00
Qingping Hou
61613323fe add ReaderFont:onChangeFontGamma() 2013-01-07 16:42:23 -05:00
Qingping Hou
204cfb2b17 return true in event handlers
we should do that when we know a event handler is only used in
that widget
2013-01-07 12:51:25 -05:00
Qingping Hou
5ce4f24c37 move CreOptions to credocument.lua 2013-01-07 12:32:33 -05:00
Qingping Hou
ad1112468f add view_mode, line space and font weight setting to readerconfig 2013-01-07 12:18:22 -05:00
Qingping Hou
e573fcf2de add ReaderFont:onToggleFontBolder 2013-01-07 12:17:34 -05:00
Qingping Hou
2fa919e1b6 add CreDocument:toggleFontBolder 2013-01-07 12:16:17 -05:00
Qingping Hou
9a1a584e19 add option args for config so we can send string arg in events 2013-01-07 12:07:06 -05:00
Qingping Hou
bce849b743 Merge branch 'new_ui_code' of github.com:hwhw/kindlepdfviewer into new_ui_houqp 2013-01-07 07:05:54 -05:00
Qingping Hou
2f36d6604b add setViewMode handler for readerrolling and readerview 2013-01-07 07:05:48 -05:00
{Qingping,Dave} Hou
5f53d7d16b Merge pull request #689 from chrox/sync_last_percent
add last_percent field in pdf/djvu document history
2013-01-07 04:00:37 -08:00
Qingping Hou
ac1cf212d1 add setViewMode to CreDocument 2013-01-07 06:53:35 -05:00
chrox
c4bc6e3cd3 add percent_finished for KPVBooklet and restore original last_percent 2013-01-07 13:29:00 +08:00
Qingping Hou
fdc05b066c add readerconfig to document supported by crengine
* now font size can be changed by readerconfig
2013-01-06 23:21:11 -05:00
Qingping Hou
ba00dcc701 bug fix: add event entry to ConfigOption widget 2013-01-06 23:15:19 -05:00
chrox
f41f645465 add last_percent field in pdf/djvu document history
And normalize last_percent for cre document
2013-01-07 00:20:30 +08:00
Qingping Hou
27f0801e93 Merge branch 'new_ui_code' of github.com:hwhw/kindlepdfviewer into new_ui_houqp 2013-01-06 03:31:47 -05:00
{Qingping,Dave} Hou
350d3aa55e Merge pull request #682 from houqp/swipe
Swipe gesture support
2013-01-06 00:31:21 -08:00
Qingping Hou
44eb70bcf5 use ReaderRolling.view_mode instead of self.ui.document.view_mode
view_mode is removed from self.ui.document
2013-01-06 02:55:37 -05:00
chrox
aa152a8a51 make readerconfig independent of koptoptions
So that other readers could reuse readerconfig
2013-01-06 14:01:34 +08:00
{Qingping,Dave} Hou
bac3ae568b Merge pull request #686 from chrox/prerendering
add pre-rendering in pdf/djvu readers
2013-01-05 16:46:52 -08:00
chrox
12a76fee33 add pre-rendering in pdf/djvu readers
"HintPage" tasks are scheduled into the execution stack of UIManager
after each page drawing. These tasks should be checked immediately after
screen is refreshed so tasks are double-checked in the main loop.
2013-01-05 22:28:14 +08:00
chrox
bfe7b5e332 move Reflow option to More options dialog 2013-01-05 20:15:17 +08:00
{Qingping,Dave} Hou
3ec818a3cd Merge pull request #684 from chrox/koptreader-new-ui
add reflow mode in pdf/djvu readers
2013-01-04 00:28:57 -08:00
Qingping Hou
c0602fba95 fix nil dimen bug in InputContainer:init 2013-01-04 03:16:18 -05:00
chrox
349bcb996e use koptinterface to reflow text in pdf/djvu readers 2013-01-03 22:33:49 +08:00
Qingping Hou
06444e3420 add notification widget and used it in readerbookmark 2013-01-01 18:08:19 -05:00
Qingping Hou
fff8658530 notify user if page already book marked 2013-01-01 17:27:10 -05:00
Qingping Hou
d04ab4e4ae add readerbookmark 2013-01-01 14:45:52 -05:00
Qingping Hou
9e7d41d129 bug fix in readertoc
* typo in fillToc method
* handle xpointer in getTocTitleByPage
* return true in onShowToc
2013-01-01 14:45:44 -05:00
Qingping Hou
a05e87a2dc move Back key binding of readerui to ReaderUI:init() 2013-01-01 14:40:37 -05:00
Qingping Hou
b79fafb863 add Device:hasKeyboard in device.lua 2013-01-01 14:40:32 -05:00
Qingping Hou
d295e28046 remove unused onPageUpdate and onPosUpdate in readertoc 2013-01-01 14:40:24 -05:00
Qingping Hou
943d56699e remove dulplicate onSetDimensions handler in readertoc 2013-01-01 14:40:17 -05:00
Qingping Hou
2bf0a5cf0a use menu widget ignore attribute for reader menu
now menu is poped up from top of screen
2013-01-01 14:40:09 -05:00
Qingping Hou
6af311bc17 add ignore attribute to CenterContainer widget 2013-01-01 14:40:02 -05:00
Qingping Hou
a19b3cc1b4 bug fix: set toc menu height and width 2012-12-31 00:49:43 -05:00
Qingping Hou
414f8bec34 use left swipe for next page turn 2012-12-31 00:09:33 -05:00
Qingping Hou
d3292740ec adapt ReaderPanning to new touch event system 2012-12-30 22:57:23 -05:00
Qingping Hou
120f7b0252 bug fix: signal ViewRecalculate event after panning
This make sure ReaderPaging get correct visible_area when
turnning to previous page.
2012-12-30 22:53:57 -05:00
Qingping Hou
8a8b993ade add toc menu for touch UI 2012-12-30 19:13:46 -05:00
Qingping Hou
468178c37c bug fix in menu widget, call close_callback on after select 2012-12-30 18:51:14 -05:00
Qingping Hou
c5fc851bb7 bug fix for swipe gesture detection (nil x or y)
a complete_last_ev var is used to make sure the first argument
to isSwipe() method has no nil x or y entry.
2012-12-30 01:01:44 -05:00
Qingping Hou
f19b6e7667 use swipe gestures in menu widget to signal page turn 2012-12-30 00:56:21 -05:00
Qingping Hou
0f51f34ff6 add swipe event detection in gesturedetector.lua 2012-12-30 00:45:21 -05:00
chrox
e525264b01 save/restore koptconfig to setting files 2012-12-24 17:36:52 +08:00
chrox
99a7ebaeb6 larger option text in paperwhite 2012-12-24 16:55:10 +08:00
chrox
a649301e69 make pdfreader and djvureader the defaults 2012-12-24 08:19:34 +08:00
chrox
074522a36b first usable koptreader for new UI 2012-12-24 08:16:41 +08:00
chrox
755e012dba add config options 2012-12-24 08:16:33 +08:00
chrox
138def10c3 Demo version of koptreader config dialog. 2012-12-24 08:16:17 +08:00
Qingping Hou
93abd2fee7 add page status to readerrolling for better page view_mode support
* now when rendering in page view mode, we only keep track of page
number instead of pos inside document. Because using pos inside
document for page view mode is really a bad idea and will lead to
many unsovlabe bugs...
2012-12-22 13:27:46 +08:00
Qingping Hou
5ab98420bd use predefined variable instead of magic number for view_mode 2012-12-21 09:10:16 +08:00
Qingping Hou
efa37c97ab bug fix in readerfont
After set font in ReaderFont:onReadSettings, we have to send UpdatePos
event in order to set m_is_rendered(member of LVDocView) to true.

Otherwise position inside document will be reset to 0 on first view
render, this makes the first page of document is always displayed on
document open.

So far, I don't know why this call will alter the value of m_is_rendered.
It just works...
2012-12-21 06:00:51 +08:00
Qingping Hou
4d010f10e2 disable overlap dimming for page view mode in crereader 2012-12-18 12:31:55 +08:00
Qingping Hou
5a57ef84d3 remove default_font in readerfont because it is defined in credocument. 2012-12-17 15:01:31 +08:00
Qingping Hou
e27b99f770 read font_face and font_size from document settings
This is done in readerfont.lua
2012-12-17 14:51:50 +08:00
Qingping Hou
5d1c98e90a add setFontSize to credocument.lua 2012-12-17 14:50:50 +08:00
Qingping Hou
590bf149be count FrameContainer padding into menu title bar size 2012-12-16 03:43:33 -05:00
Qingping Hou
2050696de6 bug fix in FrameContainer
content_size should be obtained by calling self[1]:getSize()
2012-12-16 03:42:30 -05:00
Qingping Hou
6beebe4423 remove menu item underline for touch device 2012-12-16 02:16:21 -05:00
Qingping Hou
dbd27cd600 rename ReaderMenu:addToMainMenuCallback to registerToMainMenu
since we are actully inserting widgets, not callbacks
2012-12-15 09:30:48 +08:00
Qingping Hou
5b6558383d register ReaderZooming's zoommode menu in ReaderMenu 2012-12-15 09:26:40 +08:00
Qingping Hou
9a439f5dc4 register ReaderFont's font menu in ReaderMenu 2012-12-15 09:23:02 +08:00
Qingping Hou
f7c65ebef7 add register_widget in ReaderMenu & minor fixes in menu.lua
* now readerwidgets can add menu items in ReaderMenu by
calling ReaderMenu:addToMainMenuCallback and define its own
addToMainMenu method, which takes ReaderMenu's item_table as argument.
2012-12-15 09:20:12 +08:00
Qingping Hou
93f7813d1a do deep copy on InputContainer widget _init 2012-12-14 05:52:56 +08:00
Qingping Hou
476733dc87 register font menu to main reader menu for touch device 2012-12-14 02:32:16 +08:00
Qingping Hou
1675d8667b add cre view mode support in frontend 2012-12-13 12:41:48 +08:00
Qingping Hou
756cce6174 use DroidSansFallback.ttf in font.lua 2012-12-13 01:40:35 +08:00
Qingping Hou
93b642a0d7 fix Device:isKindle4() method 2012-12-12 10:03:16 +08:00
Qingping Hou
309af296db read document configuration files from history dir
this feature was introduced by @NuPogodi in old KPV
2012-12-12 09:35:49 +08:00
Qingping Hou
97041638a6 Merge branch 'new_ui_code' of github.com:hwhw/kindlepdfviewer into new_ui_houqp 2012-12-11 22:56:37 +08:00
eureka
424776b564 fix bug in eventhook for KT
* no return
* it is value that should be changed
2012-12-11 13:14:41 +08:00
Qingping Hou
b253a774f6 added TODO in Input:init in case I forget it in the future 2012-12-10 21:05:35 -05:00
Qingping Hou
c8d43cd33c add Input:eventAdjustHook(ev)
so we can adjust input event for KT on the fly.
the touch input event coordinates in KT ranges from 0-4095
instead of the screen size.
2012-12-10 20:58:16 -05:00
Qingping Hou
1b7357fc0f add Device:hasKeyboard to help initialize UI components
So that kindle4 won't have all the gesture event registered.
2012-12-10 19:01:32 -05:00
eureka
bf86cf7a93 KT input device patch from eureka
* add KT detection
* remove unnacessary input device for KT
2012-12-10 18:52:22 -05:00
Qingping Hou
c0616b4173 make sure menu height not exceed screen height. 2012-12-11 02:30:50 +08:00
Qingping Hou
5fc4adafc4 fill menu with dummy blank widget to extend its height 2012-12-11 01:59:24 +08:00
Qingping Hou
418bfd9fc2 remove update_area since I cannot come up with a good implementation yet 2012-12-09 01:26:28 +08:00
Qingping Hou
c8de4f3f6c adapt filechooser and readermenu to new menu widget
* now if you want to center a menu, you have to wrap it
in CenterContainer. Refer to readermenu for details.
2012-12-09 01:25:32 +08:00
Qingping Hou
92bce18537 bug fix in InputContainer and menu widget
* add _init callback for all widgets, which is used for base widget
initialization. see comment in Widget:new(o) for more information.

* new ges_events and key_events are created for each InputContainer
widget, previously, they shared the same tables.

* remove hardcoded menu widget dimen

* recalculate menu dimen on table item changes

* add CloseAllMenus for menu widget
2012-12-09 01:21:30 +08:00
Qingping Hou
cc38d9e6fc add KT support 2012-12-08 01:06:47 -05:00
Qingping Hou
e98a89f8d5 demo for dimming on page overlap 2012-12-08 01:05:10 -05:00
Qingping Hou
683c7eee2c handle corrupted usedbbox in Document:getUsedBBoxDimensions() 2012-12-07 16:42:27 -05:00
Qingping Hou
3af979b84d add close button for menu 2012-12-07 23:30:15 +08:00
Qingping Hou
74dc0abc18 add UIManager.repaint_all to force repaint on all widgets 2012-12-07 23:29:24 +08:00
Qingping Hou
7accd7572b add OverlapGroup in widget.lua 2012-12-07 23:28:55 +08:00
{Qingping,Dave} Hou
e00dfa7d38 Merge pull request #650 from houqp/new_ui_houqp
add touch support for readerrolling
2012-12-06 07:33:48 -08:00
{Qingping,Dave} Hou
5cbbfaceff Merge pull request #649 from chrox/koptreader-new-ui
move page reflowing code to getPageDimensions method
2012-12-04 01:08:12 -08:00
Qingping Hou
90f6dfefb4 code tide up in readerpaging 2012-12-04 17:05:58 +08:00
Qingping Hou
98ca3aa83f add touch support for readerrolling 2012-12-04 17:05:40 +08:00
Qingping Hou
d077bafb6d fix bug no default zoom mode bug in readerpaging
reported by @chrox, see #647
2012-12-04 15:19:50 +08:00
chrox
fd461e4f3e move page reflowing code to getPageDimensions method 2012-12-04 10:36:36 +08:00
Qingping Hou
ae1c489a0f implement full pageturn by viewport for all modes
* add notIntersectWith method for Geom
* add math.roundAwayFromZero in geometry.lua
* Readerview:recalculate now signals ViewRecalculate event.
  For now, this event is only usefull for ReaderPaging
2012-12-03 13:48:41 +08:00
Qingping Hou
7b707ab367 add usedbbox support 2012-12-02 17:09:32 +08:00
Qingping Hou
7e04c97b70 bug fix for PdfDocument:getUsedBBox
when cache found, we should return cache.ubbox
not cache.data
2012-12-02 15:14:02 +08:00
Qingping Hou
65e8e2292f revert wrong cleanup for commit cf3cc65c03
self.layout must be updated for any widget that inherits
from focusmanager. Previous commit removed related code on
menu item update.
2012-11-29 10:48:57 -05:00
{Qingping,Dave} Hou
267ed42be6 Merge pull request #638 from houqp/new_ui_code_fix
zoom mode support in reader menu & menu module bug fix
2012-11-29 07:33:54 -08:00
{Qingping,Dave} Hou
8e085c3e5d Merge pull request #641 from houqp/new_ui_code
merge latest changes from master branch
2012-11-29 07:32:32 -08:00
chrox
4dd9232194 recalculate page size after each call of drawPage
Only after renderPage is called can koptdocument update
reflowed page size. And the recalculate acts as a page
size updater here.
2012-11-29 21:58:24 +08:00
chrox
aa9fe4b01c cache page size after page is reflowed
So that when page dimension is recalculated right page size
other than screen size is returned.
2012-11-29 21:58:12 +08:00
chrox
c462090600 add koptreader demo 2012-11-27 20:43:49 +08:00
{Qingping,Dave} Hou
da87914cbf Merge pull request #634 from houqp/ges-detect
Touch gesture detection module
2012-11-26 15:20:54 -08:00
Qingping Hou
d57ac2e756 Use the font DroidSansFallbackFull.ttf in font.lua 2012-11-26 13:39:09 -05:00
Qingping Hou
ba3973b2ac add all zoom modes support to reader menu 2012-11-26 15:30:24 +08:00
Qingping Hou
cf3cc65c03 fix bug in multi-level menu support
The size of framecontainer is not reset after content changed.
2012-11-26 15:25:28 +08:00
Qingping Hou
c701248a8d rename Input:setTimeOut to Input:setTimtout
To keep consistent with Javascript setTimeout function...
2012-11-25 15:57:29 +08:00
Qingping Hou
e3617676a1 fix deprecated debug call in credocument.lua 2012-11-23 01:10:34 -05:00
Qingping Hou
a7b2215249 bug fix in time.lua
a crazy typo
2012-11-23 01:04:56 -05:00
Qingping Hou
324f67412a fix bug in timer_callbacks scheduling & change variable name
watiEvent should stop checking timer_callbacks when execceds
wait timeout set by timeout_us.
2012-11-17 13:51:34 -05:00
Qingping Hou
d3e0424122 add setTimeOut method in inputevent.lua
adapt all the state machine to use setTimeOut. Now supported gestures
includes tap, double tap and hold.
2012-11-17 13:41:26 -05:00
Qingping Hou
a8e4c6ed73 add setTimeOut method in inputevet and use it in gesturedetector 2012-11-16 18:55:13 -05:00
Qingping Hou
dfd697453b add time module 2012-11-16 18:54:01 -05:00
Qingping Hou
f06afb798e rewrite gesturedetector state machine 2012-11-15 19:58:01 -05:00
Qingping Hou
1fb10efc43 introduce state methods in gesturedetector 2012-11-13 01:12:01 -05:00
Qingping Hou
d4e5b4cb06 add readerpaging and readermenu touch support 2012-11-11 15:25:49 +08:00
Qingping Hou
5e2537210f remove comments in menu.lua 2012-11-11 14:30:35 +08:00
Qingping Hou
032a71cbc4 bug fix in single tap detection 2012-11-11 14:30:35 +08:00
Qingping Hou
3486ae7e09 first demo of gesture parsing 2012-11-11 14:30:35 +08:00
Qingping Hou
36a4ead630 update document.lua according to API change in cre.cpp 2012-11-11 14:29:56 +08:00
Qingping Hou
e000bde0be remove old comment in inputevent init 2012-11-05 10:50:15 -05:00
Qingping Hou
03595f8701 use os.remove instead of calling "rm" in os.execute 2012-11-05 10:27:21 -05:00
Qingping Hou
c96fc292f9 adapt inputevent.lua to new emu input implementaion 2012-11-04 11:19:31 +08:00
Tigran Aivazian
db3796cd24 Remove alt_getopt.lua module altogether.
Conflicts:

	Makefile
	frontend/alt_getopt.lua
2012-10-31 21:47:41 -04:00
Qingping Hou
e07c1d147f add multi-touch event definitions from linux/input.h 2012-10-21 01:25:48 +08:00
Qingping Hou
54b33bd6a7 fix DXG detection 2012-10-14 14:32:08 -04:00
Qingping Hou
2985d27569 rewrite device detection 2012-10-14 14:22:01 +08:00
Qingping Hou
ea022b651f add rendermode support for djvu documents 2012-10-09 18:26:01 -04:00
Qingping Hou
8ccbfba6cc Djvu Validate patch from tigran123
refer to commit in master(kpv) tree:
64b6ef4afd
2012-10-09 16:15:13 -04:00
Qingping Hou
e3b567b2b1 fix kerning for Utf8Text family methods from tigran123
refer to master pullrequest #386 and #383, related
commits are (all in master(kpv) tree):
cb25029ddd
c7b4cf71f8
379cba7b68
2012-10-09 16:08:34 -04:00
Qingping Hou
78c7007f43 add todo for kerning in text widgets 2012-10-09 12:39:09 -04:00
Tigran Aivazian
d551e7fb63 Cleanup crereader fonts initialization.
Don't try to register the two fonts Dingbats.cff and StandardSymL.cff
with crengine because it will reject them anyway. But we cannot simply
remove these two fonts because they are used internally by mupdf to
emulate "builtin" fonts which are mandated by Adobe PDF specification to
be present in every valid implementation.
2012-10-03 13:08:27 -04:00
Qingping Hou
eb79e1c95c handle file with no extension in filechooser 2012-09-17 20:36:39 -04:00
Qingping Hou
dfff1906fd return only one value in ReaderToc:cleanUpTocTitle(title) 2012-09-17 20:21:03 -04:00
Qingping Hou
25af917170 call cre.initCache() in CreDocument:engineInit() 2012-09-17 20:12:33 -04:00
Qingping Hou
c1ccff70ad minor adjustment for Makefile and document.lua 2012-08-25 22:52:12 +08:00
Qingping Hou
1c216b6458 add last read page/percent setting support 2012-06-27 01:00:21 +08:00
Qingping Hou
59592e862e read font settings on readsettings event 2012-06-27 00:59:47 +08:00
Qingping Hou
0e122b12bf read settings after readerui widgets initialization 2012-06-27 00:59:22 +08:00
Qingping Hou
45e9198ab2 add document fontface and fontsize settings support 2012-06-26 17:05:49 +08:00
Qingping Hou
fab19c3bfa add document settings support 2012-06-26 17:05:09 +08:00
Qingping Hou
ca46092f1b fix naming for fake events device, part 2 2012-06-24 10:13:24 +08:00
Qingping Hou
cee51b8db2 change menu item underline color to make refresh more responsive 2012-06-23 22:23:43 +08:00
Qingping Hou
d6a2c9908c enable partial and full refresh on widget redraw
also added halfdone code for repaint area on widget
redraw.
2012-06-19 10:44:54 +08:00
Qingping Hou
271701edfe screensaver and usbplugin events support 2012-06-14 01:52:08 +08:00
Qingping Hou
2d104d7792 adjust keycodes for k4 & add device.lua 2012-06-13 21:27:38 +08:00
Qingping Hou
51ed793d14 add screen rotate support 2012-06-13 00:14:23 +08:00
Qingping Hou
b71ac38d3b exit KPV on Ctrl+C 2012-06-12 21:18:39 +08:00
Qingping Hou
bad329811d add line space control feature for credocument 2012-06-12 21:12:04 +08:00
Qingping Hou
b3cdbeee19 add font size control feature for credocument
also rename getFont to getFontFace
2012-06-12 20:59:56 +08:00
Qingping Hou
0ddc9f6e99 add back readerfont.lua 2012-06-12 18:04:08 +08:00
Qingping Hou
acaf8d660e font menu for readerui 2012-06-12 17:42:28 +08:00
Qingping Hou
f8f188ff89 jump to first menu item if pagebck is pressed in first page 2012-06-12 16:02:08 +08:00
Qingping Hou
7d008bf622 fix end_position calculation in Menu:onNextPage 2012-06-12 15:59:35 +08:00
Qingping Hou
77761554d9 add CreDocument:engineInit() method 2012-06-12 14:52:35 +08:00
Qingping Hou
d89cbc43f9 replace getProvider with openDocument
now getProvider only returns the provider
2012-06-12 14:38:00 +08:00
Qingping Hou
07d6f66565 fix screen rotation mode restore for native system 2012-06-12 12:13:51 +08:00
Qingping Hou
348891c242 add start_pos and password for readerui.lua 2012-06-12 00:35:13 +08:00
Qingping Hou
4fb2c9d2e3 add gotoPercent for readerrolling.lua 2012-06-12 00:34:30 +08:00
Qingping Hou
2b39ba8b83 register all the supported formats for crengine 2012-06-11 23:50:11 +08:00
Qingping Hou
793a431c43 add sub menu support for menu widget 2012-06-11 13:46:19 +08:00
HW
4d3e6af106 small changes to menu and addition of a reader menu
the reader menu is still very bare-bone, I plan to enhance it now.
2012-06-10 20:14:29 +02:00
Qingping Hou
937a91c297 fix fb:getOrientation method, adjust mode numbering
also use it in screen.lua
2012-06-11 00:09:23 +08:00
HW
5025be971d separated dialog.lua into source files for each individual function 2012-06-10 17:52:09 +02:00
HW
ce5614ef6f cleanup, also removal of G_* constants
a bit of cleanup, switched width/height combo over to use
Geom() objects, moved framebuffer handling to Screen object,
callback syntax sanitizing, lots of small changes
2012-06-10 17:36:19 +02:00
HW
88a7781913 removed one case of Lua <5.1 varargs handling 2012-06-10 13:05:30 +02:00
Qingping Hou
371f9bb5af fix doc for key events 2012-06-05 19:03:50 +08:00
Qingping Hou
3ac00b90d6 add y direction panning for readerrolling.lua 2012-06-05 19:03:06 +08:00
Qingping Hou
e7d16de4e2 first demo for credocument 2012-06-05 15:23:36 +08:00
Qingping Hou
e4160a9909 fix table index in sequenceToString method 2012-06-04 10:38:52 +08:00
Qingping Hou
b40a748a78 move duplicate codes to document.lua 2012-06-03 22:26:16 +08:00
Qingping Hou
86a3ff6447 Merge remote-tracking branch 'origin/new_ui_code' into new_ui_code 2012-06-03 17:46:01 +08:00
Qingping Hou
7f6773dc6f demo for djvu support
wait for code clean up
2012-06-03 11:11:15 +08:00
HW
60ccd7441e fixed menu info displaying, replaced debug() by DEBUG()
the replacement of debug() was necessary to be able to access the lua library "debug" (for backtraces etc.)
2012-05-28 18:59:16 +02:00
HW
8191cbe852 some fixes to filechoser and menu 2012-05-28 00:14:08 +02:00
HW
ca3247320f first filechooser implementation 2012-05-27 23:43:00 +02:00
HW
c136773203 some minor changes to avoid long access paths into tables 2012-05-27 18:23:01 +02:00
Qingping Hou
a1a9b5e9b0 move toc related methods to readertoc.lua 2012-05-27 21:24:33 +08:00
Qingping Hou
cf048e286d add toc menu support for readerui 2012-05-27 19:47:22 +08:00
Qingping Hou
284d5ce9d9 two bug fixes in menu widget
* update page info
* item shortcut support in all pages
2012-05-27 19:44:37 +08:00
Qingping Hou
07e17125b5 add select callback to menu and bug fix in shortcut 2012-05-27 14:03:13 +08:00
HW
d5c7e6ccb5 factored out pdfdocument implementation 2012-05-19 01:13:53 +02:00
HW
9e531fc2db file reorganisation
all lua frontend files are now in the frontend/ directory.
all old code is cleaned up.
2012-05-19 01:10:57 +02:00