summaryrefslogtreecommitdiff
path: root/apps/gui (follow)
Commit message (Collapse)AuthorAge
...
* folder selector: handle long press to invert selection/select all.Jonathan Gordon2012-08-13
| | | | | | | | Doing a LONG PRESS on a: - unopened folder will select all its sub-folders - opened folder will invert the selection of its sub-folders Change-Id: Ia7fd8dc3b940f60adee3f0314bf6bba5eb2c7b3b
* Fix skin engine error messageJonathan Gordon2012-08-06
| | | | Change-Id: I2250be6d4e82cd5d91ed1a2c080e263dd7543129
* New GUI browser to select one (or more) folders.Thomas Martitz2012-07-30
| | | | | | | | | | | | | | The browser lets the user pick one or more directories in a convinient GUI browser. The initial directory list is read from a string (separated by colons) and the resulting list is written back to the same string (again separated by colons). Note: The work was initially done by Jonathan Gordon, however I changed it substantially so I claim autorship. This selector is going to be used for autoresume and database scan folders. Change-Id: Id1d3186dad783411eb5c6056ce93f5b6123c7aa0
* skin_engine: Support percentages for viewport positioningJonathan Gordon2012-07-29
| | | | | | | | | | | %V(0,50%,75%,50%,-) - make a viewport at x=0, y=half the lcd height, 75% lcd width and the remaining height (the other half) of the lcd. Change-Id: If26ccb65e8dc52c9225f3fd6d7b222d770add0f0 Reviewed-on: http://gerrit.rockbox.org/184 Reviewed-by: Thomas Martitz <kugel@rockbox.org> Tested-by: Thomas Martitz <kugel@rockbox.org> Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
* lists: Support '\t' in list item text to indent the line containing it.Jonathan Gordon2012-07-19
| | | | | | | Change-Id: I1583371228ed477b504c135f81cb59a0c3c931e6 Reviewed-on: http://gerrit.rockbox.org/296 Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info> Tested-by: Jonathan Gordon <rockbox@jdgordon.info>
* fix erroneous button read in yesno screen and missed buttons in action.c.Thomas Martitz2012-07-18
| | | | | | | | | If two yesno screens directly follow each other the button release of the first one was incorrectly accepted in the second one. The fix exposed another problem in action.c if action_wait_for_release() is called when no button is actually pressed. The next press was silently eaten. Change-Id: Iaa5f246f7ea1fd775606620a989cdaec74a9305e
* skin_engine: Make pressing the setting bar touch region workJonathan Gordon2012-07-06
| | | | | | might need some tweaking, but works. Change-Id: I0784cd4fe9996531da6cc275491ff3b4e83cdbcf
* skin_engine: Allow the %St() (setting) skin tag be used as a barJonathan Gordon2012-07-05
| | | | | | %St(<setting name>) or %St(<bar tags>, setting, <setting name>) Change-Id: I71396d683634d4d1ad2357018c4029ecb4229677
* fix build warningsJonathan Gordon2012-07-05
| | | | Change-Id: Id5f0e84834f1cb74a317bb5653fdb6f665233345
* skin_engine: Automatically create touch regions for skin barsJonathan Gordon2012-07-05
| | | | | | | | | | | | | | | | | skin bars now automatically create the touch region the same size as the bar on touchscreen targets. This means touches will magically "just work" for reveresed bars (rtl or otherwise). ~5% padding is added on all 4 sides of the region rectangle but this may need to be tweaked. Please consider the 'progressbar' and 'volume' touchregion actions to be deprecated. Kudos to my new wife for figuring out the bleedingly obvious way to do this! Change-Id: I997a7bcaa70fce9885808aae27953c7676e9c2ff
* Make touchscreen handling work with skinned lists.Frank Gevaerts2012-06-19
| | | | Change-Id: I7df93319c8f16f05e840d74b022aab4803bb8f80
* CHARCELL doesn't have sbs support, so disable it properly.Frank Gevaerts2012-06-19
| | | | | | This actually fixes a nullpointer dereference. Change-Id: Ie3e153d72bcacdce46bfe5a514ff77aebdfd7225
* touchscreen: Don't hide selection by default. Fixes FS#12675.Thomas Martitz2012-06-15
| | | | Change-Id: Ic7e22ce6280d4105c38f7588717f4cf34c1bb5a3
* Fix checks on buflib allocated handles (0 is not a valid handle value)Bertrik Sikken2012-06-10
| | | | Change-Id: I8fdc5a59a5062f40a431cd49971390e21631b8ec
* Fix FS#12674 - %ax() doesnt mirror viewport correctlyJonathan Gordon2012-05-30
| | | | Change-Id: I10c933542037eeedc9c4be74b3d43a1430ec05b2
* _lists_uiviewport_update_callback can be made staticBertrik Sikken2012-05-20
| | | | Change-Id: I25dfaa1636811a0340d1730a5a8f44caa85b1771
* Don't trigger a skin refresh from skinlist_draw()Frank Gevaerts2012-05-18
| | | | | | | | | Thiskin refresh trigger apparently causes the skin and list to continuously refresh, with the side effect that buttons no longer work. Change-Id: I4439406176890ac46a3f217bfff43c6935a03a7c Reviewed-on: http://gerrit.rockbox.org/240 Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
* (hopefully) Fix FS#12639 and other skin related buflib corruption issues.Jonathan Gordon2012-05-16
| | | | | | | | | | | Kudos to funman for figuring out the problem - skin_find_item() rather stupidly uses the global skin_buffer variable in skin_parser.c which is fine in the parser EXCEPT it gets changed in skin_render when the sbs is being redrawn while another skin is loading, so fix this by makeing skin_find_item() use a local data pointer so a skin_render() during parsing won't break anything. Change-Id: I80e1c0efe569c18225e5772159c18ebb21e07332
* Touchscreen: Check if click is outside of list. Fixes FS#12669Thomas Martitz2012-05-13
| | | | Change-Id: Ic036f4c399b89c65bdc43bfdf7111bf4a13be484
* Rename HAVE_PITCHSCREEN to HAVE_PITCHCONTROLNils Wallménius2012-05-09
| | | | | | | | Also move the definition to config.h Change-Id: I36bb5020c5e06b2344292bc05e8c13ccc7a6a1ff Reviewed-on: http://gerrit.rockbox.org/234 Reviewed-by: Nils Wallménius <nils@rockbox.org>
* Remove extraneous parensRafaël Carré2012-05-06
|
* get_image_filename() return value is never usedRafaël Carré2012-05-06
|
* skin_parser: simplify skin_buffer_allocRafaël Carré2012-05-06
| | | | | | - no need to cast void * return value (it is not C++) - use sizeof(*var) instead of sizeof(struct foobar), it is shorter and will stay correct if the type is changed but forgotten in the sizeof()
* Use buflib for the allocation of voice PCM resources.Michael Sevakis2012-05-02
| | | | | | | | | | | | | Buffers are not allocated and thread is not created until the first call where voice is required. Adds a different callback (sync_callback) to buflib so that other sorts of synchonization are possible, such as briefly locking-out the PCM callback for a buffer move. It's sort of a messy addition but it is needed so voice decoding won't have to be stopped when its buffer is moved. Change-Id: I4d4d8c35eed5dd15fb7ee7df9323af3d036e92b3
* Make DSP's replaygain independent of global_settings.Michael Sevakis2012-04-30
| | | | | | | | | | Moves replaygain definitions to lib/rbcodec/dsp/dsp_misc.h. Intermediate functions in misc.c handle any adjustment and calling the rbcodec APIs. Change-Id: I9f03561bca9aedd13760cf19c4e19aa3c68e7024 Reviewed-on: http://gerrit.rockbox.org/140 Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
* Make rbcodec/dsp includes more specific.Michael Sevakis2012-04-29
| | | | Change-Id: Idb6af40df26f5b8499a40e8b98602261ef227044
* Fundamentally rewrite much of the audio DSP.Michael Sevakis2012-04-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Creates a standard buffer passing, local data passing and messaging system for processing stages. Stages can be moved to their own source files to reduce clutter and ease assimilation of new ones. dsp.c becomes dsp_core.c which supports an engine and framework for effects. Formats and change notifications are passed along with the buffer so that they arrive at the correct time at each stage in the chain regardless of the internal delays of a particular one. Removes restrictions on the number of samples that can be processed at a time and it pays attention to destination buffer size restrictions without having to limit input count, which also allows pcmbuf to remain fuller and safely set its own buffer limits as it sees fit. There is no longer a need to query input/output counts given a certain number of input samples; just give it the sizes of the source and destination buffers. Works in harmony with stages that are not deterministic in terms of sample input/output ratio (like both resamplers but most notably the timestretch). As a result it fixes quirks with timestretch hanging up with certain settings and it now operates properly throughout its full settings range. Change-Id: Ib206ec78f6f6c79259c5af9009fe021d68be9734 Reviewed-on: http://gerrit.rockbox.org/200 Reviewed-by: Michael Sevakis <jethead71@rockbox.org> Tested-by: Michael Sevakis <jethead71@rockbox.org>
* touchscreen/lists: fix two regressionsThomas Martitz2012-04-17
| | | | | | | * fix potential stack overflow through recursion * fix using using the scrollbar during active kinetic scrolling animation Change-Id: Iaf124970a60d3f0c2ee7919ac278f2d6ac329e47
* touchscreen: fix some issues/crashes with clicking the list title.Thomas Martitz2012-04-10
| | | | Change-Id: I31adb012ac39f9b27f6b91f5077ed4195ba1dc02
* touchscreen: fix swipe scrolling (jumped back to previous item).Thomas Martitz2012-04-08
| | | | Change-Id: I055a5b19dec1db3ad31212dadc11b0f5056be832
* touchscreen: Rewrite kinetic scrolling using a state machine.Thomas Martitz2012-04-08
| | | | | | | | | | | The old code was very confusing. The scrolling modes need to be handled differently, thus a state machine makes sense. Should fix numerious glitches and be easier to maintain. NOTE: Behavior is still a bit glitchy with an SBS in use, because the skin engine sees the touch events earlier than the list code. Change-Id: I4ccead359c81de0d0fc3dea636fe2cb3a28d1bc6
* touchscreen: Fix kinetic scrolling when the statusbar is off.Thomas Martitz2012-04-05
| | | | | | | | | | | The scrolling code cannot differentiate between the BUTTON_TOUCHSCREEN post from normal touches and the one posted in the timeout callback. To fix introduce a global special button (BUTTON_REDRAW) that results in the desired redraw. This existed already as a local kludge for android and is now generalized. Change-Id: I6bfa6c66431c48f5042fcd8fce2ea72cd3457f58
* quickscreen: optionally display the shortcuts menu instead of the QSJonathan Gordon2012-03-28
| | | | | | | | | | | Adds an option under settings > general settings > system to allow the user to have the shortcuts menu displayed instead of the quick screen. (option is "shortcuts instead of quickscreen" in the .cfg) Change-Id: Id679b461c40ac617629422736d1509384364084d Reviewed-on: http://gerrit.rockbox.org/199 Reviewed-by: Marek Salaba <marek.salaba@gmail.com> Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
* skin_engine: Allow negative numbers for the start offset in %ssJonathan Gordon2012-03-27
| | | | | | i.e %ss(-1, -, %ia) will get the last letter in the %ia tag Change-Id: I6b2764d30c072b549e7424fc6e847ec48850b46a
* skin_engine: fix scrolling lines with dynamic contentJonathan Gordon2012-03-26
| | | | Change-Id: If85220c8b59123814e0e6b1a3b8e00c981271021
* Redraw simplelist if/when necessary-Thomas Martitz2012-03-22
| | | | Change-Id: I14a1cce8967af60a52d2d13e0b035b71fece8a63
* Fix FS#12606 - next track can cause the screen to be clearedJonathan Gordon2012-03-20
| | | | | | | | | | | | | This is a bit of a hack. We now trigger an event when the skin engine is doing a full redraw (which means fullscreen clear) before the lcd_update() to give the current screen a chance to redraw to avoid the screen flicker. This commit fixes the issue for screens which are entirely the list widget (i.e browser and menus), other screens will need aditional fixes (i.e quickscreen, time&date screen) Change-Id: I3725c51518be724ce7aacee9877663c2de6866fa
* skin_engine: Reenable skin debugging in the sim (use --debugwps)Jonathan Gordon2012-03-15
| | | | Change-Id: I2881edda45cd3ea69f5284d93bc93c47bb63b3f2
* Fix compile errorsJonathan Gordon2012-03-15
| | | | Change-Id: Ic985bf57da04847bff716ee41db8f107100ff95b
* skin_engine: New tag to draw a rectangle (optionally with a gradient)Jonathan Gordon2012-03-15
| | | | | | | | | | | %dr(x, y, width, height, [colour1[, colour2]]): x,y - viewport relative pixel coordinates to start the rectangle. width, height - obvious. can be '-' to fill the viewport if both colours are left out the viewports foreground colour will be used if one colour is specified it will fill the rectangle that colour. if both colours are specified it will gradient fill the rectangle. Change-Id: Iad451e99ded663bc7c5d182443659db7d909b388
* Revert "Fix FS#12606 - next track can cause the screen to be cleared"Jonathan Gordon2012-03-15
| | | | This reverts commit cb9bc3bbc8a66c3d5296bfbc68f4487c39c6ac68.
* Fix FS#12606 - next track can cause the screen to be clearedJonathan Gordon2012-03-14
| | | | | | | | | | | | | This is a bit of a hack. We now trigger an event when the skin engine is doing a full redraw (which means fullscreen clear) before the lcd_update() to give the current screen a chance to redraw to avoid the screen flicker. This commit fixes the issue for screens which are entirely the list widget (i.e browser and menus), other screens will need aditional fixes (i.e quickscreen, time&date screen) Change-Id: I3ffdcd8ccad2c663732f8d5983049c837de00fe5
* Add new actions to %Tp (Touchscreen areas)Osborne Jacobs2012-03-13
| | | | | | | | | | | | | | | Add the following actions to %Tp: createbookmark create a new bookmark from the wps listbookmarks list bookmarks from the wps trackinfo show track info from the wps My main motivation was to allow bookmarking and jumping around audio books from the wps on touch enabled targets. You can do it now through the context menu but it requires 4 screen presses instead of 1. Change-Id: I1fa1bf0064dfd22b897eca7c56acc1ce8956f14c Reviewed-on: http://gerrit.rockbox.org/171 Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
* Make %LC and %LR always have predictable and usable values.Frank Gevaerts2012-03-01
| | | | | | | %LC is now 1 for non-tiled list items (instead of undefined) %LC and %LR are now -1 in non-list contexts. Change-Id: Ib7090429fa95528bd141d3d7ca95fd917b25b96e
* Call skinlist_set_cfg() unconditionally, i.e. also if do_refresh==falseFrank Gevaerts2012-02-29
| | | | | | | | | | | | This call is cheap (except if the list config changes, but then it should be called anyway), and do_refresh isn't always set appropriately, e.g. when the screen has just changed, which could cause the list config to be null at bad times, which caused the standard list to be shown instead of the desired skinned list. Change-Id: I47dd2552d6d1062456ede4529c4891e80a8159ea Reviewed-on: http://gerrit.rockbox.org/113 Reviewed-by: Frank Gevaerts <frank@gevaerts.be>
* fix warningJonathan Gordon2012-02-29
| | | | Change-Id: Iccadc7558b9ffb2d87e5bc7697080dd567f4775f
* skin_engine: ease the restrictions on %x/%xlJonathan Gordon2012-02-29
| | | | | | | | | %x and %xl only require the id and filename now. If you leave off the x,y it will default to 0,0. If you want to use the default x,y you can still put in the num_subimages param on the end (e.g %xl(a, file, 3) ) Change-Id: I8eff793dfdd037e302ace8deec9dc16dcea264a7
* skin_engine: Clean up %x() handling - beware theme issuesJonathan Gordon2012-02-28
| | | | | | | | | Internally remove some hacks around how %x() is handled. %x() inside the default viewport will no longer work if other viewports are used, so if you are using viewports and %x() make sure it is in a viewport! Change-Id: I8ecab805d55fc0f8476ff0516cba38e23400aa20
* Fix build errorsJonathan Gordon2012-02-28
| | | | Change-Id: Ie46e807799034af2a025c607a76e17c50c5b613e
* lcd/skin_engine: Add the ability to draw onto the backdrop layerJonathan Gordon2012-02-28
| | | | | | | | | | | | | | The framebuffer the lcd driver uses can now be changed on the fly which means that regular lcd_* drawing functions can draw onto the "backdrop" buffer. The skin engine can use this to create layered effects. Add the tag %VB to a viewport to draw that viewport onto the backdrop layer. If you want to draw an image onto the backdrop framebuffer use %x(backdrop filename) instead of %X() inside a viewport with %VB. Change-Id: I741498e2af6d4f2d78932cabe8942317893e7cfc