Commit graph

14 commits

Author SHA1 Message Date
Michael Giacomelli
990cbf302e Commit FS#11799 by Alexander Meshcheryakov. Improves the text viewer plugin to write to the disk less often, and correct several minor bugs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28833 a1c6a512-1295-4272-9138-f99709370657
2010-12-14 21:33:45 +00:00
Teruaki Kawashima
53a936ab83 text viewer:
-remove 1px gap at the top and bottom of the screen to maximize the draw erea, especially for small screens.
-fix trashes on the vertical scrollbar when scrolled the column left/right.
-fix bug that vertical scrllbar sometimes goes up while scrolling down.
-don't chage displayed line after closing menu.
-use simplelist to select bookmark to make it work better.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28213 a1c6a512-1295-4272-9138-f99709370657
2010-10-06 12:35:37 +00:00
Thomas Martitz
cae4ae2c71 Second try: Introduce plugin_crt0.c that every plugin links.
It handles exit() properly, calling the handler also when the plugin returns
normally (also make exit() more standard compliant while at it).
It also holds PLUGIN_HEADER, so that it doesn't need to be in each plugin anymore.

To work better together with callbacks passed to rb->default_event_handler_ex() introduce exit_on_usb() which will call the exit handler before showing the usb screen and exit() after it.
In most cases rb->default_event_handler_ex() was passed a callback which was manually called at all other return points. This can now be done via atexit().

In future plugin_crt0.c could also handle clearing bss, initializing iram and more.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27873 a1c6a512-1295-4272-9138-f99709370657
2010-08-24 14:30:46 +00:00
Thomas Martitz
93cb949372 Revert "Introduce plugin_crt0.c that every plugin links."
Too much errors and no time to fix them now.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27863 a1c6a512-1295-4272-9138-f99709370657
2010-08-23 17:12:26 +00:00
Thomas Martitz
abdc5935be Introduce plugin_crt0.c that every plugin links.
It handles exit() properly, calling the handler also when the plugin returns
normally (also it makes exit() more standard compliant while at it).
It also holds PLUGIN_HEADER, so that it doesn't need to be in each plugin anymore.

To work better together with callbacks passed to rb->default_event_handler_ex introduce exit_on_usb() which will call the exit handler before showing the usb screen and exit() after it.
In most cases it was passed a callback which was manually called at all other return points. This can now be done via atexit().

In future plugin_crt0.c could also handle clearing bss, initializing iram and more.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27862 a1c6a512-1295-4272-9138-f99709370657
2010-08-23 16:56:49 +00:00
Yoshihisa Uchida
2cdf332f01 text viewer: for tv_action and tv_bookmark, the prototype of the initializer is the same arguments as other modules.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27243 a1c6a512-1295-4272-9138-f99709370657
2010-07-02 12:16:47 +00:00
Yoshihisa Uchida
470226dbbf text viewer: some members of preferences change to bool. And simplify menu setting functions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27174 a1c6a512-1295-4272-9138-f99709370657
2010-06-29 12:23:41 +00:00
Yoshihisa Uchida
07d03729ff text_viewer: callback functions are changed to the function that returns int value.
And the text viewer quits when the problem occurs by callback functions.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27172 a1c6a512-1295-4272-9138-f99709370657
2010-06-29 11:05:36 +00:00
Yoshihisa Uchida
7e37fa926d text_viewer: rename preference values.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27106 a1c6a512-1295-4272-9138-f99709370657
2010-06-24 12:58:46 +00:00
Rafaël Carré
59fd2b24bd FS#11399 by me: fix r26998 for text_viewer
Restore the old behaviour:

- preferences must be read-write for tv_preferences.c , read-only for
  all other modules -> use pointer to const struct
- init functions must get the plugin buffer + its size as arguments for
  easily adding new functions -> use pointer to buffer pointer and size
  to make allocation easier
- preferences meaning is private to each file and must not be known by
  tv_preferences.c -> move tv_check_header_and_footer() back in
  tv_window.c; also avoid chaining 3 times the callbacks by calling
  tv_set_preferences() only once if more than one preference needs
  changing

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27089 a1c6a512-1295-4272-9138-f99709370657
2010-06-23 13:56:08 +00:00
Rafaël Carré
298316d192 text_viewer: cleanup & bugfix
cleanup:
    - don't use enum in struct / return values
    - don't use a getter for preferences but a global pointer
    - explicitely make enums start at 0
    - use static tables for header/footer settings
    - remove unneeded memset before strlcpy
    - use static buffer allocation, not dynamic
    - check header/footer preferences before using the callbacks
    - don't include font filename in archos player preferences (break
      file format)

bugfix:
    - statically allocate old preferences in tv_set_preferences()

Sometimes I can read a file on Clipv2, but it still aborts quite often
refs: FS#11399

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26998 a1c6a512-1295-4272-9138-f99709370657
2010-06-20 21:53:47 +00:00
Yoshihisa Uchida
ac25812e55 fix the problem that does not jump to selected the bookmark. (FS#11386)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26738 a1c6a512-1295-4272-9138-f99709370657
2010-06-10 10:57:05 +00:00
Yoshihisa Uchida
1ce70a679c text viewer: can selected scroll by column/scroll by screen for the horizontal screen.
Viewer Options: "Scrollbar", "Overlap Pages", "Auto-Scroll Speed" move to Scroll Settings > Vertical.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26654 a1c6a512-1295-4272-9138-f99709370657
2010-06-07 11:04:09 +00:00
Yoshihisa Uchida
fdba840450 reworks text viewer plugin. (FS#11209)
new text viewer plugin: text_viewer.rock.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26571 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 10:30:08 +00:00