2
0
mirror of https://github.com/koreader/koreader synced 2024-11-16 06:12:56 +00:00
Commit Graph

365 Commits

Author SHA1 Message Date
chrox
c6f6699644 fix empty menu widget won't trigger screen refresh
This should fix #1398.
2015-02-01 20:41:23 +08:00
Qingping Hou
6ed8f30f35 fix: empty item_table crashes menu widget 2014-12-18 03:16:11 -05:00
chrox
b3d79b053a workaround to fix #1340 2014-12-04 10:09:09 +08:00
variousvirgil
9c69c1f14e Fix #1299 2014-12-02 20:30:55 +08:00
Hans-Werner Hilse
ff0fbbdb4b fix widget closing 2014-12-01 16:21:42 +00:00
Hans-Werner Hilse
94ce08937a clean up refreshes
This is a larger clean-up of the refresh situation.
The general shift is that refreshes are now mainly triggered by
the (top-level) widgets when they get shown or closed via UIManager.

All refreshes for the widgets when they are in use were handled by
themselves before. This adds the case of showing/closing.

It is the desired result of not having UIManager:show()/:close()
do (full screen) refreshes on its own.
2014-12-01 16:03:40 +00:00
Huang Xin
ddae003925 Merge pull request #1310 from hwhw/master
fixes for scrolling, fix for double-refresh, misc stuff
2014-12-01 09:56:04 +08:00
Hans-Werner Hilse
e8642fbad7 use API for refresh when closing widgets in message popups 2014-11-30 22:35:08 +00:00
Hans-Werner Hilse
143c56c48c record ButtonDialog.dimen 2014-11-30 22:33:38 +00:00
Frans de Jonge
47d7a48555 OPDS: refactored unit test and fixed a minor bug with undefined image_rel 2014-11-30 21:44:47 +01:00
Hans-Werner Hilse
3f9dc46315 fix dict window refresh
was still using old API
also, move this to another place.
2014-11-30 18:38:03 +00:00
Frans de Jonge
c25254a7ec OPDS: embryonic unit test for OPDS browser
This initial seed specifically tests against what recently broke in Gutenberg and FeedBooks.
2014-11-30 19:06:27 +01:00
Hans-Werner Hilse
f02be20a65 refresh fixes for the menus
this will only refresh the areas that actually need to be refreshed.
2014-11-30 12:04:33 +00:00
Hans-Werner Hilse
6793a4fee1 reader config dialog: properly refresh config pane
This serves as a good example for the way refreshes are done:
setDirty("all", function() ... end)
* the "all" will have all widgets on screen repainted.
  In this case that is needed because the config pane has
  different sizes, covering different parts of underlying
  widgets. So they need to be repainted every time.
* the function will return the area to refresh and is evaluated
  after painting. In this example, we take the area that is covered
  by the config pane before switching it (if present at all), and
  hand it to the refresh area function as an upvalue.
  When the function is called later after painting, it will
  use that saved area and combine it with the area that is covered
  then by the widget. That way, parts that are covered no more are
  included in the refresh area, too.
