Commit graph

161 commits

Author SHA1 Message Date
Teruaki Kawashima
478afc3d62 FS#10722: some improvements for gui/list.c
* Add function list_get_nb_lines and replace duplicated codes to calculate number of lines by it.
* Refine calculation of start_item in function gui_list_put_selection_on_screen.
- displays as many items as possible. hopefully fix FS#10054.
* Fix checking bounds in function gui_synclist_item_is_onscreen.
* Remove trailing spaces and fix indents.

Flyspray: FS#10722
Author: myself


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23367 a1c6a512-1295-4272-9138-f99709370657
2009-10-27 13:18:54 +00:00
Bertrik Sikken
d24d885aa4 Use wrap-safe TIME_BEFORE/TIME_AFTER macros to compare times with current_time, instead of comparing them directly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23246 a1c6a512-1295-4272-9138-f99709370657
2009-10-18 15:50:30 +00:00
Thomas Martitz
94f7651341 Revert r23212, I committed it accidentally.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23214 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 20:34:04 +00:00
Thomas Martitz
8d032ae136 initial custom statusbar commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23212 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 20:30:09 +00:00
Nils Wallménius
8e33c2f17f revert r23093 and r 23094, since the title pointer is used to modify the title of the list from the callback function in one place
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23096 a1c6a512-1295-4272-9138-f99709370657
2009-10-11 09:40:47 +00:00
Nils Wallménius
aa84a99caf Const correctness
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23093 a1c6a512-1295-4272-9138-f99709370657
2009-10-11 09:09:20 +00:00
Nils Wallménius
8598b57fca Tiny simplification
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23031 a1c6a512-1295-4272-9138-f99709370657
2009-10-09 06:52:20 +00:00
Thomas Martitz
649b50cba1 Set list_need_reinit to false somewhere too.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22652 a1c6a512-1295-4272-9138-f99709370657
2009-09-07 17:40:43 +00:00
Thomas Martitz
2eb1cb6f82 Fix buttonbar handling/theme changed handling in lists.
The lists need to copy to a local parent if a list passes NULL as parent in the init. This was before the commit of custom ui vp, but I removed it since I (wrongly) thought using the ui vp as parent would be fine. Let the viewportmanager fire a event in case when a theme-related setting changed and simply the handling in the lists code.
However the buttonbar handling didn't work before anyway, since list code didn't know if the buttonbar was active (it asked a variable which was always false....).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22651 a1c6a512-1295-4272-9138-f99709370657
2009-09-07 17:37:06 +00:00
Nils Wallménius
3200d04d75 Make the formatter functions used by the settings return a pointer to avoid usless copying of lang strings, this brought with it a long chain of const correctness and a few random cleanups
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22440 a1c6a512-1295-4272-9138-f99709370657
2009-08-20 16:47:44 +00:00
Thomas Martitz
f1c704e4cf Fix ret for buttonbar targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22366 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 22:28:25 +00:00
Thomas Martitz
4c48b59be8 User definable UI viewport, to be able to restrict the UI into a viewport for all bitmap displays.
Flyspray: FS#8799

This will allow for pretty themes, for example those with nice glass effects on their backdrops (some might argue they're wasting screen space but it's upto them),
as well as allowing for future background WPS updates in the main UI.

