Commit graph

76 commits

Author SHA1 Message Date
Teruaki Kawashima
a900a29091 fix that disktidy plugin and shopper plugin is not usable when Show Icons setting is turned off.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28362 a1c6a512-1295-4272-9138-f99709370657
2010-10-26 12:19:39 +00:00
Thomas Martitz
b39a4933cb Fix several inaccuracies in list handling on touchscreen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28221 a1c6a512-1295-4272-9138-f99709370657
2010-10-09 11:22:52 +00:00
Thomas Martitz
d9d0b4dd20 Pixel-accurate (vertical) list scrolling for touchscreen targets.
Looks much smoother now as you don't scroll by whole lines anymore.
Add some functions lcd driver to enable the line based scrolling engine to draw the lines with a pixel-based y-offset.
This should also allow for a sensible kinetic scrolling mechanism (still a todo).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28214 a1c6a512-1295-4272-9138-f99709370657
2010-10-06 12:46:42 +00:00
Jonathan Gordon
0dd8ba4725 Fix FS#11552 - touches outside of the UI viewport can do unexpected list movements.
Also remove naughty // comments from r28145

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28168 a1c6a512-1295-4272-9138-f99709370657
2010-09-26 07:32:16 +00:00
Thomas Martitz
f060cd5428 Don't actually reimplement an existing feature for hiding the selection marker
during scrolling.

However, the existing one is part of the list api, so it shouldn't be overridden
blindly internally, so do the decision in a different but equivalent way.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28147 a1c6a512-1295-4272-9138-f99709370657
2010-09-23 00:37:33 +00:00
Thomas Martitz
ac08e6942a Touchscreen: Improve scrolling in absolute point mode.
* Scrolling is now done by wiping over the screen. There's no acceleration or
  kinetic scrolling yet though. But it works rather well (previously
  you held the edges of the list to scroll).
* Improve scrollbar scrolling so that it keeps scrolling even if you leave the
  scrollbar area.
* Hide selection during scrolling
* Prevent accidental hitting of the list title (which means go back) during
  scrolling
* Don't go into context menu after scrolling when leaving the screen on an item

In general, it's very much like scrolling in native lists in Android,
except there's no kinetic scrolling and everything is still line based, but with
the feature that the scrollbar enables jumping around in the list and very fast
scrolling.

