Commit graph

78 commits

Author SHA1 Message Date
William Wilgus
c39f95465b do_menu pass internal synclist reference to callback
keep running into the rigid nature of do_menu
it isn't too bad when you don't need voice but once
you do the fun awaits

do_menu likes to talk on menu enter which is in a loop when you use do_menu
I would like to move the processing to the callback
TOO BAD you only get an action and the menu_item_ex struct
you sent it when calling the function

Change-Id: Iaefd0cc133435d675b7dd27a558c504d6ccb327a
2020-07-19 22:10:26 +00:00
William Wilgus
10e5e56f3c Bug fix dynamic menus
Dynamic menus had a buffer_len variable in the parent function but it
was discarded before passing to the callbacks

Why!!?? No clue but everything that used it was assuming MAXPATH
Wouldn't be surprised to see some bugs pop out from this one..

init_menu_lists() was assuming MENU_HAS_DESC and setting the
menu title + icon based on such even though it could be invalid
didn't see anywhere in the code that was currently using MENU_DYNAMIC_DESC
in relation to a top level menu but considering it caused all kinds
of corruption to the menu when I tried its probably been tried
and abandoned before...

Change-Id: I8d961d748918bfa8ea6adb5ad60491af4d739d6e
2019-09-20 03:07:29 -05:00
William Wilgus
dd40c46d50 Fix menu warnings
change offending bool return to int

warning: cast between incompatible function types from
'_Bool (*)(void)' to 'int (*)(void)' [-Wcast-function-type]

forgot to remove -- typedef int (*menu_function)(void);

