Commit graph

251 commits

Author SHA1 Message Date
Thomas Martitz
98591a2815 menus: Stop scrolling before entering the USB screen or remnants of the previous list could appear on it.
Change-Id: I2753c239ef787e0a6af64c3d9c5bdeb26326a9d0
2014-01-16 00:25:40 +01:00
Rafaël Carré
65bb8e4452 Remove extraneous parens 2012-05-06 23:13:34 -04:00
Thomas Martitz
fab7264b3b Force settings touchscreen mode in menus.
Plugins revert to grid mode currently. If they create a list the list ends
up in grid mode as well even if they use point mode due to settings in the core.
The expectation is that the lists use whatever mode they also use in the core.

Force setting in menu to have them behave the same in core and plugins.

Change-Id: I9534b2f21ccfa920eb2e48f66b04ecbda7a59011
2012-01-27 09:15:05 +01:00
Jonathan Gordon
eb2ea7f9ad keyclick: Add a callback so screens can cancel a click. Add a generic list callback to stop clicks when we are at the end of the list
Change-Id: Iabb44a861dd7506cd883c1bdb0241303fa646746
2012-01-12 22:28:36 +11:00
Jonathan Gordon
101693fd30 FS#12251 - User shortcuts in the main menu.
Custom shortcuts which give the user fast access to regularly used files/folders/settings/whatever.
Thanks to Alexander Levin for the manual part of the patch

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30990 a1c6a512-1295-4272-9138-f99709370657
2011-11-15 13:22:02 +00:00
Björn Stenberg
0942e2a0f7 Changed the FOR_NB_SCREENS macro to always be a for loop that declares its own loop variable. This removes the need to declare this variable in the outer scope.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30756 a1c6a512-1295-4272-9138-f99709370657
2011-10-15 19:35:02 +00:00
Jonathan Gordon
b58d3656d7 FS#11925 - Add a proper system to keep track of the current screen/activity to make %cs far more useful
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29944 a1c6a512-1295-4272-9138-f99709370657
2011-06-01 14:41:49 +00:00
Thomas Martitz
89a4cf2693 Change the way how playlists and system menu items in the main menu are internally invoked so that the mechanism to
pass the back button press to the android system (to let it go to the home screen) works for them.
This fixes that the back button goes still to the home screen after entering these items.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29157 a1c6a512-1295-4272-9138-f99709370657
2011-01-29 01:01:12 +00:00
Thomas Martitz
49f1ec8e8a Add support multimedia keys/buttons to the core, and adapt Rockbox on android for it (multimedia buttons are found on wired headsets and the lock screen in cyanogenmod).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28421 a1c6a512-1295-4272-9138-f99709370657
2010-10-31 15:32:57 +00:00
Michael Chicoine
c0c7c8e7c0 fix menu screen title bug - patch by Teru
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28391 a1c6a512-1295-4272-9138-f99709370657
2010-10-30 09:38:26 +00:00
Rafaël Carré
53ac2ca831 do_setting_from_menu(): remove write-only variables
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28136 a1c6a512-1295-4272-9138-f99709370657
2010-09-21 09:04:22 +00:00
Thomas Martitz
2113e22c46 Correct flawed search&replace.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27747 a1c6a512-1295-4272-9138-f99709370657
2010-08-07 21:37:55 +00:00
Thomas Martitz
ca4439ff65 Android port: handle incoming calls.
Stop explicitely if a call comes in, and resume playback (if it was playing before the call) upon hang up.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27746 a1c6a512-1295-4272-9138-f99709370657
2010-08-07 21:30:22 +00:00
Teruaki Kawashima
b1f5e5688c do not redraw menu when exiting the menu.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27383 a1c6a512-1295-4272-9138-f99709370657
2010-07-11 14:04:34 +00:00
Jeffrey Goode
1ad76ff25b FS#11250: Hotkey setting method changed to menu item vs button pres in context menu. Manuals updated to match.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25905 a1c6a512-1295-4272-9138-f99709370657
2010-05-09 02:02:51 +00:00
Jeffrey Goode
227e619bbf Fix hotkey select behavior, ignore selection if menu item is not hotkeyable. Will not exit the context menu now
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25877 a1c6a512-1295-4272-9138-f99709370657
2010-05-07 15:03:44 +00:00
Jeffrey Goode
2ccb83dd80 Fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25876 a1c6a512-1295-4272-9138-f99709370657
2010-05-07 14:53:06 +00:00
Jeffrey Goode
16e0c5730d Hotkey menu items have their own icon
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25866 a1c6a512-1295-4272-9138-f99709370657
2010-05-07 03:21:12 +00:00
Jeffrey Goode
d5e6bc7a8c FS#11081 - Hotkey patch. Many targets supported, but some keymaps need work before they can be switched on
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25414 a1c6a512-1295-4272-9138-f99709370657
2010-04-01 03:14:44 +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
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
Thomas Martitz
5629d551d7 Accept the last patch FS#10797 with a few changes by me (fixing side effects and adding the new backdrop_hide() to the multi screen api). It changes the hide_bars parameter to mean hide_theme.
This makes plugins show the menu backdrop in their backdrop so that they don't look like crap if you have an sbs and look more integrated. I've test about all plugins and all work fine.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24335 a1c6a512-1295-4272-9138-f99709370657
2010-01-26 20:14:42 +00:00
Jonathan Gordon
9d1832cfba fix FS#10870 - slightly change the viewportmanager theme undo-er to be able to force an update even if the theme isnt being toggled from off to on which caused WPS artifacts when leaving the WPS if the theme was enabled
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24087 a1c6a512-1295-4272-9138-f99709370657
2009-12-21 05:19:12 +00:00
Jonathan Gordon
c6352b355c only stop scrolling in the menu's viewport not the whole display (Fixes scrolling lines in sbs's being stopped when moving around menus)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24038 a1c6a512-1295-4272-9138-f99709370657
2009-12-17 07:52:03 +00:00
Jonathan Gordon
9ca03c74fb code police and make do_menu() obey the hide_bars param which was never meant to be removed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24037 a1c6a512-1295-4272-9138-f99709370657
2009-12-17 07:47:08 +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
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
e454a39852 Quickscreen: 4th item
This adds a 4th top item to the quickscreen. It's as configurable as the existing three items.
This patch goes along with optimisations for small screens for better displaying of all four items. 14px font is very usable on a 64px height display for example.
Left and Top items go through the items in the opposite direction, so that you can mirror a setting and toggle through it in both directions.
Default item is party mode, as it's target independant.