2014-11-30 11:50:51 +00:00
Hans-Werner Hilse
82c26b1f18 adapt widgets to new refresh/repaint API 2014-11-30 00:17:50 +00:00
Andrey Golovizin
296f63b22a OPDS: ignore links with unknown rel values, treat empty rel as rel="subsection". 2014-11-29 11:15:41 +01:00
Frans de Jonge
7a87b66fa1 OPDS catalog: auto-fill http:// if no protocol given and revert #1106
This fixes #1259.
2014-11-28 21:58:19 +01:00
Hans-Werner Hilse
0c80537003 allow image widgets to do alpha-blitting
when the image (e.g. a PNG) does contain an alpha channel, that can
be honored by ImageWidget. It doesn't do so by default for compatibility
(arguably, we should change that in the future), it has to be enabled
by setting the "alpha" property to "true" (boolean, not string).
2014-11-28 15:37:11 +00:00
Frans de Jonge
693fa0837e Reworked several strings
This is the remaining gruntwork of #1276. I believe that only leaves networkmgr.lua and filemanagersearch.lua, which will require a little more thought.
2014-11-28 14:10:37 +01:00
chrox
ca60ceacd0 make radius field respects popout flag 2014-11-27 22:01:57 +08:00
chrox
0a06041cd9 fix calculation of widget height of filechooser
the height of filechooser is provided when creating filechooser
widget since there may be no title as in filemanger which needs
a special title widget to contain filemanger menu.
2014-11-25 17:49:46 +08:00
chrox
67693367b9 init width and height of filechooser widget during init
so that everytime a filechooser is inited right dimension
size is used.
2014-11-25 16:31:03 +08:00
Hans-Werner Hilse
22697adf20 switch from scaleByDPI() to scaleBySize() 2014-11-23 12:13:32 +00:00
HW
7b91935df0 Merge pull request #1230 from chrox/fix_1170
fix #1169 and #1170
2014-11-23 13:13:07 +01:00
chrox
d11dba0558 fix #1169 and #1170 2014-11-23 18:06:20 +08:00
chrox
3574865dcb fix #1166 by auto alignment of option name 2014-11-23 16:52:08 +08:00
chrox
dbf8faa9b1 remove hardcoded footer height of reader menu 2014-11-20 18:02:50 +08:00
chrox
f52872b081 default autoscale for IconButton 2014-11-20 18:02:50 +08:00
chrox
e66801039b refactoring: reuse IconButton for config menu bar 2014-11-20 18:02:50 +08:00
Hans-Werner Hilse
ab44d1f7e3 fix item number distinction (plural forms) 2014-11-19 13:25:32 +01:00
Frans de Jonge
8b9bbf918c Fix typo in #1176 2014-11-19 12:53:03 +01:00
Frans de Jonge
d701d9b198 First util.template encapsulated strings 2014-11-19 12:23:37 +01:00
NiLuJe
e9573ebe58 Try to avoid more update_regions_func mismatches
scheduling tricks
2014-11-18 10:32:47 +01:00
Hans-Werner Hilse
3d03713cb1 implement case-insensitive sort, make default and configurable
This will convert any file name to lowercase before doing the comparison.
Note that this will only work for ASCII character range, a full Unicode
aware solution will be much more complicated. And in the end, file names
are byte arrays, not character strings ;-)

fixes #1183.
2014-11-16 19:27:31 +01:00
Hans-Werner Hilse
e031599c0a fix strcoll() workaround
The strcoll() workaround we had in place for Kobo devices was (or has
become) ineffective. We had set self.strcoll to nil on Kobo devices -
but this was the instance variable. Setting it to nil effectively makes
the instance variable vanish, so when trying to access it later, it
was not there and got looked up via the metatable - which had the original
reference. Setting it to nil had no effect whatsoever.

We simplify that approach and set the replacement function where before we
had set this to nil.

This is a partial fix for issue #1183 (and explains a comment in issue #686
which says that the old fix did not work).

However, to really fix #1183 - if we want to do so - we would need a collate
function that normalizes uppercase/lowercase before compare.
2014-11-16 19:15:24 +01:00
NiLuJe
1ee09010c4 Make ScrollTextWidget updates regional
Because I like breaking stuff in fun & interesting ways :D
2014-11-12 15:55:30 +01:00
chrox
efbd7f7b5d schedule in menu option callback
so that new reginal update on menu entry don't
affect screen update from callback results
2014-11-12 15:40:37 +08:00
Qingping Hou
123d0a1230 Merge pull request #1126 from chrox/wifi_toggler
add network settings in reader menu
2014-11-11 03:05:12 -05:00
Qingping Hou
fac2e121d2 Merge pull request #1124 from chrox/remember_menutab
remember menu tab index when showing reader menu
2014-11-11 03:01:35 -05:00
chrox
590073e4a8 add network settings in reader menu
and remove the wifi toggler on the footer of each menu page,
so that network status is only checked (currently with the stdout of ip cmd)
when navigating to the "Network settings" submenu instead of checking
on each menu popup.
2014-11-11 12:12:39 +08:00
NiLuJe
c3274a9d5e Unbreak FM by reverting 7a812f
:D
2014-11-11 03:24:56 +01:00
NiLuJe
b88e304845 Make TouchMenu updates regional 2014-11-11 03:17:15 +01:00
NiLuJe
88c26b4112 Make ConfigDialog updates regional 2014-11-11 03:10:03 +01:00
chrox
95ac27df5c remember menu tab index when showing reader menu 2014-11-11 10:06:17 +08:00
NiLuJe
7a812ff86d Make Button update regional 2014-11-11 03:03:25 +01:00
NiLuJe
39244aa0cb Make ToggleSwitch updates regional 2014-11-11 02:52:47 +01:00
NiLuJe
041f11cba0 Tweak some comments 2014-11-11 02:42:07 +01:00
NiLuJe
8f3598bec3 Make IconButton updates regional
Beginning of the quest to make menu refreshes slightly smoother ;).
2014-11-10 20:27:35 +01:00
NiLuJe
a12015c0d1 Force the dictionary popup to do a partial update.
It was done the other way around on purpose, so I probably broke some
very specific use-case ;). Feel free to shout at me ^^.
2014-11-10 16:48:16 +01:00
Andrey Golovizin
8bce54a6a0 Ignore OPDS links with unknown rel values. 2014-11-08 09:19:29 +01:00
Andrey Golovizin
5888773c95 Try to fetch next page if loading a new catalog resulted in a single page 2014-11-07 22:10:12 +01:00
Andrey Golovizin
500ad9ba4c Fetch enough items to fill at lest one new page 2014-11-07 22:10:06 +01:00
chrox
bd0975896d add fulltext search for EPUB documents 2014-11-05 12:28:28 +08:00
chrox
8ddca4bf49 close reader config panel when touching reader menu 2014-11-05 12:28:28 +08:00
chrox
a766ec51ae only update neccessary screen regions when typing with virtual keyboard 2014-11-05 12:28:28 +08:00
chrox
3a1fe689e2 update multiple screen regions
This is useful when updating keyboard and inputbox.
2014-11-05 12:28:28 +08:00
Hans-Werner Hilse
3066c86e38 Refactoring hardware abstraction
This is a major overhaul of the hardware abstraction layer.
A few notes:

