-
-
Notifications
You must be signed in to change notification settings - Fork 357
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Revised Special & Global Functions layout. #2992
Conversation
What if, instead of listing all the inactive special functions, we just have an "add" button at the bottom like we have with mixes? |
You can select one of the active functions and then choose 'Copy' from the menu. With just an 'Add' button it would be more difficult to manage the copy/paste. Also I like to use certain function numbers for the same operation across different models. I find it easier to manage this way. With just an 'Add' button it would be harder to pick a specific function to edit. |
Nice improvement |
This implementation is certainly good for touch operation. However, it is a degradation for non-touch color displays. I have for example from SF2 to SF20 some functions and in the range 50 to 64. If I now want to create SF1, you have to scroll a lot (up or down) to get to the button SF1. This implementation should only be used for touch radios, if at all. I personally have the feeling that with this implementation a lot of clarity is lost. |
OK, but I think it is a good start :) we ca discuss :) |
How is that different from the current behaviour, in which a similar complaint could be made, since it is a fixed table, and you have to scroll through all the rows regardless of if there are entries present or not, rather than just scroll through the rows with content? However, I do get that coming from fixed table view, how this can be seen as a loss of clarity, as sometimes you leave blank SFs so you can group SFs related together, etc.
This is actually something I find lacking in the new Mixer layout... before, you could copy an existing mixer line into a specific new one... i.e. what if I want to assign something to channel 32 on a five-channel model? (yes, that is a thing - for some special mixes and working with some lua scripts). Before I could just copy, scroll to 32, and paste. Now I have to create 32, then copy and well, um... there's no paste anymore (only paste before and after)... ok... that's because paste only appears for empty mixer lines... oh dear. |
Away from main system at the moment so I can't try things; but a couple of thoughts:
|
I have added a long press handler that will jump to the first free function (if pressed on an active function), or the first active function if pressed on a free function. |
Yes, this is now much easier to use thanks to the long press handler. Really good. One small problem has now come to my attention. |
@ParkerEde The code currently tries to re-select the entry number that was focussed before any operation. For example suppose you have SF1, SF2 and SF4 as active functions and SF3 as an empty one. When SF2 is re-selected as the focussed function it is still an empty one so the screen jumps to show it. If you clear an active function it will become empty; but remain focussed so the screen will again scroll to the empty function section. |
@philmoz If I select "Delete" , where SF3 then becomes SF2, SF4 then SF3 etc., it already works correctly. Sorry, I just built the EN version to be able to name the correct menu item |
@ParkerEde I understand what you are saying - I was just trying to explain how the logic currently works. I need to think about it more to see if I can come up with an alternative. |
@philmoz Perfect. Many many many thanks for your effort. |
After using this some more, and trying it with some non-technical club members, I've decided to revert the list to the original numerical sort order. Although the grouped order looked nicer it is not intuitive to use. Where possible the empty functions are still grouped on a single line to reduce the vertical size. I have also made the button press handling consistent by always having a popup context menu. As well as being consistent behaviour it means you can use the insert and delete actions on empty function to manage the list. |
I like it better that way, too. The overview is also restored. "Clear" and "Delete" also works well again. Good work. |
792844d
to
c3821ce
Compare
I've checked last state 66d9f54 |
@ParkerEde Thanks for testing - should be fixed now. |
@philmoz Please unify lists visually changing to flex. In terms of indexing (if to show free numeric slots, how to design UX of adding & displaying) we have to discuss |
@JimB40 Do you mean like this? If I use the button style from the the model outputs page then functions that are active (i.e. their switch is on) show with the background as light blue (secondary3 colour) instead of yellow (active colour). |
As agreed. Use Inpusts/Mixes styling for list and I'm making issue to fix ACTIVE color in this style. edit: #3021 |
checked a98e9b3 |
Btw @philmoz I have checked data variances and it can be hard to fit all of them in one line Examples of longest
Then parameters depoendent on Func type
Adjust
Play Track
Set Main Screen
Then for some of functions For others By the way does anybody know what is purpose on Enable switch??? |
Literally that - it enables or disables that SF/GF. The fact that it is not implemented for all is annoying... i.e. I'd like to have a Screenshot GF, but disable it so that it's configured but doesn't hog the switch until I want it... but guess what SF/GF doesn't have the enable toggle? 😆 |
Ok I thought so. Just confirming. |
I guess that's why it uses two lines to display special/global functions and logical switches. |
portrait is easier with data overview as it has a lot vertical space. |
how would it be to be able to assign individual descriptive names for SF and LS and then display only this in the row? |
…ected button after editing or changes to list.
Display function as more readable expression instead of discrete values. Single line display for overview button on landscape screen. Fix display when editing GVAR INC/DEC value (was '--' instead of '-='). Fix incorrect module displayed for 'Set Failsafe' (swapped). Show all parameter and values for each function type in overview.
… and looks less like a radio button.
…ch inputs and mixes.
e2ea35d
to
62b2335
Compare
@philmoz Thanks for all the good work you do! While working on Special Functions and migrating Logical Switches: could you please have a look at the different column padding between those two. I think it would be nice to have a Special Functions padding with more room for the 1st column like in Logical Switches. So retaining the Logical Switches padding for the migration and adjust Special Functions to the same padding. Possible? |
Thanks! |
Final state of this looks and works great on TX16S and NV14. Thanks for all the discussion and work on this! :) |
Changes: - the log period range is now 0.1s to 25.5s - upon creation of a new SD Logs SF the period is initialized to 1.0s - text "Value" is changed to "Period" to indicate parameter represents the log period ToDo: - translations for "Period" if desired rebase due to EdgeTX#2992
* fixes #2965 Changes: - the log period range is now 0.1s to 25.5s - upon creation of a new SD Logs SF the period is initialized to 1.0s - text "Value" is changed to "Period" to indicate parameter represents the log period ToDo: - translations for "Period" if desired rebase due to #2992 * changed Period to Interval Added translations for DA, DE, EN, IT, PL * added defaults for TR_INTERVAL to language files * fixed problem with too many leading zeros for intervals less than 1s. before: 00.5s after: 0.5s * added CZ translations for TR_PERIOD and TR_INTERVAL changed EN TR_FUNC from "Func" to "Function" * updated TR_FUNC for CZ, DA, IT, JP, PL updated TR_PERIOD and TR_INTERVAL for JP * added TR_PERIOD, TR_INTERVAL, TR_FUNC for SE * implemented TR_SF_SWITCH and logic to change between TR_SWITCH and TR_SF_SWITCH * 212x64 radios: single source for #define TR_LSW_HEADERS in language files deleted redundant defines * changed 128x64 and 212x64 SF SD Logs to same logic as colorlcd with - minimum log interval 0.1s - maximum log interval 25.5s - default log interval 1.0s TX12_Sim and X9D_Sim tested ok * migrated functional changes due to PR #2992 * missed updating TW language file * fix: Always `STR_SF_SWITCH` regardless of SF Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
* Convert Special / Global function page to flex layout. Move function name text into row button so entire row acts as a button. Display active functions first, then inactive functions as smaller buttons in a grid. * Merge duplicate cases in switch, fix indentation. * Keep selected button focussed after editing a function. Add long press handler to jump between free and used functions. * Revert to numerical order for functions list. Use context menu for empty functions all the time. * Fix parameter type and remove redundant lines. * Fix incorrect function being selected when changing tabs. * Fix selection of focussed button when using 'Clear', 'Delete' and switching tabs. * Change button style to match input/mixes/outputs pages. * Fix checked state display for buttons. * Fix scroll position when adding new entries at the bottom. Center selected button after editing or changes to list. * Remove logic that tries to center scroll around selected button (not working). * Convert overview button to lvgl grid. Display function as more readable expression instead of discrete values. Single line display for overview button on landscape screen. Fix display when editing GVAR INC/DEC value (was '--' instead of '-='). Fix incorrect module displayed for 'Set Failsafe' (swapped). Show all parameter and values for each function type in overview. * Fix 'Enabled' indicator so it is not selectable with the scroll wheel and looks less like a radio button. * Remove empty buttons and add a single '+' button at the bottom to match inputs and mixes. * Add long press handler for quick access to the '+' button functions. * Ensure addButton is initialised if not needed (list is full). * Use formatNumberAsString helper function. * Adjust grid spacing. * fix: `STR_VALUE` not `STR_VOLUME`
* fixes EdgeTX#2965 Changes: - the log period range is now 0.1s to 25.5s - upon creation of a new SD Logs SF the period is initialized to 1.0s - text "Value" is changed to "Period" to indicate parameter represents the log period ToDo: - translations for "Period" if desired rebase due to EdgeTX#2992 * changed Period to Interval Added translations for DA, DE, EN, IT, PL * added defaults for TR_INTERVAL to language files * fixed problem with too many leading zeros for intervals less than 1s. before: 00.5s after: 0.5s * added CZ translations for TR_PERIOD and TR_INTERVAL changed EN TR_FUNC from "Func" to "Function" * updated TR_FUNC for CZ, DA, IT, JP, PL updated TR_PERIOD and TR_INTERVAL for JP * added TR_PERIOD, TR_INTERVAL, TR_FUNC for SE * implemented TR_SF_SWITCH and logic to change between TR_SWITCH and TR_SF_SWITCH * 212x64 radios: single source for #define TR_LSW_HEADERS in language files deleted redundant defines * changed 128x64 and 212x64 SF SD Logs to same logic as colorlcd with - minimum log interval 0.1s - maximum log interval 25.5s - default log interval 1.0s TX12_Sim and X9D_Sim tested ok * migrated functional changes due to PR EdgeTX#2992 * missed updating TW language file * fix: Always `STR_SF_SWITCH` regardless of SF Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
Summary of changes: