Commit graph

113 commits

Author SHA1 Message Date
Teruaki Kawashima
08af5d8404 FS#11777: enhancement for rockbox_browse()
* Add struct browse_context to be passed to rockbox_browse.
* Show proper title when selecting e.g. .wps file or .sbs file from the settings menu.
* Add select only mode to rockbox_browse(). when a file is selected, it's path is stored to buffer and the browser exits without 'playing' the file.
this will allow to use the browser in more places to select file including plugins.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28831 a1c6a512-1295-4272-9138-f99709370657
2010-12-14 13:37:58 +00:00
Jonathan Gordon
a41041aeb4 Remote android button handling (again). do the press/unpress more like other targets (i.e correctly). The DPAD is special in that the press/unpress happens too quickly, so always post it with the BUTTON_REL. This means all keymaps using the dpad need to remember it will always have a BUTTON_REL (which also means they cant do repeats, which are impossible anyway).
Also make the back button go back to the OS home from the rockbox main menu

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28475 a1c6a512-1295-4272-9138-f99709370657
2010-11-03 14:34:57 +00:00
Teruaki Kawashima
36cd720e8e do not reset last selected item after leaving the file browser when in root.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28360 a1c6a512-1295-4272-9138-f99709370657
2010-10-25 13:55:34 +00:00
Jonathan Gordon
efbcece07b New setting to control the file browser start location.
Set using the menu item in folder context menus, clear in the filebrowser settings.
    
    Can be abused to start selecting a *file* (or have a folder selected) instead of a starting inside a folder by removing the trailing / in the .cfg
    
    This only affects the file browser when it would open in / before (on boot, or when entereing after backing out of the browser before (*not* when exited with the menu action)



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28206 a1c6a512-1295-4272-9138-f99709370657
2010-10-04 10:34:38 +00:00
Rafaël Carré
21c7b9debb load_plugin_screen(): handle all plugin_load() return values
Fixes crashes when pictureflow returns PLUGIN_GOTO_WPS

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27965 a1c6a512-1295-4272-9138-f99709370657
2010-09-01 14:12:14 +00:00
Thomas Martitz
79798ff5f3 Make getcwd match the posix variant, make get_current_file() behave similar to it and add a few sanity checks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27903 a1c6a512-1295-4272-9138-f99709370657
2010-08-27 10:33:09 +00:00
Thomas Martitz
9c0b2479f7 Rockbox as an application: add get_user_file_path().
For RaaA it evaluates user paths at runtime. For everything but codecs/plugins it will give the path under $HOME/.config/rockbox.org if write access is needed or if the file/folder in question exists there (otherwise it gives /usr/local/share/rockbox).
This allows for installing themes under $HOME as well as having config.cfg and other important files there while installing the application (and default themes) under /usr/local.

On the DAPs it's a no-op, returing /.rockbox directly.

Not converted to use get_user_file_path() are plugins themselves, because RaaA doesn't build plugins yet.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27656 a1c6a512-1295-4272-9138-f99709370657
2010-08-01 16:15:27 +00:00
Jonathan Gordon
c92b2cc16a fix a fun infinite loop when follow playlist is on and you started playback from PF and stopped it inside the WPS
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26718 a1c6a512-1295-4272-9138-f99709370657
2010-06-09 09:41:16 +00:00
Jonathan Gordon
10e24d22c4 rename HAVE_PICTUREFLOW to HAVE_PICTUREFLOW_INTEGRATION to make it more clear what it is needed for
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26716 a1c6a512-1295-4272-9138-f99709370657
2010-06-09 08:51:29 +00:00
Jonathan Gordon
881a5b9759 reclaim most of the delta from the pictureflow commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26715 a1c6a512-1295-4272-9138-f99709370657
2010-06-09 08:14:41 +00:00
Jonathan Gordon
d871ff8cce FS#11270 by Chris Savery - WPS integration for pictureflow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26710 a1c6a512-1295-4272-9138-f99709370657
2010-06-09 04:25:41 +00:00
Frank Gevaerts
a0557b23f0 remane hotswap.* to sdmmc.*. The contents have nothing at all to do with hotswapping things
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26598 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 21:12:16 +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
Thomas Martitz
c19e53654b Playlist Viewer Changes to bring consistency:
- combine its two context menus to one and
- make the ACTION_STD_MENU go to the main menu as it does in all other screens
- call playlist_viewer() via root_menu to reduce call depth and to be consistent with other screens (and for the above changes to be more flexible w.r.t to the following screen)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24791 a1c6a512-1295-4272-9138-f99709370657
2010-02-20 19:06:39 +00:00
Jonathan Gordon
b2eb44ce0e FS#10824 - viewport/statusbar API rework.
Hopefully the only user visible changes are:
- fm and recording screens go by the statusbar setting (sbs or inbuilt)
- plugins go back to using the theme as they should for menus and lists
- splash screens might get cut a bit... entirely theme and splash dependant.. if there is a problematic one we can look at it later.
- hopefully nothing more than very minor screen flickerings... let me know exactly where they are so they can be fixed

New GUI screen rules:
* Screens assume that the theme (sbs+ui viewport+ maybe background image) are always enabled. They may be disabled on a per display basis, but MUST be re-enabled on exit
* Screens must not be coded in a way that requires a statusbar of any type.. the inbuilt bar will be removed shortly.
ALWAYS RESPECT THE USERS SETTINGS unless the screen requires the full display to fit.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23904 a1c6a512-1295-4272-9138-f99709370657
2009-12-09 07:25:46 +00:00
Thomas Martitz
1ecb753668 Redo a hack that precluded entering a folder on an ejected hotswap drive. Use storage api and proper defines for the drive folder instead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23755 a1c6a512-1295-4272-9138-f99709370657
2009-11-26 00:37:27 +00:00
Rafaël Carré
bb9808b8af root_menu() can't return, tell gcc about it
Since it can't return, app_main() can't either, tell gcc about it.

Remove dead archos code (present if root_menu() would return
erroneously), and rename app_main() to main() on target

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23494 a1c6a512-1295-4272-9138-f99709370657
2009-11-03 12:20:54 +00:00
Thomas Martitz
a3f0a45c0f Make next_screen static and add a comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23210 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 19:14:46 +00:00
Thomas Martitz
9072a4558c Add %cs tag.
It can be used conditionally and indicates the current screen (wps, rec, radio screens or lists).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23207 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 19:14:33 +00:00
Tomer Shalev
d7cdd08664 RTL: Add support for DB init message
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23020 a1c6a512-1295-4272-9138-f99709370657
2009-10-08 22:40:38 +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
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
Jonathan Gordon
3e7444ff87 part two of the grand overall wps/skinning engine cleanup work:
* rename wps_engine to skin_engine as that was agreed on
* rename music_screen back to wps
* clean up the skin display/update functions a bit
* make skin_data_load setup the hardcoded default if a skin cant be loaded for whatever reason instead of doing it when it is first displayed

ignore any gui_wps or wps_ or gwps_ nameing in skin_engine/ ... these will be renamed as this work gets finished


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22135 a1c6a512-1295-4272-9138-f99709370657
2009-08-03 04:43:34 +00:00
Thomas Martitz
16a6453842 Don't recalculate the array length during the loop, use the ARRAYLEN macro and correct the type of the variable i.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22130 a1c6a512-1295-4272-9138-f99709370657
2009-08-03 01:42:08 +00:00
Jonathan Gordon
5e5fc64cb2 Start of some apps/ and wps cleanup work... Move everything related to the actual drawing of the wps into apps/gui/wps_engine, things related to the actual screen are in apps/gui/music_screen.c (names are temporary unless noone comes up with anything better)
No real code changes.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22062 a1c6a512-1295-4272-9138-f99709370657
2009-07-27 07:21:05 +00:00
Nils Wallménius
3d4701a6e4 FS#10080
* Move strncpy() from core to the pluginlib
* Introduce strlcpy() and use that instead in most places (use memcpy in a few) in core and some plugins
* Drop strncpy() from the codec api as no codec used it
* Bump codec and plugin api versions


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21863 a1c6a512-1295-4272-9138-f99709370657
2009-07-14 13:57:45 +00:00
Dave Chapman
c4e18f373f Revert r21307 - it was not an agreed change and should never have been committed. See discussion at http://www.rockbox.org/mail/archive/rockbox-dev-archive-2009-06/0175.shtml
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21323 a1c6a512-1295-4272-9138-f99709370657
2009-06-18 07:52:53 +00:00
Jonathan Gordon
2c44b7fd1c For those who dont have the memory of a <Something that has really good memory> show in the main menu that there is nothing to resume to stop the annoying "nothing to resume" splash
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21307 a1c6a512-1295-4272-9138-f99709370657
2009-06-16 05:14:51 +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
ce6b116bc1 Put exiting the wps entirely into the hands of the wps (restoring backdrops and statusbars, stop scrolling). Remove the restoration code from root_menu, and add some gwps_leave_wps at every possible return/screen change. This also unifies exiting the wps code-wise.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20399 a1c6a512-1295-4272-9138-f99709370657
2009-03-19 23:04:39 +00:00
Bertrik Sikken
66cf3a3329 Clean up some #includes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20238 a1c6a512-1295-4272-9138-f99709370657
2009-03-08 16:10:40 +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
b84fe020a5 use the playback PLAYBACK_EVENT_TRACK_CHANGE instead of the WPS to keep track of the current track (for follow playlist)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19747 a1c6a512-1295-4272-9138-f99709370657
2009-01-11 04:03:17 +00:00
Jonathan Gordon
04dcf117a1 revert part of r19705 which caused fS#9773
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19732 a1c6a512-1295-4272-9138-f99709370657
2009-01-09 04:46:28 +00:00
Jonathan Gordon
a68e5d835f remove some useless/unused stuff from gwps.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19705 a1c6a512-1295-4272-9138-f99709370657
2009-01-07 10:57:51 +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
Jonathan Gordon
c7fec13fd8 FS#9173 - move all time/clock related settings in the menus into system > "time & date" (this includes sleep timer, alarm settings)
The time/date dispaly has been moved out of the "rockbox info" screen and into this screen also (only displayed if there is at least 3 lines of text on the screen though)
The time/date is talked in this screen by pressing the usual context-menu button (usually long-select)

Targets without a RTC are not changed (i.e sleep timer isnt moved)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19282 a1c6a512-1295-4272-9138-f99709370657
2008-12-01 09:28:14 +00:00
Jonathan Gordon
825eda1ff9 revert my commit from a few days ago.. It doesnt actually do anything
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18712 a1c6a512-1295-4272-9138-f99709370657
2008-10-05 09:23:16 +00:00
Jonathan Gordon
dfec613bac fix yellow... should also actyually fix the issue...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18688 a1c6a512-1295-4272-9138-f99709370657
2008-10-03 01:25:44 +00:00
Jonathan Gordon
28f1f50ab7 Hopefully fix crashes if the start screen is set to previous and nvram.bin becomes invalid
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18686 a1c6a512-1295-4272-9138-f99709370657
2008-10-03 00:43:09 +00:00
Nils Wallménius
93a87685c3 Clean up use of snprintf where strncpy if suited, avoid useless copying of constant strings for wps token evaluator, minor const police too.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18625 a1c6a512-1295-4272-9138-f99709370657
2008-09-24 20:03:53 +00:00
Nils Wallménius
01729e7a18 FS#9281 Rename of splash functions.
* Remove gui_splash()
* Rename gui_syncsplash() to splashf() and remove its voice 
capabilities.
* Rename the internal splash() to splash_internal() and introduce an 
externally visible splash() that handles simple splashing  without 
printf functionality e.g. splash(HZ, ID2P(LANG_FOO)); or splash(HZ, 
"foo"); if a LANG_* id is passed it will be voiced.
* Adjust all places that called gui_syncsplash() to use the correct 
variant from above.
* Export both new functions to plugins and adjust places calling 
rb->splash() to use the correct variant so that we now have naming 
consistency between the core and plugins.
* Fix one latent bug that would cause my sim to crash with the above 
changes and correct P2STR and P2ID macros, thanks to pondlife.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18282 a1c6a512-1295-4272-9138-f99709370657
2008-08-15 08:27:39 +00:00
Bertrik Sikken
dff382cb9c Make a couple of locally used callbacks static
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18067 a1c6a512-1295-4272-9138-f99709370657
2008-07-16 12:10:49 +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
Steve Bavin
5f8bd63cba FS#9019 - Tidied up WPS context menu. Moved playlist to the top, added Playback Settings optiona and removed duplicate options.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17603 a1c6a512-1295-4272-9138-f99709370657
2008-05-22 08:02:48 +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
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
Nils Wallménius
33c44461e1 Const police raid, making a lot of pointers to lang strings const and removing some ugly casting
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17251 a1c6a512-1295-4272-9138-f99709370657
2008-04-26 09:30:24 +00:00
Dave Chapman
d746b79317 Remove unnecessary (and incorrect) #ifdefs surrounding #include "backdrop.h", and correct remaining references to HAVE_LCD_REMOTE to HAVE_REMOTE_LCD
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16873 a1c6a512-1295-4272-9138-f99709370657
2008-03-29 01:14:10 +00:00