Thanks to Dustin Skoracki for his ideas and half of the code for this.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28145 a1c6a512-1295-4272-9138-f99709370657
2010-09-23 00:02:32 +00:00
Maurus Cuelenaere
5da84ec4da I somehow messed up the previous commit, undo the unrelated changes.
Also, r26922 wasn't the culprit but r27004.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27108 a1c6a512-1295-4272-9138-f99709370657
2010-06-24 14:32:25 +00:00
Maurus Cuelenaere
3f4838585f Fix touchscreen scrollbar behaviour when it's on the right.
This was broken since r26922.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27107 a1c6a512-1295-4272-9138-f99709370657
2010-06-24 14:22:36 +00:00
Jonathan Gordon
49dac9ae04 Make the title area go up one level in the lists again. This Doesnt work if you have the title in a seperate viewport in the sbs, but that isnt really a problem because if you are doing that there is a good chance you will setup a region for that press anyway
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27015 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 14:57:44 +00:00
Jonathan Gordon
a398c2846a Touchregion support for the Base Skin and FM Skins. display obviously needs to be in stylus mode for this to work. Just about all screens should be mostly useable if your sbs has the next/prev/select/cancel/menu regions defined.
Plenty of room to add new action abilities if they are wanted.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27004 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 06:04:19 +00:00
Maurus Cuelenaere
6be8306ae0 Fix error: assignment of read-only variable 'list_width'
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26923 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 14:45:44 +00:00
Maurus Cuelenaere
4c4285df9a Simplify check in gui_synclist_do_touchscreen(), no functional changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26922 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 14:41:49 +00:00
Thomas Martitz
50a6ca39ad Move c/h files implementing/defining standard library stuff into a new libc directory, also standard'ify some parts of the code base (almost entirely #include fixes).
This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 21:04:40 +00:00
Jonathan Gordon
466e5d9aa4 2 new tags for the base skin.
%Lt - the title text for the current list
%Li - the icon number. Same order as the CustomIcons list, except the first icon is the "no icon" icon.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24917 a1c6a512-1295-4272-9138-f99709370657
2010-02-26 03:45:41 +00:00
Maurus Cuelenaere
9ec0c1669c Touchscreen: fix scrollbar handling when it's on the right
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24635 a1c6a512-1295-4272-9138-f99709370657
2010-02-13 15:53:10 +00:00
Teruaki Kawashima
93f9e7cbfb fix text scrolling handling in do_menu, set_time_screen and time_screen.
Don't scroll text in time_screen(). the lines will be redrawn before scrolling statrs, so they don't scroll anyway.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24591 a1c6a512-1295-4272-9138-f99709370657
2010-02-11 10:41:06 +00:00
Teruaki Kawashima
67470c890a list: improvement to move and show selection in multi-line lists.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24195 a1c6a512-1295-4272-9138-f99709370657
2010-01-07 12:51:57 +00:00
Bertrik Sikken
92d2874959 apps/gui/bitmap/list.c: use bool instead of int to hold boolean value
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24161 a1c6a512-1295-4272-9138-f99709370657
2010-01-03 13:14:50 +00:00
Jonathan Gordon
88ae46cc88 fix another bug from FS#10771 - list touchscreen handling needs to ignore presses outside the list viewport.
It probably makes sense to pass off any button presses outside of the list viewport to the sbs, I'll leave that for someone else though


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24086 a1c6a512-1295-4272-9138-f99709370657
2009-12-21 04:42:20 +00:00
Jonathan Gordon
e425371e10 Fix FS#10289 - screens showing a list need to check the show_icons setting before setting the callback. the List will now always draw icons if a callback is set (like its always done for voice)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24022 a1c6a512-1295-4272-9138-f99709370657
2009-12-16 08:36:46 +00:00
Teruaki Kawashima
67ded6ce9d Fix position calculation of title icon.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22983 a1c6a512-1295-4272-9138-f99709370657
2009-10-06 13:32:37 +00:00
Tomer Shalev
a092b9ce92 Use macro to test viewport's RTL flag
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22978 a1c6a512-1295-4272-9138-f99709370657
2009-10-06 08:07:30 +00:00
Tomer Shalev
6a12b82a85 Fine tuning of gui elements positioning in RTL mode
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22976 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 23:41:59 +00:00
Tomer Shalev
ff3e3f5974 Remove redundant code in list.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22974 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 23:08:52 +00:00
Tomer Shalev
b0a9938321 Add rtl flagging to viewport_set_defaults(), and ensure that
viewportmanager_theme_changed() is called during font loading


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22971 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 21:13:55 +00:00
Tomer Shalev
58221fc38d Implement RTL as a viewport's bit-field
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22968 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 20:22:02 +00:00
Tomer Shalev
6b8a78f793 Fix red - type
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22966 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 20:05:55 +00:00
Tomer Shalev
2438d1693b - Use pointers instead of repeating access to array element
- Set const when possible


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22965 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 19:59:16 +00:00
Tomer Shalev
1acacc2dcb Revert renaming of the scrollbar global setting by r22945, following discussion in IRC
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22963 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 18:11:41 +00:00
Tomer Shalev
bbeb3ec751 Fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22956 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 13:20:08 +00:00
Tomer Shalev
0b6f683137 Have scollbar in the right side while in RTL mode
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22955 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 13:00:28 +00:00
Tomer Shalev
f8adc43c64 Fix red - forgot one #ifdef
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22948 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 12:18:56 +00:00
Tomer Shalev
311030c247 Fix some of the reds
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22946 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 11:59:55 +00:00
Tomer Shalev
6d80565b1b RTL support in menus
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22945 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 11:43:38 +00:00
Thomas Martitz
3c47d94668 Alright, it seems I got scroll_stop() wrong. Using the viewport that's set before doing all the puts_scroll* calls seems to work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22622 a1c6a512-1295-4272-9138-f99709370657
2009-09-04 16:34:55 +00:00
Thomas Martitz
2ab627d309 Change r22610 a bit. The new parent viewport isn't really suitable.
The new parent might be smaller than the previous one, causing the old list to not stop scrolling. Full-screen stop scrolling isn't correct either though, so we pick the currnet ui viewport to stop scrolling.
This was actually a bug (attempted to fix in r22610) discovered in the custom statusbar patch, where the lists stopped the statusbar text from scrolling.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22613 a1c6a512-1295-4272-9138-f99709370657
2009-09-04 00:40:50 +00:00
Thomas Martitz
af2dcbb8e1 Don't stop scrolling for the whole display, but only in the actual list parent viewport.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22610 a1c6a512-1295-4272-9138-f99709370657
2009-09-03 13:38:52 +00:00
Maurus Cuelenaere
94419e9a62 Touchscreen list handling: use icon width instead of scrollbar width for the 'ignoring' zone + correct comment that shouldn't be true anymore (and never was AFAIK)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22469 a1c6a512-1295-4272-9138-f99709370657
2009-08-22 23:35:27 +00:00
Maurus Cuelenaere
4ce82b9dd1 Touchscreen list handling: ignore presses close to the scrollbar when it's on the right, this is similar as how it's handled when the scrollbar is on the left (icons) and improves user experience due to touchscreen dead zones.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22467 a1c6a512-1295-4272-9138-f99709370657
2009-08-22 22:48:03 +00:00
Maurus Cuelenaere
07b2708892 Touchscreen list handling: fix issue where scrolling with the scrollbar could bring up the context menu for an item
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22465 a1c6a512-1295-4272-9138-f99709370657
2009-08-22 21:46:02 +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
Nils Wallménius
4f87976677 Slight cleanup in lcd.h: kill fixme and remove useless include, add some includes elsewhere and add a stub for sims instead of ifdef
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22431 a1c6a512-1295-4272-9138-f99709370657
2009-08-19 21:48:17 +00:00
Alexander Levin
23e534decf Delete the trivial comment
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22426 a1c6a512-1295-4272-9138-f99709370657
2009-08-19 12:38:16 +00:00
Alexander Levin
07d0bfd101 Combine the settings for scrollbar on/off and its position into one with three possible values
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22425 a1c6a512-1295-4272-9138-f99709370657
2009-08-19 12:36:40 +00:00
Maurus Cuelenaere
ae901c2e50 Scrollbar position: only update it when exiting the menu + FS#10539 by Alexander Levin (change the order of Left/Right)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22414 a1c6a512-1295-4272-9138-f99709370657
2009-08-18 22:42:37 +00:00
Maurus Cuelenaere
daaecb987c Add setting to position the scrollbar on the left or right
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22390 a1c6a512-1295-4272-9138-f99709370657
2009-08-17 23:36:49 +00:00
Bertrik Sikken
0307cd16a0 Remove some unused #includes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22183 a1c6a512-1295-4272-9138-f99709370657
2009-08-06 08:20:06 +00:00
Nils Wallménius
0a51d3915c Remove redundant definitions of SCROLLBAR_WIDTH
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22114 a1c6a512-1295-4272-9138-f99709370657
2009-08-02 15:44:40 +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
Jens Arnold
3f69bb2b1d Bugfix: Text styles are not drawmodes, so stop storing them in the vieport's drawmode field. They're only used locally anyway.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20234 a1c6a512-1295-4272-9138-f99709370657
2009-03-08 12:42:33 +00:00