2
0
mirror of https://github.com/koreader/koreader synced 2024-11-13 19:11:25 +00:00
Commit Graph

2080 Commits

Author SHA1 Message Date
Qingping Hou
241420b8bc more minor cleanup 2013-03-15 21:07:40 -04:00
Qingping Hou
a4b17061a5 add page counting in touchmenu & bug fix for sub_item_table 2013-03-15 21:05:44 -04:00
Qingping Hou
e44bedfea2 listen swipe gesture in touchmenu 2013-03-15 20:30:42 -04:00
Qingping Hou
28e5907d51 use scaleByDPI in all widgets 2013-03-15 20:03:50 -04:00
Qingping Hou
495a173ed0 add scaleByDPI and use it in touchmenu 2013-03-15 19:42:20 -04:00
chrox
e2b16a18a3 comments for clamping scroll offsets 2013-03-16 00:05:00 +08:00
chrox
94792a4574 bugfix: clamp scroll offsets 2013-03-15 23:54:34 +08:00
Huang Xin
2927d728d7 Merge pull request #798 from houqp/new_ui_houqp
add touchmenu
2013-03-15 02:48:28 -07:00
Qingping Hou
ad704fa9c2 give a better name for parent 2013-03-15 05:23:39 -04:00
Qingping Hou
eaf43dc30b add go back button to touchmenu 2013-03-15 05:18:34 -04:00
Qingping Hou
c9c72522b9 add submenu support for touchmenu 2013-03-15 02:54:23 -04:00
Qingping Hou
bab5192a86 fix: add empty Input.modifiers for KT from eureka 2013-03-14 22:24:22 -04:00
Qingping Hou
20447e820b fix: properly initilize key_map for KT 2013-03-14 21:24:50 -04:00
chrox
d3c9b6866a bugfix: fix loop scrolling at the beginning/end of the document 2013-03-14 14:51:52 +08:00
Qingping Hou
9840a71335 put menu item callback and closing ops to scheduler
Otherwise, inverted menu item will not be shown
2013-03-14 14:21:19 +08:00
Qingping Hou
3c97c65f5c minor fixes, add TouchMenu example to wtest.lua 2013-03-14 13:59:59 +08:00
Qingping Hou
1fcb5281a0 use touchmenu widget in readermenu 2013-03-14 13:58:42 +08:00
Qingping Hou
38a6ea96d7 fix: set parent on TouchMenuItem 2013-03-14 13:58:02 +08:00
Qingping Hou
44d0a99efd first demo of touch menu 2013-03-14 13:06:42 +08:00
Qingping Hou
e0813ad789 return true on iconbutton click event 2013-03-14 11:57:51 +08:00
Qingping Hou
b4c5f28164 add iconbutton widget 2013-03-14 10:52:09 +08:00
chrox
bf303093ed bugfix: fix loop scrolling in shorter pages 2013-03-13 13:08:09 +08:00
Qingping Hou
c94767d9d6 add width and invert to FrameContainer 2013-03-13 12:41:36 +08:00
{Qingping,Dave} Hou
6c50123c20 Merge pull request #792 from chrox/new_ui_code
bugfix: require button widget
2013-03-12 20:20:19 -07:00
Qingping Hou
bd0145da4a Merge branch 'new_ui_code' of github.com:hwhw/kindlepdfviewer into new_ui_houqp 2013-03-13 11:20:08 +08:00
Qingping Hou
557ceb7a4b add vertical_align to UnderlineContainer 2013-03-13 11:18:29 +08:00
Qingping Hou
f87fd8ae07 remove screen rotation in readermenu 2013-03-13 10:44:33 +08:00
Qingping Hou
c5ff50abdf remove trailing spaces 2013-03-13 10:43:15 +08:00
chrox
94ea2b8250 bugfix: require button widget 2013-03-13 10:35:53 +08:00
Qingping Hou
10d980ed87 rearranged source tree 2013-03-13 01:18:53 +08:00
chrox
a6609119ec disable hinting temporarily in config dialog and flipping mode and cropping dialog
Since hinting is of little use in these situations.
2013-03-12 20:28:01 +08:00
Huang Xin
7a4248faef Merge pull request #786 from houqp/new_ui_code
add last documents history and fix wtest.lua
2013-03-11 22:25:22 -07:00
Qingping Hou
e492e451ec handle nil width for button widget 2013-03-12 13:08:48 +08:00
Qingping Hou
738d08a8bf adapt confirmbox to button widget changes 2013-03-12 13:07:05 +08:00
chrox
3660625cca bugfix: detect pan release to update flipping page on which the page
calculation of the following flip is based.
2013-03-12 11:28:47 +08:00
chrox
617613e763 bugfix: adjust coordinates of pan gesture 2013-03-12 11:27:41 +08:00
chrox
da2a3ff753 detect pan release gesture 2013-03-12 11:26:11 +08:00
chrox
824de2cb9c bugfix: send SetDimensions event when toggling full screen on/off 2013-03-11 16:30:48 +08:00
chrox
418ba943ed bugfix: recalculate screen offset 2013-03-10 16:46:56 +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
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
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
37d22f2d17 set widget spacing according to screen DPI 2013-02-25 21:59:10 +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
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
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
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
438c828e98 cleanup: use postInitCallback to restore screen mode 2013-02-12 00:59:28 +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
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
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
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
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
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
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
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
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 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
1fa0d886bd add render mode to hint page 2013-01-09 05:51:53 +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
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
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
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
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
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
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
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 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
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
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
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
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
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
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
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
Qingping Hou
dfff1906fd return only one value in ReaderToc:cleanUpTocTitle(title) 2012-09-17 20:21:03 -04: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
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
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
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
86a3ff6447 Merge remote-tracking branch 'origin/new_ui_code' into new_ui_code 2012-06-03 17:46:01 +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
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