Plugins are not converted yet, they simply use the full screen. Ideally, any plugin that does *not* want the UI viewport, should take care of that itself (i.e. plugins should normally use the UI viewport).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22365 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 22:20:11 +00:00
Bertrik Sikken
d767883a41 Various files: make functions static if they're local or make sure there is a proper #include if not
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22184 a1c6a512-1295-4272-9138-f99709370657
2009-08-06 09:28:25 +00:00
Teruaki Kawashima
221cae987f fix page up/down in list (FS# 10435).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22082 a1c6a512-1295-4272-9138-f99709370657
2009-07-29 13:45:10 +00:00
Bertrik Sikken
2dc2054319 Remove some unused declarations
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21010 a1c6a512-1295-4272-9138-f99709370657
2009-05-21 12:32:26 +00:00
Bertrik Sikken
0023943439 Fix duplicate #includes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20977 a1c6a512-1295-4272-9138-f99709370657
2009-05-17 14:50:19 +00:00
Bertrik Sikken
09085a30f6 Remove unneeded #include "backdrop.h"
Remove unneeded #include "statusbar.h"


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20891 a1c6a512-1295-4272-9138-f99709370657
2009-05-09 18:09:14 +00:00
Thomas Martitz
fd14cac7c2 Split HAVE_SCROLLWHEEL into HAVE_SCROLLWHEEL and HAVE_WHEEL_ACCELERATION, where the latter now activates the wheel acceleration code.
HAVE_SCROLLWHEEL plainly indicates the existence of a scrollwheel, thus all ipods define it now (in addition to the ones and some 
sansas which did before). Same applies to the manual.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20177 a1c6a512-1295-4272-9138-f99709370657
2009-03-02 19:25:50 +00:00
Jonathan Gordon
036fb05dfd Accept a quick patch from Alexander Levin to neaten up the #defines and comments from my earlier commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19897 a1c6a512-1295-4272-9138-f99709370657
2009-02-01 13:43:08 +00:00
Jonathan Gordon
80cb3551eb Statusbar handling fixes.
Fixes FS#9845 - %we/%wd wasnt working
WPS no longer resets the viewportmanger more than needed (was doing it twice/draw before)
screens can now enable/disable the statusbar easily ignoring the setting instead of needing special handling (fix for the radio screen coming soon)

minor glitch introduced in this commit... the statusbar in the WPS might disappear for a fraction of a second when it is entered, I need to track this down...


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19894 a1c6a512-1295-4272-9138-f99709370657
2009-02-01 11:34:16 +00:00
Jonathan Gordon
f9329e4c92 Fix some wierdness with the debug menus...
Set the current viewport back to NULL after the list is finished drawing, Screens 
should be setting it before they start drawing so this probably only effects the debug menus.
Also change how the statusbars are handled there to make things easier. (this change also forces the bars back on (if enabled) in the simple list widget.. hopefully this doesnt cause problems later)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19703 a1c6a512-1295-4272-9138-f99709370657
2009-01-07 07:52:32 +00:00
Jonathan Gordon
8b9fdb540c redo how the statusbar updates are done. send the EVENT_GUI_ACTIONUPDATE event every time get_action() is called. The event wont be as realiable (timewise) as before, but seems to work better
This also fixes FS#9761.
Also set the lcd font back to the ui font from the debug screens which use sysfont


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19681 a1c6a512-1295-4272-9138-f99709370657
2009-01-05 09:59:11 +00:00
Jonathan Gordon
7555f34cb3 fix FS#9743: plugins using rb->do_menu() were dropped 8 pixels..
please oh please let this be the last fix :p


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19640 a1c6a512-1295-4272-9138-f99709370657
2009-01-02 07:15:46 +00:00
Jonathan Gordon
9296126417 More SYS_FOURHERTZ handling fixes.. (FS#9740 FS#9741)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19635 a1c6a512-1295-4272-9138-f99709370657
2009-01-02 01:29:13 +00:00
Jonathan Gordon
e385ee18ce Decouple the statusbar drawing from the rest of the screen drawing. it is not drawn roughly 4x per second automatically.
viewport_Set_defaults() will setup the given viewport with the correct "full screen" dimensions (so start at 0,0 if statusbars are disabled or 0,8 if they are enabled.)
All screens should keep the statusbar enabled, but if you really want to ignore the user setting you can disbaled it with viewportmanager_set_statusbar(false).

This commit also includes some menu/list viewport cleanups from kugel in FS#9603


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19622 a1c6a512-1295-4272-9138-f99709370657
2008-12-31 05:59:26 +00:00
Nils Wallménius
68f6e83eb0 Alternate fix for the bug fixed by FS#9163, the selection in the playlist viewer was one line too low, which caused it to be off-screen if the last item was selected. The cause was that the selected item was set before the list title, fixed by re-calculating the position of the selected item after setting the title.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18797 a1c6a512-1295-4272-9138-f99709370657
2008-10-13 12:16:06 +00:00
Jonathan Gordon
8703cca459 Fix FS#9479 - "readonly" lists sometimes wrap when they shouldnt. part of the fix forced it to disable wrapping for these lists..
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18778 a1c6a512-1295-4272-9138-f99709370657
2008-10-12 10:21:44 +00:00
Jonathan Gordon
2438d7881a redo the previous commit so its actually useful.
if the callback returns ACTION_STD_CANCEL when the user presses ACTION_STD_OK the simple list will exit and set the selection. Otherwise, when ACTION_STD_CANCEL happens the selection will be set to -1


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18641 a1c6a512-1295-4272-9138-f99709370657
2008-09-25 08:12:25 +00:00
Jonathan Gordon
67df5f2434 have the info lists set the selection before they are exited, this is sometimes needed by the caller
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18640 a1c6a512-1295-4272-9138-f99709370657
2008-09-25 07:56:34 +00:00
Maurus Cuelenaere
1392dc2144 Commit FS#9308: differentiate between TOUCHPAD & TOUCHSCREEN
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18338 a1c6a512-1295-4272-9138-f99709370657
2008-08-23 09:46:38 +00:00
Stéphane Doyon
50512d696d Fix for issues in speaking the time in Rockbox Info screen (B#9167).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18309 a1c6a512-1295-4272-9138-f99709370657
2008-08-18 00:58:47 +00:00
Jonathan Gordon
311d048f6f fix FS#9144 hopefully for good... only update the screen if the time line is selected, or if talking menus are disabled, only update if the time line is actually on the screen. Also only update every 5s so scrolling lines still scroll. (turns out scroll_all was broken! fixed now)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17944 a1c6a512-1295-4272-9138-f99709370657
2008-07-05 12:31:04 +00:00
Peter D'Hoye
205f3df781 Remove a viewport ambiguity by changing the screens width/heigth members into lcdwidth/lcdheight. Normal usercode should always use getwidth()/getheigth() as that returns the viewport width/height. Fixes issues that would have appeared in many places when introducing viewports with sizes != lcd sizes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17857 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 20:45:21 +00:00
Daniel Stenberg
2acc0ac542 Updated our source code header to explicitly mention that we are GPL v2 or
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Jonathan Gordon
e0b957fd51 quick fix for FS#8729
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17780 a1c6a512-1295-4272-9138-f99709370657
2008-06-24 08:09:35 +00:00
Peter D'Hoye
f76122f0e7 Accept FS #9052 by Alexander Levin with a fix by me. Changes HAS_BUTTONBAR into HAVE_BUTTONBAR to bring it in line with the other defines
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17655 a1c6a512-1295-4272-9138-f99709370657
2008-05-29 20:32:39 +00:00
Jonathan Gordon
32db049a2a fix FS#9020 and make scrolling down in lists a bit more consistant with scrolling up
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17602 a1c6a512-1295-4272-9138-f99709370657
2008-05-22 06:23:15 +00:00
Bertrik Sikken
9244259f08 Make list.c use button_queue_count() instead of accessing the button_queue directly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17587 a1c6a512-1295-4272-9138-f99709370657
2008-05-20 19:41:48 +00:00
Jonathan Gordon
95be4febc8 doh! fix yellow.
remove the calls to stop_scroll(), clear_viewport() does that

nothing should be using screens[].nb_lines anymore... change the list code to be a good example. (playlist_viewer is the last thing using it which needs fixing)



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17456 a1c6a512-1295-4272-9138-f99709370657
2008-05-11 14:08:46 +00:00
Jonathan Gordon
10df05438e more textarea to viewport conversion... yes/no screen...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17454 a1c6a512-1295-4272-9138-f99709370657
2008-05-11 13:39:22 +00:00
Jonathan Gordon
daa8341a13 a bit of code cleanup.. use a single function to get the statusbar height (or lack of if its enabled), and remove some gui_textarea stuff which could be done using the splash. (gui_textarea is on the way out)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17350 a1c6a512-1295-4272-9138-f99709370657
2008-05-04 10:58:05 +00:00
Bertrik Sikken
e15f8a21a9 Made source files #include the header file that they implement to make sure they are in sync. Made some local functions static.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17312 a1c6a512-1295-4272-9138-f99709370657
2008-05-03 08:35:14 +00:00
Jonathan Gordon
fa64dbb525 So, I was skimming the irc logs from my 3 day absense and I was pinged about a bug in the simplelist code and this function in particular. Neither time was the actual bug explained so I dont know what this commit fixes... I'm fairly certain it does fix it though because the old code was rediculously wrong. MY guess is it has something to do with the radio debug screen seen as its the only call to this with the param != 0.
Please use the damn tracker for bug reports.. pinging someone when they arnt even online (as opposed to idling in the channel) really is a waste of time.)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17204 a1c6a512-1295-4272-9138-f99709370657
2008-04-21 13:32:10 +00:00
Nils Wallménius
6848961aa5 Pass the buffer length to the list_get_name callback functions instead of using hardcoded MAX_PATH
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17049 a1c6a512-1295-4272-9138-f99709370657
2008-04-09 15:25:17 +00:00
Jonathan Gordon
be185a1eaf fix the buttonbar in the browser and menus.
fix a problem where the menus wouldnt redraw when they should have when settings change


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16816 a1c6a512-1295-4272-9138-f99709370657
2008-03-26 09:05:42 +00:00
Jonathan Gordon
5ca1539969 the menu and list now accepts a parent viewport to draw in (and the menu can be told to not show status/button bars). This lays the groundwork to fix colour problems with plugin menus (see star.c for an example.) This hopefully fixes some button bar issues as well as theme problems.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16812 a1c6a512-1295-4272-9138-f99709370657
2008-03-26 03:35:24 +00:00
Jonathan Gordon
885283c424 more fixes for button bar... this will all disappear when viewports are handled by a manager of some sort
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16589 a1c6a512-1295-4272-9138-f99709370657
2008-03-09 09:37:39 +00:00
Jonathan Gordon
3f686d7034 fix recorder, buttonbar caused list problems
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16584 a1c6a512-1295-4272-9138-f99709370657
2008-03-09 02:00:31 +00:00
Jonathan Gordon
f444f1ecbe fix the touchpad list code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16528 a1c6a512-1295-4272-9138-f99709370657
2008-03-05 10:38:10 +00:00
Jonathan Gordon
0e5cec2d18 FS#8457 - convert the list drawing code to use viewports. This does not include any of the customizability which was in the patch, so unless any bugs show up users should not notice any difference.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16527 a1c6a512-1295-4272-9138-f99709370657
2008-03-05 09:58:30 +00:00