Flyspray: FS#9706

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22532 a1c6a512-1295-4272-9138-f99709370657
2009-08-29 14:42:03 +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
47608e06b3 fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22432 a1c6a512-1295-4272-9138-f99709370657
2009-08-19 22:15:45 +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
Teruaki Kawashima
f495488b08 fix forcing scrolling title like "Scroll Speed Setting Example".
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22081 a1c6a512-1295-4272-9138-f99709370657
2009-07-29 13:35:00 +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
Andrew Mahone
1bc67c81b6 Fix type mismatch warnings and errors exposed when building with EABI toolchain.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21769 a1c6a512-1295-4272-9138-f99709370657
2009-07-11 00:22:26 +00:00
Johannes Schwarz
73d25744fb FS#10283 simplify plugins' menus by using stringlist with callback (by Teruaki Kawashima - some minor changes by myself)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21523 a1c6a512-1295-4272-9138-f99709370657
2009-06-26 17:59:33 +00:00
Thomas Martitz
85d8e95e55 Fix typo in comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21278 a1c6a512-1295-4272-9138-f99709370657
2009-06-13 18:24:07 +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
Bertrik Sikken
d4d121538d Remove unnecessary #include "backlight.h"
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20790 a1c6a512-1295-4272-9138-f99709370657
2009-04-25 21:32:55 +00:00
Steve Bavin
f14999e0b9 Fix redraw sequence when exiting a setting menu, so splashes work properly - see FS#9994.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20281 a1c6a512-1295-4272-9138-f99709370657
2009-03-10 07:27:13 +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
4b472de39b a few more button/statusbar fixes...
* hopefully fix the last of the plugins which dont handle the enw SYS event.
* fix FS#9750 - WPS's which dont specify (or force the wps on) wernt showing the statusbar at all
* lamp, battery_bench, *_flash button handling fixes
* plugins using the core menu code will again show the statusbar



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19656 a1c6a512-1295-4272-9138-f99709370657
2009-01-03 13:27:19 +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
2c4f40692f revert part of r18933 which fixes FS#9600.
This fix is a bit wasteful, but fine untill the menu starts being called with a parent viewport.
The real fix should be using a callback to notify the menu to reinit its viewports when the theme changes


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19310 a1c6a512-1295-4272-9138-f99709370657
2008-12-03 09:24:33 +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
a22749b5c6 FS#9525 - The list for the quickscreen items chooser turned out to not really be usable so try this instead.
Settings in the menus will now have a context menu where you can reset the setting and if its OK to put it on the quickscreen there will be options there to put it on it.

Also, ban last.fm and cuesheet support settings from the QS


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19013 a1c6a512-1295-4272-9138-f99709370657
2008-11-05 09:30:20 +00:00
Jonathan Gordon
fdd4050bc7 fix some problems with the menu code:
- MENU_FUNC_CHECK_RETVAL has been loosened to return if the function returns non-zero (and passes that return value on as the return value for do_menu(). This is fine for now because only 2 places uses this flag and both return 1.
- when the option screen or a function is called from a menu which doesn't use the full screen viewport the wrong viewport was used (option screen crashed, and returning from the funciton ignored the origional viewport.) This is now changed so (for now) the option screen always gets the full screen viewport and returning from functions shows the menu correctly.

Some time in the future menu items which are functions should be changed to accept a viewport (if they end up drawing). 
When that happens both option screen and the called function should use the menu's parent viewport


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18933 a1c6a512-1295-4272-9138-f99709370657
2008-10-30 07:07:45 +00:00