path: root/apps/menu.c
AgeCommit message (Collapse)AuthorFilesLines
2021-05-24Allow Softlock to happen in most contextsDana Conrad1-1/+1
All this tested on erosq, I'm not sure if this will break on other targets or if there is a reason this shouldn't be done. apps/menu.c: Added CONTEXT_MAINMENU|ALLOW_SOFTLOCK in do_menu(), this allows the user to lock the keys in most places within the main menu tree. apps/tree.c: Added CONTEXT_TREE|ALLOW_SOFTLOCK in dirbrowse(), this allows locking the keys in most other contexts not covered by the above. Notable exceptions I've found that still cannot be locked: View Playlist, any settings change screen (ex. Shuffle No/Yes, Volume Select dB) Adding fix for Advanced Key Lock feature brought to light by this change in apps/action.c. Expected behavior for Advanced keylock is now (according to my testing here): Volume: Can be exempted from keylock anywhere Skip/Scrollwheel: Can only be exempted in WPS Seek: Can only be exempted in WPS Play: Can only be exempted in WPS Backlight exemption is same except the Volume exemption doesn't work outside the WPS, but I don't believe that is due to this change. Change-Id: Ifa3d1a03cf4884520a37dd91ed53a825cdb66778
2021-04-07menu.c submenu items should be limited to MAX_MENU_SUBITEMSWilliam Wilgus1-1/+3
maybe someone is checking somewhere but pretty sure the error message is a buffer overflow Change-Id: I3b95db12bbbd4631223bbbbe540beb2d0dd984c6
2021-03-08Shortcuts Menu UpdateWilliam Wilgus1-0/+1
Change Browser shortcut to the plugin icon drop back into WPS on opx return allow same action to exit shortcut menu as entered -- might be problematic Change-Id: Id7013a514c8e8862ee1da44b033d10b7519e9127
2021-03-07Shortcuts.c -- UpdateWilliam Wilgus1-1/+7
Fix returns from shortcuts -- should now run plugins Fix formatting of file names to remove path from browser shortcuts Change-Id: I46e337110d04b84bedcb0c2945d5dd29a1860847
2020-07-27Do_menu allow VOICE_ONLY stringsWilliam Wilgus1-2/+11
Enable Voice_Blank and other Voice only LANG_IDs to be used in menus Change-Id: I3432ed00963617e9f92cd52228bf00e0a776523a
2020-07-24[4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice.Solomon Peachy1-10/+1
Note: I left behind lcd_bitmap in features.txt, because removing it would require considerable work in the manual and the translations. Change-Id: Ia8ca7761f610d9332a0d22a7d189775fb15ec88a
2020-07-24[3/4] Completely remove HWCODEC supportSolomon Peachy1-2/+0
'swcodec' is now always set (and recording_swcodec for recording-capable units) in feature.txt so the manual and language strings don't need to all be fixed up. Change-Id: Ib2c9d5d157af8d33653e2d4b4a12881b9aa6ddb0
2020-07-24[1/4] Remove SH support and all archos targetsSolomon Peachy1-34/+0
This removes all code specific to SH targets Change-Id: I7980523785d2596e65c06430f4638eec74a06061
2020-07-20menu.c fix redraw bugWilliam Wilgus1-5/+5
fix redraw bug added with c39f95465 Change-Id: I9ce232d4b760f20edb6f8274e090d2fd67c8bd78
2020-07-19do_menu pass internal synclist reference to callbackWilliam Wilgus1-9/+11
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
2019-09-20Bug fix menu -- generalWilliam Wilgus1-11/+30
Several places in the menu code assume MT_MENU though no guarantee existed menu type is now explicitly checked prior to use of the submenu variable Change-Id: Ib9013684309eb2d4cf4a8a809d097b096d3fcffc
2019-09-20Bug fix dynamic menusWilliam Wilgus1-9/+28
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-08-20Save and apply settings after resetting settings in menu.Igor B. Poretsky1-0/+2
Change-Id: I8c38d34d04f59090f02f4b7374860ece153a57ce
2014-01-16menus: Stop scrolling before entering the USB screen or remnants of the ↵Thomas Martitz1-0/+4
previous list could appear on it. Change-Id: I2753c239ef787e0a6af64c3d9c5bdeb26326a9d0
2012-05-06Remove extraneous parensRafaël Carré1-1/+1
2012-01-27Force settings touchscreen mode in menus.Thomas Martitz1-0/+12
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-12keyclick: Add a callback so screens can cancel a click. Add a generic list ↵Jonathan Gordon1-0/+3
callback to stop clicks when we are at the end of the list Change-Id: Iabb44a861dd7506cd883c1bdb0241303fa646746
2011-11-15FS#12251 - User shortcuts in the main menu.Jonathan Gordon1-13/+25
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:// a1c6a512-1295-4272-9138-f99709370657
2011-10-15Changed the FOR_NB_SCREENS macro to always be a for loop that declares its ↵Björn Stenberg1-1/+1
own loop variable. This removes the need to declare this variable in the outer scope. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-06-01FS#11925 - Add a proper system to keep track of the current screen/activity ↵Jonathan Gordon1-1/+0
to make %cs far more useful git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-01-29Change the way how playlists and system menu items in the main menu are ↵Thomas Martitz1-4/+1
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:// a1c6a512-1295-4272-9138-f99709370657
2010-10-31Add support multimedia keys/buttons to the core, and adapt Rockbox on ↵Thomas Martitz1-3/+13
android for it (multimedia buttons are found on wired headsets and the lock screen in cyanogenmod). git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-10-30fix menu screen title bug - patch by TeruMichael Chicoine1-0/+5
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-09-21do_setting_from_menu(): remove write-only variablesRafaël Carré1-12/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-08-07Correct flawed search&replace.Thomas Martitz1-4/+4
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-08-07Android port: handle incoming calls.Thomas Martitz1-2/+11
Stop explicitely if a call comes in, and resume playback (if it was playing before the call) upon hang up. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-07-11do not redraw menu when exiting the menu.Teruaki Kawashima1-11/+5
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-05-09FS#11250: Hotkey setting method changed to menu item vs button pres in ↵Jeffrey Goode1-22/+0
context menu. Manuals updated to match. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-05-07Fix hotkey select behavior, ignore selection if menu item is not hotkeyable. ↵Jeffrey Goode1-4/+9
Will not exit the context menu now git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-05-07Fix redJeffrey Goode1-5/+0
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-05-07Hotkey menu items have their own iconJeffrey Goode1-0/+5
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-04-01FS#11081 - Hotkey patch. Many targets supported, but some keymaps need work ↵Jeffrey Goode1-0/+17
before they can be switched on git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-02-262 new tags for the base skin.Jonathan Gordon1-1/+3
%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:// a1c6a512-1295-4272-9138-f99709370657
2010-02-11fix text scrolling handling in do_menu, set_time_screen and time_screen.Teruaki Kawashima1-38/+28
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:// a1c6a512-1295-4272-9138-f99709370657
2010-01-26Accept the last patch FS#10797 with a few changes by me (fixing side effects ↵Thomas Martitz1-7/+7
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:// a1c6a512-1295-4272-9138-f99709370657
2009-12-21fix FS#10870 - slightly change the viewportmanager theme undo-er to be able ↵Jonathan Gordon1-1/+1
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:// a1c6a512-1295-4272-9138-f99709370657
2009-12-17only stop scrolling in the menu's viewport not the whole display (Fixes ↵Jonathan Gordon1-2/+2
scrolling lines in sbs's being stopped when moving around menus) git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-12-17code police and make do_menu() obey the hide_bars param which was never ↵Jonathan Gordon1-2/+2
meant to be removed git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-12-16Fix FS#10289 - screens showing a list need to check the show_icons setting ↵Jonathan Gordon1-1/+1
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:// a1c6a512-1295-4272-9138-f99709370657
2009-12-09FS#10824 - viewport/statusbar API rework.Jonathan Gordon1-3/+4
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:// a1c6a512-1295-4272-9138-f99709370657
2009-08-29Quickscreen: 4th itemThomas Martitz1-3/+7
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:// a1c6a512-1295-4272-9138-f99709370657
2009-08-20Make the formatter functions used by the settings return a pointer to avoid ↵Nils Wallménius1-5/+5
usless copying of lang strings, this brought with it a long chain of const correctness and a few random cleanups git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-08-19fix redNils Wallménius1-0/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-08-16User definable UI viewport, to be able to restrict the UI into a viewport ↵Thomas Martitz1-2/+2
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:// a1c6a512-1295-4272-9138-f99709370657
2009-08-06Remove some unused #includesBertrik Sikken1-1/+0
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-07-29fix forcing scrolling title like "Scroll Speed Setting Example".Teruaki Kawashima1-2/+2
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-07-27Start of some apps/ and wps cleanup work... Move everything related to the ↵Jonathan Gordon1-1/+0
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:// a1c6a512-1295-4272-9138-f99709370657
2009-07-14FS#10080Nils Wallménius1-1/+1
* 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:// a1c6a512-1295-4272-9138-f99709370657
2009-07-11Fix type mismatch warnings and errors exposed when building with EABI toolchain.Andrew Mahone1-1/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-06-26FS#10283 simplify plugins' menus by using stringlist with callback (by ↵Johannes Schwarz1-1/+2
Teruaki Kawashima - some minor changes by myself) git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657