General platform distinction happens in
  frontend/device.lua
which will delegate everything else to
  frontend/device/<platform_name>/device.lua
which should extend
  frontend/device/generic/device.lua

Screen handling is implemented in
  frontend/device/screen.lua
which includes the *functionality* to support device specifics.
Actually setting up the device specific functionality, however,
is done in the device specific setup code in the relevant
device.lua file.

The same goes for input handling.
2014-11-02 21:19:04 +01:00
chrox
a32991d898 add new sorting methods for file list in filemanager
Now files can be sorted by filename or last accessed time
2014-10-30 22:41:52 +08:00
chrox
84029e9694 add modal widget type that will stay on the top of window stack
ConfirmBox and InfoMessage are default to be modal.
Now returning to filamanager after highlighting a PDF page
the confirmbox asking users to save the document will not be hidden by
the filamanager window.
And it's tested on Kindle that #791 is already been solved probably by
out refacorting of MuPDF backend.
2014-10-30 16:01:04 +08:00
chrox
dfcd67c5bf move screenshot settings to submenu of Screenshot entry in readermenu
And also fix a touchmenu bug that prevent some menu entries
(always at the bottom of the menu) from showing submenus. The reason is
that the onTapSelect method of TouchMenuItem doesn't return true, so that
the tap gesture will propagate to the parent widget and be captured by
touchmenu itself. But at this time the dimen of touchmenu is changed to
the submenu of the tapped menuitem. If the submenu is short enough the
tap will be outside of touchmenu which will cause a TapCloseAllMenus
event and the submenu will never be shown.
2014-10-30 15:51:35 +08:00
chrox
68265336f4 fix #1034 by refactoring path chooser to a download manager
Now directories visible in the filemanager should also
be visible in the path chooser
2014-10-28 17:14:06 +08:00
Michael Hall
dd80d61155 Leave both readerconfig and readermenu open on wifi toggle 2014-10-26 09:41:28 +00:00
Qingping Hou
394c847e2b fix(app): initilize menu properly in reader and filemanager 2014-10-25 05:46:02 -04:00
Qingping Hou
d1627337e0 fix(ui): fix dynamic menu height calculation 2014-10-25 04:03:37 -04:00
Hans-Werner Hilse
ba40cc56e9 fill background of intermediary blitbuffers
we need to explicitly fill those buffers, now that white is not "0"
anymore.
2014-10-24 13:48:42 +02:00
Hans-Werner Hilse
5982e24d57 unify color specification
colors were a mixture of 4bpp integers (0=white, 15=black) and
fractional blackness levels (0=white, 1.0=black) before. This is
now unified to use the color specification of the Blitbuffer API.
2014-10-24 13:48:42 +02:00
chrox
c994e30cff fix #1024
if toc item has expand/collapse state and tap select on the left side
the state switch action is triggered, otherwise goto the
linked page.
2014-10-21 22:18:07 +08:00
Hans-Werner Hilse
e0868826ad use new FFI based mupdf API
This will use the new API where the Lua/C interface was used before
and also drop usage of mupdfimg wrapper which is now implemented
within the mupdf interface
2014-10-20 16:49:10 +02:00
chrox
2ad63fc1a3 expand/collapse TOC only by tap on the icon 2014-10-20 22:19:31 +08:00
chrox
f3417c5488 fix #987 2014-10-15 18:17:16 +08:00
chrox
96960cd554 don't dim icon button by default 2014-10-14 21:34:56 +08:00
chrox
7c9130744c add collapsable TOC menu 2014-10-14 21:34:56 +08:00
chrox
b09bb87d4e refactoring readertoc and readerfooter
so that they don't repeat themselves.
2014-10-07 17:10:48 +08:00
Qingping Hou
55cb0271cb Merge pull request #954 from chrox/fix_950
get rid of query filed of baseurl when building href
2014-10-05 01:08:02 -07:00
chrox
549f54ab07 get rid of query filed of baseurl when building href
otherwise there will be "?offset=90" query in downloading href
for calibre opds server which doesn't accept the url

