Commit Graph
734 Commits
Author SHA1 Message Date
ef6316ef6c chore(radio): Move const data from RAM to FLASH. (#4098)
Co-authored-by: philmoz <phil.a.mitchell@gmail.com>
2023-09-29 10:19:06 +02:00
philmozandGitHub 55217dc303 fix(color): Multiple fixes and improvements to switch and source popup menus (#4055)
* Fixes for switch and source select popup menus.
- Fix missing GV filter in source select
- Ensure all options are included in one of the filters
- Add misc filter to switch select (for TELE and ACT options)
- Show inverted and no-selection options when filter selected
- Make menu line height consistent.

* Fix selected item in list when filter applied.
2023-09-23 11:21:12 +10:00
philmozandGitHub 22a4e67117 feat(color): Add support for information bubble popups (#3903)
* Add information bubble popup window.

* Use fixed BLACK and WHITE colors.
2023-09-21 19:47:46 +10:00
philmozandGitHub 0aff002c8a chore(color): Cleanup and optimise EdgeTxTheme class (#4013) 2023-09-21 19:39:05 +10:00
06712d9b97 feat: Interactive/progressive preflight checklist (#3564)
* initial version of clickable checklist

* do not display checkboxes for empty lines if checklist is shorter than screen size

* remove checklist exit after completing it
cannot exit menu from menuTextView as level above there is while loop that cannot be stopped from thic place in code

* menu entry to enable and disable interactive checklist

* only when complete interactive checklist is closed

* config updated & not display checkboxes when entered from "View Notes"

* add setup entry for colorlcd

* do not make interactive checkist when loaded from menu

* fix datastruct size after merge

* Companion support for interactive checklist

* mark checklist lines as non-checkable with '=' for B&W radios

* Process only items visible on screen
This is also crucial when it comes to analyse non-checkable items on a checklist, as in this way there is no need to load non-visible items from SD-card

* WIP fix merge problems

* update yaml datastructs

* restore most functionalities for interactive check lists on color LCD radios
currently no automatic line wrapping and you can always exit the checklist, even when it is not fully done

* finalise interactive checklists for color LCD

* fix: rebase/merge issues

* fix: model setup checklist section

* fix: fix 212 model setup

* Re-work of the some of the color lcd checklist code (#3787)

* Move checklist logic to sub-class.
Show model name instead of file name in title, show 'Preflight checks' in title2 for checklist.
Handle long line wrapping of text.
Don't indent lines without checkbox.
Add 'RTN' button when done.

* Code cleanup.

* Simplify code by storing a list of checkboxes instead of scanning LVGL object hierarchy.

* Indent checkboxes to make touch activation easier.
Keep 'RTN' button visible so last checkbox is further from bottom of screen (for touch activation).
'RTN' button is disabled until checklist complete.

* Add checkbox class constructor for preflight checks.

* Fix checkbox size.

---------

Co-authored-by: Piotr Rzeszut <piotrrze@gmail.com>
Co-authored-by: 3djc <lesitewebdejc@hotmail.com>
Co-authored-by: philmoz <philmoz@users.noreply.github.com>
Co-authored-by: Phil Mitchell <phil.a.mitchell@gmail.com>
2023-08-29 19:18:39 +10:00
philmozandGitHub dcc2118d19 chore(color): Replace dynamic_cast with virtual functions, disable RTTI to reduce FLASH usage (#3885)
* Replace dynamic_cast with virtual functions and disable RTTI.

* Cleanup TopBar class hierarchy.

* Fix compiler warning.
2023-08-28 12:55:15 +10:00
philmozandGitHub 7aadf5e3ef fix(color): Slider control blocking RTN key, slider rotEnc activation (#3966)
* Fix for slider control blocking RTN key.

* Fix rotary encoder activation for slider.
2023-08-26 21:18:35 +10:00
philmozandGitHub f7037a92b0 chore(color): Model setup page cleanup (#3899)
* Cleanup model setup page code. Make buttons consistent height.

* Remove unused object constructor.
2023-08-09 18:29:59 +10:00
philmozandGitHub 659a25a6cd fix: Fix 'PAGE <' key not working for menu toolbar (#3902) 2023-08-04 21:59:05 +10:00
philmozandGitHub 69338ab0ab chore(color): Libopenui refactor (#3614)
* Refactor object creation logic.
Remove unused LVGL features.

* Remove unused files.
Fix height for widgets.

* Rename 'OpenTxTheme' class to 'EdgeTxTheme'.
Cleanup commented out code.
Cleanup unused code from 'etx_lv_theme.cpp'.

* More cleanup.

* Move more style code to etx_lv_theme.cpp

* Update license

* Make default button height match other controls.

* Fix curve edit layout.

* Fix layouts.

* FormWindow and FormGroup provided identical functionality - rename FormGroup to FormWindow and remove duplicate.

* Simplify menu icon handling.
Remove unused 'flysky.cpp' file.

* Fix window size change.

* Simplify page header code.
Fix statistics view page.

* Remove unused file.
Replace redundant 'Subtitle' class with a macro.
Fix compiler warnings.

* Fix compiler warning in LvglWrapper.cpp.
Remove unused code in static.h.
Simplify about page.

* Rename ICON_OPENTX to ICON_EDGETX.

* Fix github build error.

* Fix github build error (attempt 2).

* Move ButtonMatrix styling to etx_lv_theme.cpp.

* Scroll bar consistency.

* Use styles for ButtonMatrix text color.

* Use 'active' color for selected USB advanced setup buttons. Move error message to bottom of page.

* Create style for popup window title bar.
Simplify advanced USB setup code.
Remove unused libopenui/carousel.* files.

* Add style for modal popup content.

* Remove unused BUTTON_BACKGROUND flag.

* Replace GridLayout with FormWindow. Remove unused gridlayout.h file.

* Fix rebase.

* Merge ChoiceEx class into Choice class code.
Remove unused CurveKeyboard.

* Use LVGL bar for progress indicator.
Update only style colors when theme changes (don't recreate all style settings).

* Move ProgressDialog class to dlalog.h/dialog.cpp files.

* Simplify trim and slider code in main view.
Simplify the hardware inputs code.
Fix dialog size.
Remove unused code in layout factory.

* Cleanup unused code.

* Add style for FormWindow class.
Merge BaseNumberEdit class into NumberEdit class and remove BaseNumberEdit.
Remove more unused files.
Cleanup libopenui_config.h files.

* Re-organise libopenui include files to fix build error.

* Fix build error.

* Add missed styles to etx_lv_theme.cpp.
Delete commented out #includes.
More cleaning up of libopenui_xxx.h files and dependencies.
Re-enable LVGL CHECKBOX feature.

* Merge libopenui_helpers.h into opentx_helpers.h file.

* Fix firmware build.

* Use object constructors for LVGL object creation as suggested by gagarinlg.
Add style for number edit text alignment.
Fix background color for focussed control.

* Move color related stuff from libopenui_defines.h to colors.h.
Remove need for libopenui_depends.h file.

* Merge libopenui_types.h content into opentx_types.h file.

* Rename CheckBox class to ToggleSwitch.

* Restore code to update flight mode text color when theme changes.

* Cleanup some more unused code.

* Remove redundant theme.h file.

* Fix rebase.

* Fix button matrix style.

* Fix rebase

* Fix rebase

* Ensure correct initialisation of Choice object.

* Fix rebase.

* Make the slider control bigger to make touch activation easier.

* Fix build error.

* Fix slider logic and cleanup code.

* Use ACTIVE theme color for inputs, mixes, LS, GV and SF.

* Improved border width consistency and focussed state consistency.

* Remove duplicate copy of the default theme colors.
2023-08-04 11:04:54 +10:00
raphaelcoefficandMalte Langermann 40e7d8c365 libopenui: align keys on stdlcd 2023-06-25 14:32:39 +02:00
gagarinlg 3ca63cbb9b chore(libopenui): update license 2023-05-18 14:56:37 +02:00
gagarinlg 1e2b4db1d2 chore(libopenui): replace license files 2023-05-18 14:55:56 +02:00
MichaelandGitHub c6188af631 Add setters for DynamicNumber prefix and suffix texts (#90)
required by RX stat labeling on range check, rf tuning, low/critical warning pages
2023-05-07 14:05:50 +10:00
philmozandGitHub 51ce75f10e Make the size and appearance of the number and text edit controls consistent with other UI elements. (#89) 2023-05-07 11:25:50 +10:00
Malte LangermannandGitHub f84fbd01bf chore(ui): improve static text and window base speed (#88) 2023-03-26 18:16:28 +10:00
philmozandGitHub d56d641fb0 Set backSet background color on pop up dialog windows (#87) 2023-03-22 19:43:10 +10:00
philmozandGitHub 3e49724e11 Add scroll bar to menus where needed (#85) 2023-03-22 19:42:13 +10:00
Raphael CoefficandGitHub e67d1a7895 fix: strings constness (#84) 2023-01-18 12:32:07 +10:00
eshifriandGitHub d6185d924d fix: Display of signed values (#83)
* Fix display of the signed values
 with PREC1 and PREC2

* Use abs() for decimal digits output
 for negative numbers
2023-01-18 11:48:47 +10:00
raphaelcoeffic 5a81a22514 fix(window): fix crash in case LVGL parent is NULL 2022-11-15 08:41:27 +01:00
Raphael CoefficandGitHub a08ccd00aa fix(drawSizedText): stop trying to be smart about text clipping (#82) 2022-11-04 19:14:17 +10:00
Raphael CoefficandGitHub d174463d97 fix(table): re-implement LV_EVENT_RELEASE handler (#81)
Instead of calling `lv_table`'s handler, as this causes troubles when the selected cell is changed from within `LV_EVENT_VALUE_CHANGED`.

Fixes EdgeTX/edgetx#2619
2022-10-31 21:09:51 +10:00
Raphael CoefficandGitHub a9b7f815f2 fix(NumberEdit): avoid calling setValue() to change the displayed string (#80) 2022-10-31 19:17:52 +10:00
Malte LangermannandGitHub fcb0e2cf5d fix(gui): missing % sign in choices (#79) 2022-10-24 11:48:00 +10:00
Raphael CoefficandGitHub 4b85830ea2 Improve rotary encoder velocity support (#78) 2022-10-19 20:37:27 +10:00
Raphael Coeffic 4255642e7d Fix menu toolbar PageUp/PageDown 2022-10-13 19:21:10 +02:00
Gábor BányászandGitHub 8a4a1b1b38 Speed up the initial menu filling (#77)
* Preset menu line counter. Disable update position during the fill.

* Code formating

* Redesign attempt with addLines() functions.

* .

* Menu::addLines fix for icons.

* Redesign to clean up

* Selection fix. Choice implementation.

* One more redesign.
2022-10-12 13:05:18 +10:00
df7d9a0fe0 fix(NumberEdit): do not call setValue() in constructor, use update() instead (#76)
This avoids writing a value when it is not necessary. All that is needed is to update the internal value and set the field string.

Co-authored-by: Raphael Coeffic <raphael.coeffic@frafos.com>
2022-10-09 14:40:11 +10:00
Malte LangermannandGitHub 75087b2c1b fix(gui): reduce menu outline to two pixels (#74) 2022-10-08 13:26:58 +10:00
Malte LangermannandGitHub ca43d52960 Add setFont and setBackgroudOpacity to StaticText (#73) 2022-10-06 16:16:32 +10:00
Malte LangermannandGitHub ba56990950 fix(gui): partially drawn characters on top of bitmaps 2022-10-03 12:58:25 +10:00
Raphael CoefficandPeter Feerick 37159152b0 MenuToolbar: add resetFilter() 2022-10-03 12:41:59 +10:00
Raphael CoefficandPeter Feerick c41b1cb458 fix(Menu): handle negative selection index properly 2022-10-03 12:41:59 +10:00
Raphael CoefficandPeter Feerick d2676abc61 fix(Menu): properly reset selections when content is removed 2022-10-03 12:41:59 +10:00
Raphael CoefficandPeter Feerick ce9c5a302a fix(Menu): force into editing mode to fix behaviour with rotary encoder 2022-10-03 12:41:59 +10:00
Raphael CoefficandPeter Feerick d4661b66ea fix(MenuToolbar): resolve various focus/filtering issues
This allows for de-selecting filters with keys.
2022-10-03 12:41:59 +10:00
Malte LangermannandGitHub fa59524ebd fix(gui): Outline, more padding, wider buttons for menu toolbars (#70) 2022-10-01 21:23:18 +10:00
Malte LangermannandGitHub bb447ea493 fix: font height changes with LVGL through getFontHeightCondensed (#69) 2022-10-01 11:27:06 +10:00
Malte LangermannandGitHub 7ba7127699 fix(gui): also horiz center pop up menus when they have a toolbar (#68) 2022-10-01 11:26:18 +10:00
Raphael CoefficandGitHub 01d7036e78 TextButton: rely on LVGL theme for text color (#67) 2022-09-27 12:11:45 +10:00
Raphael CoefficandGitHub 8ad593594b rotary encoder velocity: use a custom LVGL flag to signal support (#66) 2022-09-26 09:53:08 +10:00
Raphael Coeffic 2cb1e6fce7 dialog: prevent key events from being transmitted to parent 2022-09-25 09:09:53 +02:00
eshifriandGitHub 7682db2fb2 fix: ChoiceEx long press support re-added LVGL style (#65) 2022-09-20 13:29:55 +10:00
Malte LangermannandGitHub 5b32c73690 fix: loading 32BPP BMPs 2022-09-18 19:21:24 +10:00
Raphael Coeffic c1f922ce14 chore(DynamicNumber): remove type argument warnings 2022-09-17 09:03:55 +02:00
Raphael CoefficandGitHub b4368fe120 checkbox: add update() method (#62) 2022-09-05 18:31:10 +10:00
Raphael CoefficandGitHub 5174b58fb9 bitmap buffer: allow for forcing a destination pixel format (#61)
Otherwise, 32bit images are converted automatically to ARGB4444, and 24bit image are converted to RGB565, thus leading to EdgeTX/edgetx#2261.
2022-09-05 18:30:52 +10:00
David PHAM-VANandGitHub 199975b95c Add BitmapBuffer::to8bitMask (#63) 2022-09-05 18:30:26 +10:00
Raphael CoefficandGitHub 4b05632c84 Remove ColorEdit (#60) 2022-08-28 18:36:03 +10:00