summaryrefslogtreecommitdiffstats
path: root/gui/listbox.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-03-20Use listbox for device-specific advanced menu itemsEthan Yonker1-1/+3
This patch allows items to have more than one action surrounded by the <actions> tags like other GUI elements. The patch also adds new twrp command line options that let you reload the theme and switch to a specific page from the command line: adb shell twrp reloadtheme adb shell twrp changepage=advanced Change-Id: I838ea380a508be07b9fa617034d1954e116febd6
2017-01-18Whitespace cleanupMatt Mower1-2/+2
Change-Id: I93c65973679894bb8587da4b38b410d38036b8bd
2016-01-27Update minuitwrp graphics in line with latest minuiEthan Yonker1-1/+1
Note: events.cpp is still old code renamed to cpp to make it easier to call functions like gr_fb_width(). I had to modify AOSP fbdev code to provide a separate memory surface for drawing to as drawing directly to the framebuffer resulted in rendering taking about 5 times longer. I also modified AOSP adf code to provide a separate memory surface for drawing for the same performance reasons. The Nexus 9 supports adf graphics. Overlay graphics work on at least one device. Overlay provides a separate memory buffer already so performance is good. I do not have a drm device yet that I know of. I made some attempt to update the drm code to determine the correct pixel format based on the drm graphics format, but what is available in pixel flinger and what is available in drm do not line up all that well. Reports are that the Pixel C is using drm graphics, but performance is slow, likely due to the use of a mmap instead of a memory buffyer. Change-Id: Ibd45bccca6ac2cb826037aa9b2aa5065cf683eed
2016-01-18Make listbox translation workEthan Yonker1-2/+10
Change-Id: I446f4499a43e6348a2b95846f3e5ea86967abbdc
2015-12-19Multiple Language SupportEthan Yonker1-0/+18
This is similar to https://gerrit.omnirom.org/#/c/14014 A lot of the features built in the older patch set have been split out into separate patches, most of which have already been merged. The remaining functionality here should all be directly related to language selection and loading. We always load English as a base before loading other languages over the top of the base. The idea is that if another language is missing a translation, then we will still display the English. Maybe still to do: read the /cache/recovery/last_locale file and load a language based on that. For me, this file contains just: en_US We probably won't bother with region specific translations so we would have to look at either trimming off the _US or using some other method like perhaps a symlink or a combination of the two. Thanks to _that for twmsg.cpp class Change-Id: I9647a22e47883a3ddd2de1da51f64aab7c328f74
2015-11-05gui: fix initial state of checkboxes in listboxthat1-2/+4
The GUI is initialized before DataManager loads the settings file, so we need to update the checkboxes on page change too. Change-Id: If4c694872608ec4014220364bd759c1399502994
2015-10-25Fix a bunch of warningsEthan Yonker1-1/+1
Mostly adding __unused where needed. Change-Id: Ia4f675b9b360782728c361ed1699db0cc277c3a5
2015-10-16gui: support conditions for listbox itemsthat1-64/+67
Change-Id: Iea189ac53ec3d7c1bea83da7b77684778b1c0f46
2015-10-16Allow listbox to have a list of check boxesEthan Yonker1-7/+46
For an example of how to implement a list of check boxes, see: http://bit.ly/1Giacw2 https://gerrit.omnirom.org/#/c/14284/2/ Change-Id: I0752a084625f4a0ef8cc6d99597f2fb9aa2ab9e0
2015-07-14gui: allow listbox to be used as menu and as read-only listthat1-6/+17
Also enable string insertion for list items. Example how to make a menu item: <listitem name="Lights on!"> <action> <action function="setbrightness">255</action> </action> </listitem> If no <data> element and no actions on any items exist, the list is read only and no item selection is possible. Change-Id: Ib2668a982df2514484d44faa0396dd17550f39f3
2015-03-05gui: introduce virtual RenderItem method in ScrollListthat1-7/+7
- so derived lists can draw whatever they want (multi-line etc.) - replace GetListItem with RenderItem - minor cleanup Change-Id: I062e0a354f1c18ce0a5232b7542c4987b480e232
2015-02-21GUI: Support styles in xml to reduce xml file sizeEthan Yonker1-3/+3
Also allow sliders to have their own text label instead of requiring a whole separate text object for the label in the xml. Change-Id: I6e314efb4bb454d496555ff7e003d743063a1308
2015-02-15gui: make resources type safethat1-25/+6
- add string, int, color and resource loading helpers - use typed resource classes, and some cleanup in loading code - remove abstract GetResource() to enforce type safe access - add height and width query methods to resources and use them - minor cleanup - simplify LoadPlacement Change-Id: I9b81785109a80b3806ad6b50cba4d893b87b0db1
2015-02-13gui: fix condition handling for liststhat1-2/+2
Base class must be called first, otherwise the condition can never again become true. Fixes font size switching in Material theme. Change-Id: I160a733549495e1bde3cead56b0a3582f0dc744c
2015-02-10Remove deletes for images from scroll list GUI ElementsEthan Yonker1-2/+0
Resources are deleted by ~PageSet and do not need to be deleted by the the scrollable list elements. This fixes a crash when reloading the theme. Also remove some deletes for items that should not be deleted in button and input GUI elements. Change-Id: Ie1c1b85c81c10f648d085746a5fdba6220468a5f
2015-02-05Unify scrollable list codeEthan Yonker1-709/+62
The goal of this patch set is to eliminate the code duplication caused by copy/paste of the code in the file selector, listbox, and partition list GUI elements. Those classes will now utilize a single GUIScrollList class that will handle rendering and scrolling. Change-Id: I0cb98ab36cf47178296034293435225658c779cd
2014-10-14Add support for TrueType fontsVojtech Bocek1-1/+1
* Keeps original font system in place * Uses the same API as original font system: - You can render only one line at a time - You can only use one font and color for one gr_text* call * Caches all rendered text, with a string cache limited to 400 entries, then it trucates to 250, which results in memory usage hovering around 5-10MB Change-Id: I36107b9dcd8d57bae4486fce8b8f64e49ef3d906 Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2014-06-04Whitespace and minor code cleanupMatt Mower1-2/+2
This is by no means comprehensive, but is quite a bit better already. Change-Id: Ibc8654a5dfb0eec39cbd0b64bdb52bb4fbfe2f7e
2014-02-12Cache results of GUIObject::isConditionTrue()Vojtech Bocek1-1/+3
Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: Ia50f7c365b2dc0a65ee046bb42972e3594264878
2014-02-12Conditional -> GUIObject and make all gui objects children of GUIObjectVojtech Bocek1-1/+13
Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: Ic0a7d6354dabe5919b83942f2f1aa0715625e522
2014-02-08Add vibrations to Checkbox, Fileselect, Listbox and PartitionlistVojtech Bocek1-0/+2
Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I7b0e27930857add1ac88671a71310bea56fc4e74
2014-01-29Don't switch between fast and normal scroll during drag in listviewsVojtech Bocek1-2/+6
Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I925adda7f417c6e578f501babc8ef2bec638f66b
2013-08-24Unify indentation and little clean-up in TWRP filesVojtech Bocek1-23/+23
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2013-04-04Move all AOSP code out of recovery binaryDees_Troy1-3/+1
Improves license compatibility between GPL and Apache Change-Id: I2b165aa575bb6213af6b07936f99610c113443f0
2013-03-30Add partition list GUI elementDees_Troy1-1/+17
Add partition list GUI element and update backup, restore, mount, storage selection, and wipe sections of GUI and partition manager code to reflect the new GUI element. Update ORS engine to handle new backup and restore setup. Fix a bug with decrypt. Add 1080x1920 layout. Change-Id: Iaa2f44cb707167e66f935452f076ba00e68a2aa4
2013-02-27Copy fast scroll feature to listboxDees_Troy1-2/+93
2013-02-19Minor fix for listbox codeDees_Troy1-1/+1
2013-02-15Update listbox codeDees_Troy1-235/+562
2012-09-05TWRP-ify AOSP codeDees_Troy1-0/+381
Pull in most TWRP sources Stub out partition management code Make it compile -- probably will not boot Kind of a mess but have to start somewhere