This should fix #950.
2014-10-05 15:47:36 +08:00
chrox
7b78d70c74 fix fgcolor of inputbox is always 0.0 2014-10-05 14:00:38 +08:00
chrox
6152198e88 still needs button bgcolor
This bgcolor is for framecontainer background color.
2014-10-04 22:01:09 +08:00
Hans-Werner Hilse
7b1777e095 adapt widgets and text rendering to new font rendering
no background for text rendering anymore
2014-10-04 15:54:03 +02:00
evgsh
aae2c4de27 Added acquisition relation types , fixes issue #940 2014-10-03 17:22:37 +03:00
Hans-Werner Hilse
e47b43e8b5 add implementation of a container widget with alpha-blitting
This is a container that will honor a given alpha value (0..1)
when painting, so it will be translucent for values < 1.
2014-09-28 21:48:06 +02:00
chrox
97e7a90865 encode lfs.dir iterated file path to UTF-8 2014-09-25 22:33:43 +08:00
evgsh
aabee1f3bc Update opdsbrowser.lua 2014-09-19 13:43:58 +03:00
Michael Hall
96aa795618 Adding Touch Menu Wifi Status icon/Toggler for Kobo and Kindle. Change to
NetworkMgr:getWifiStatus() to ping default gateway instead of 8.8.8.8.
2014-09-14 15:05:28 +01:00
Qingping Hou
5e035c2517 fix(ui): hide button framecontainer background in hide() method 2014-09-13 23:43:39 -04:00
chrox
cf882a078a fix page number of sub-menu is not updated 2014-09-13 14:00:57 +08:00
Qingping Hou
eb46aa7d66 Merge pull request #887 from chrox/fix_875
refactoring: hide the charlist implementation of InputText
2014-09-10 00:49:06 -07:00
chrox
5b940cecaf refactoring: hide the charlist implementation of InputText
This patch also fix #875.
2014-09-10 15:31:11 +08:00
chrox
88d9cdf533 add shortcut to add local calibre OPDS catalog 2014-09-10 13:27:15 +08:00
chrox
b05ece345a add set download directory option when downloading files from OPDSCatalog
Manually added opds servers are editable and deletable by long press on
the menu entries.
2014-09-10 13:27:15 +08:00
chrox
11a8a1dce6 show file size and directory items in filemanager 2014-09-10 13:27:15 +08:00
chrox
98da30f689 fix href with two slash 2014-09-07 17:21:58 +08:00
chrox
69bb4a3df3 add return button in menu 2014-09-05 21:07:43 +08:00
chrox
c12cb0367b title truncation in input dialog 2014-09-05 21:07:43 +08:00
chrox
69c162ac4f refactoring to generic multiinputdialog 2014-09-05 21:07:43 +08:00
chrox
21dcf787da add OPDS support
This PR implements a simple OPDS browser which can be launched
from filemanager menu.
2014-09-05 21:07:43 +08:00
chrox
2bec0017a0 refactor out global functions showHomePage and showReaderUI 2014-09-05 21:07:42 +08:00
chrox
c74c258fc7 add filemanager icon in reader menu
now we can access the filemanager in all launcher configurations
2014-09-05 21:07:42 +08:00
chrox
0bc3eadcae refactoring: use Document API getCoverPageImage to get cover image 2014-08-27 11:07:25 +08:00
chrox
5890e4a0b1 use conventional util name and update koreader-base 2014-08-26 08:59:24 +08:00
WS64
bde3f31089 New input dialog with variable amount of fields 2014-08-25 18:00:11 +02:00