summaryrefslogtreecommitdiff
path: root/apps/menu.c
AgeCommit message (Collapse)Author
2021-08-10touchscreen: Fix annoying bug when switching touchscreen modesAidan MacDonald
Changing the touchscreen mode in the settings menu required a reboot to fully apply because this code was trying to reapply old settings. This is a hack. IMHO to fix it properly the behavior of touchscreen mode needs to be changed so code that needs a specific mode doesn't need to twiddle global state, but that's a bigger undertaking. Change-Id: I55a46dbed721273ad78cb9df81fe60940665962b
2021-08-03menu.c guard against NULL menu, list, setting pointersWilliam Wilgus
Change-Id: Id45d9ac3b88571cb3927ca29314f997d5cbfd598
2021-05-24Allow Softlock to happen in most contextsDana Conrad
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 Wilgus
maybe someone is checking somewhere but pretty sure the error message is a buffer overflow Change-Id: I3b95db12bbbd4631223bbbbe540beb2d0dd984c6
2021-03-08Shortcuts Menu UpdateWilliam Wilgus
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 Wilgus
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 Wilgus
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 Peachy
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 Peachy
'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 Peachy
This removes all code specific to SH targets Change-Id: I7980523785d2596e65c06430f4638eec74a06061
2020-07-20menu.c fix redraw bugWilliam Wilgus
fix redraw bug added with c39f95465 Change-Id: I9ce232d4b760f20edb6f8274e090d2fd67c8bd78
2020-07-19do_menu pass internal synclist reference to callbackWilliam Wilgus
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 Wilgus
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 Wilgus
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. Poretsky
Change-Id: I8c38d34d04f59090f02f4b7374860ece153a57ce
2014-01-16menus: Stop scrolling before entering the USB screen or remnants of the ↵Thomas Martitz
previous list could appear on it. Change-Id: I2753c239ef787e0a6af64c3d9c5bdeb26326a9d0
2012-05-06Remove extraneous parensRafaël Carré
2012-01-27Force settings touchscreen mode in menus.Thomas Martitz
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 Gordon
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 Gordon
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-10-15Changed the FOR_NB_SCREENS macro to always be a for loop that declares its ↵Björn Stenberg
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-06-01FS#11925 - Add a proper system to keep track of the current screen/activity ↵Jonathan Gordon
to make %cs far more useful git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29944 a1c6a512-1295-4272-9138-f99709370657
2011-01-29Change the way how playlists and system menu items in the main menu are ↵Thomas Martitz
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
2010-10-31Add support multimedia keys/buttons to the core, and adapt Rockbox on ↵Thomas Martitz
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-30fix menu screen title bug - patch by TeruMichael Chicoine
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28391 a1c6a512-1295-4272-9138-f99709370657
2010-09-21do_setting_from_menu(): remove write-only variablesRafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28136 a1c6a512-1295-4272-9138-f99709370657
2010-08-07Correct flawed search&replace.Thomas Martitz
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27747 a1c6a512-1295-4272-9138-f99709370657
2010-08-07Android port: handle incoming calls.Thomas Martitz
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-07-11do not redraw menu when exiting the menu.Teruaki Kawashima
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27383 a1c6a512-1295-4272-9138-f99709370657
2010-05-09FS#11250: Hotkey setting method changed to menu item vs button pres in ↵Jeffrey Goode
context menu. Manuals updated to match. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25905 a1c6a512-1295-4272-9138-f99709370657
2010-05-07Fix hotkey select behavior, ignore selection if menu item is not hotkeyable. ↵Jeffrey Goode
Will not exit the context menu now git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25877 a1c6a512-1295-4272-9138-f99709370657
2010-05-07Fix redJeffrey Goode
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25876 a1c6a512-1295-4272-9138-f99709370657
2010-05-07Hotkey menu items have their own iconJeffrey Goode
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25866 a1c6a512-1295-4272-9138-f99709370657
2010-04-01FS#11081 - Hotkey patch. Many targets supported, but some keymaps need work ↵Jeffrey Goode
before they can be switched on git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25414 a1c6a512-1295-4272-9138-f99709370657
2010-02-262 new tags for the base skin.Jonathan Gordon
%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-11fix text scrolling handling in do_menu, set_time_screen and time_screen.Teruaki Kawashima
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-01-26Accept the last patch FS#10797 with a few changes by me (fixing side effects ↵Thomas Martitz
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
2009-12-21fix FS#10870 - slightly change the viewportmanager theme undo-er to be able ↵Jonathan Gordon
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-17only stop scrolling in the menu's viewport not the whole display (Fixes ↵Jonathan Gordon
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-17code police and make do_menu() obey the hide_bars param which was never ↵Jonathan Gordon
meant to be removed git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24037 a1c6a512-1295-4272-9138-f99709370657
2009-12-16Fix FS#10289 - screens showing a list need to check the show_icons setting ↵Jonathan Gordon
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-09FS#10824 - viewport/statusbar API rework.Jonathan Gordon
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-08-29Quickscreen: 4th itemThomas Martitz
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-20Make the formatter functions used by the settings return a pointer to avoid ↵Nils Wallménius
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-19fix redNils Wallménius
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22432 a1c6a512-1295-4272-9138-f99709370657
2009-08-16User definable UI viewport, to be able to restrict the UI into a viewport ↵Thomas Martitz
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-06Remove some unused #includesBertrik Sikken
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22183 a1c6a512-1295-4272-9138-f99709370657
2009-07-29fix forcing scrolling title like "Scroll Speed Setting Example".Teruaki Kawashima
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22081 a1c6a512-1295-4272-9138-f99709370657
2009-07-27Start of some apps/ and wps cleanup work... Move everything related to the ↵Jonathan Gordon
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-14FS#10080Nils Wallménius
* 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