Change-Id: Ie4c8d3ddb0fb7843c4ec584203350d658d6bee3e
2018-10-18 00:06:31 +02: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
Thomas Martitz
a453bee2fa Remake the sleep timer menu item, so that selecting it while the timer is running
just cancels that one (displayed text is changed accordingly and
displays te remaining time).
Selecting it again allows to set a new time.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30778 a1c6a512-1295-4272-9138-f99709370657
2011-10-17 18:57:44 +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
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
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
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
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
fe9dca3d5b option_screen() now accepts a viewport
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17223 a1c6a512-1295-4272-9138-f99709370657
2008-04-23 11:07:40 +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
Stéphane Doyon
5acf091046 Add a voice callback to dynamic menus, along side the text_callback.
From FS#7563.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15042 a1c6a512-1295-4272-9138-f99709370657
2007-10-09 03:48:56 +00:00
Jonathan Gordon
b85817a5ba Update some comments in menu.h to be hopefully more helpful.
Fix all the wrong usage of rb->do_menu() (my fault, sorry)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13439 a1c6a512-1295-4272-9138-f99709370657
2007-05-20 08:26:27 +00:00
Jonathan Gordon
77a458a464 Move the old api out of the core and into the plugin lib.
ew plugins shuold use the new api and not this one.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13358 a1c6a512-1295-4272-9138-f99709370657
2007-05-08 11:55:43 +00:00
Jonathan Gordon
26ff697480 clean up and fix comments. no actual code change
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13297 a1c6a512-1295-4272-9138-f99709370657
2007-05-01 11:01:53 +00:00
Jonathan Gordon
3a7760c3e2 Convert onplay.c to the new manu API. only plugins are still using the old API now
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13294 a1c6a512-1295-4272-9138-f99709370657
2007-04-30 13:41:33 +00:00
Jonathan Gordon
21b415df56 Give all menus using the old API a nice title and icons (except plugins)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13068 a1c6a512-1295-4272-9138-f99709370657
2007-04-08 05:52:47 +00:00
Jonathan Gordon
91e726a1c1 Move all valid menu return codes to a single file (root_menu.h) so we don't need to rely on GO_TO_ROOT == MENU_ATTACHED_USB.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12937 a1c6a512-1295-4272-9138-f99709370657
2007-03-27 06:38:11 +00:00
Jonathan Gordon
1f5ee2a366 convert the xobox menu to the new API so it can be used as an example for plugin devs
Includes some fixes in the api to handle this.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12907 a1c6a512-1295-4272-9138-f99709370657
2007-03-25 14:31:56 +00:00
Jonathan Gordon
e54d8e1388 Remove the exit_value variable.. set the MENU_FUNC_CHECK_RETVAL fla and
return 1 if you want your funciton to quit the menus.
save settings after clearing the background so it persists


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12827 a1c6a512-1295-4272-9138-f99709370657
2007-03-18 07:03:43 +00:00
Jonathan Gordon
b5e587c081 Fix improper shift and mask order causing FS#6842
Set start_selected if exiting do_menu() early from more places


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12826 a1c6a512-1295-4272-9138-f99709370657
2007-03-18 06:31:33 +00:00
Jonathan Gordon
daf66940b1 Unify the way functions are called from menus.
Optionally, the functions return value can be checked for a value to 
tell the menu to quit.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12821 a1c6a512-1295-4272-9138-f99709370657
2007-03-17 12:33:34 +00:00
Jonathan Gordon
3452146217 Make the old menu aPI use the new API. Both are avialable to core and
rocks, but use the new API unless you absolutly have to use the old one 
(and file a FS bug if you do)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12670 a1c6a512-1295-4272-9138-f99709370657
2007-03-07 13:00:46 +00:00
Jonathan Gordon
97090863a6 Allow settings to have a different title in the setting screen than they
have in the menu.
Fixes the scroll speed/step settings


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12572 a1c6a512-1295-4272-9138-f99709370657
2007-03-03 14:23:03 +00:00
Jonathan Gordon
02a871780f Remove the need to double up the MENU macros in manu.h.
Icons are now used by their id which must be part of the icons_6x8 enum, 
or Icon_NOICON for none


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12571 a1c6a512-1295-4272-9138-f99709370657
2007-03-03 13:52:14 +00:00
Jonathan Gordon
91cb68a1fb Introducing the root menu!
Blind users: get a new voice file as there are lots of lang changes and new strings.
FS#6630 or RootMenu on the wiki for more info. complaints to /dev/null :)



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12528 a1c6a512-1295-4272-9138-f99709370657
2007-03-01 11:14:46 +00:00
Jonathan Gordon
8ca99d3288 Code Police: Remove tabs throught apps/ . Hopefully no actual code
change


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12504 a1c6a512-1295-4272-9138-f99709370657
2007-02-27 11:09:09 +00:00
Jonathan Gordon
2801a87d54 Convert the EQ menus
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12398 a1c6a512-1295-4272-9138-f99709370657
2007-02-19 02:14:51 +00:00
Jonathan Gordon
5599d6806d Icons in the menus. Thanks midkay for them.
Any menus which dont yet show them are not converted to the new system.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12300 a1c6a512-1295-4272-9138-f99709370657
2007-02-14 06:58:30 +00:00
Jonathan Gordon
37d246ab4b Comment the macros a bit, no actual code change
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12271 a1c6a512-1295-4272-9138-f99709370657
2007-02-11 10:31:50 +00:00
Jonathan Gordon
ee430acdc5 fix typo which causes the macro to cause compile errors
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12257 a1c6a512-1295-4272-9138-f99709370657
2007-02-10 13:39:47 +00:00
Jonathan Gordon
4718a1e752 beginning of the new menu system. This commit shouldnt break anything,
but comming ones might.. report bugs in 
http://forums.rockbox.org/index.php?topic=8703.0 and more info at 
http://www.rockbox.org/twiki/bin/view/Main/SettingsRecode


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12227 a1c6a512-1295-4272-9138-f99709370657
2007-02-08 04:33:41 +00:00
Jens Arnold
780f79e7a4 Removed the Gmini 120 and Gmini SP code. These ports are dead, unfortunately.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11504 a1c6a512-1295-4272-9138-f99709370657
2006-11-10 20:26:01 +00:00
Daniel Stenberg
1e88be518a Barry Wardell's keymappings for H10
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10446 a1c6a512-1295-4272-9138-f99709370657
2006-08-03 20:17:25 +00:00
Linus Nielsen Feltzing
b322af265e iAudio X5: Allow joystick SELECT in menus
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9952 a1c6a512-1295-4272-9138-f99709370657
2006-05-17 06:41:26 +00:00
Marcoen Hirschberg
338e2bbb0c first gigabeat commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8831 a1c6a512-1295-4272-9138-f99709370657
2006-02-24 15:42:52 +00:00
Linus Nielsen Feltzing
568ac3eb21 Button driver for iAudio X5
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8828 a1c6a512-1295-4272-9138-f99709370657
2006-02-24 15:06:25 +00:00
Dave Chapman
cbfe90e4ab Use the iPod 4G button mappings for the iPod 3G as well (at least for now)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8591 a1c6a512-1295-4272-9138-f99709370657
2006-02-05 21:18:19 +00:00
Dave Chapman
20debbfa5d iPod: Fix some button-mapping bugs and inconsistencies
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8531 a1c6a512-1295-4272-9138-f99709370657
2006-02-02 12:14:23 +00:00
Daniel Stenberg
cedba8830f Matt v.d. Westhuizen's iAudio X5 keypad adjustments
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8366 a1c6a512-1295-4272-9138-f99709370657
2006-01-18 11:09:06 +00:00
Dave Chapman
d83e929f3f Work-in-progress iriver iFP-7xx port by Tomasz Malesinski
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8342 a1c6a512-1295-4272-9138-f99709370657
2006-01-12 00:35:50 +00:00
Dave Chapman
0dc63c1b71 Remove IPOD_NANO_PAD definition - the Nano's keypad has turned out to be identical to the other 4G models
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8262 a1c6a512-1295-4272-9138-f99709370657
2005-12-19 00:11:28 +00:00
Dave Chapman
64e5239b4c iPod: Add placeholder button definitions - these need reviewing when the button usage for the iPod is decided
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7830 a1c6a512-1295-4272-9138-f99709370657
2005-11-12 16:07:17 +00:00
Kevin Ferrare
c43822d102 Fixed a bug whith the multi-screen menus : when entering / leaving a menu, the selected item was not voiced
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7739 a1c6a512-1295-4272-9138-f99709370657
2005-11-03 11:56:21 +00:00
Kevin Ferrare
b83dc3861e Corrected a small bug about status bar not refreshing the clock in menus on archos, added some H1x0 remote key bindings (thanks Stephan Wezel for the patch ! )
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7698 a1c6a512-1295-4272-9138-f99709370657
2005-10-31 18:38:48 +00:00
Kevin Ferrare
db8415c99e Partial menus support on remote (only browsing is working, changing option isn't), corrected a bug in gui_list about scrollbar beeing displayed sometimes when it musn't
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7693 a1c6a512-1295-4272-9138-f99709370657
2005-10-30 22:34:51 +00:00
Linus Nielsen Feltzing
6c2af7c2aa On popular demand, the arrow cursor is reintroduced
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7438 a1c6a512-1295-4272-9138-f99709370657
2005-09-01 08:04:37 +00:00
Linus Nielsen Feltzing
f43216ff0b Removed the line selector option, it is now always an inverse bar (except for the Player/Studio of course)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7423 a1c6a512-1295-4272-9138-f99709370657
2005-08-30 11:10:08 +00:00
Daniel Stenberg
01377e2e57 Hristo Kovachev's keypad fixes for the H300 build
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6912 a1c6a512-1295-4272-9138-f99709370657
2005-06-29 12:47:24 +00:00