fix(bw): Progressive checklist = behaviour was reversed (#4458)
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
This commit is contained in:
co-authored by
Peter Feerick
parent
02e2be91dc
commit
a68ad817d7
@@ -22,7 +22,7 @@
|
||||
#include "opentx.h"
|
||||
|
||||
constexpr uint32_t TEXT_FILE_MAXSIZE = 2048;
|
||||
constexpr char NON_CHECKABLE_PREFIX = '=';
|
||||
constexpr char CHECKABLE_PREFIX = '=';
|
||||
int checklistPosition;
|
||||
|
||||
static void sdReadTextFile(const char * filename, char lines[TEXT_VIEWER_LINES][LCD_COLS + 1], int & lines_count)
|
||||
@@ -99,9 +99,25 @@ void readModelNotes()
|
||||
LED_ERROR_BEGIN();
|
||||
|
||||
strcpy(reusableBuffer.viewText.filename, MODELS_PATH "/");
|
||||
char *buf = strcat_currentmodelname(&reusableBuffer.viewText.filename[sizeof(MODELS_PATH)], 0);
|
||||
char *buf = strcat_currentmodelname(
|
||||
&reusableBuffer.viewText.filename[sizeof(MODELS_PATH)], 0);
|
||||
strcpy(buf, TEXT_EXT);
|
||||
|
||||
if (!isFileAvailable(reusableBuffer.viewText.filename)) {
|
||||
buf = strcat_currentmodelname(
|
||||
&reusableBuffer.viewText.filename[sizeof(MODELS_PATH)], ' ');
|
||||
strcpy(buf, TEXT_EXT);
|
||||
|
||||
#if defined(STORAGE_MODELSLIST)
|
||||
if (!isFileAvailable(reusableBuffer.viewText.filename)) {
|
||||
buf = strAppendFilename(
|
||||
&reusableBuffer.viewText.filenam[sizeof(MODELS_PATH)],
|
||||
g_eeGeneral.currModelFilename, LEN_MODEL_FILENAME);
|
||||
strcpy(buf, TEXT_EXT);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
waitKeysReleased();
|
||||
event_t event = EVT_ENTRY;
|
||||
reusableBuffer.viewText.pushMenu = false;
|
||||
@@ -169,8 +185,13 @@ void menuTextView(event_t event)
|
||||
|
||||
for (int i=0; i<LCD_LINES-1; i++) {
|
||||
if (g_model.checklistInteractive){
|
||||
if (reusableBuffer.viewText.lines[i][0] == NON_CHECKABLE_PREFIX) {
|
||||
if (reusableBuffer.viewText.lines[i][0] == CHECKABLE_PREFIX) {
|
||||
if (i < reusableBuffer.viewText.linesCount && !reusableBuffer.viewText.pushMenu)
|
||||
drawCheckBox(0, i*FH+FH+1, i < checklistPosition-(int)menuVerticalOffset, i == checklistPosition-(int)menuVerticalOffset);
|
||||
lcdDrawText(8, i*FH+FH+1, &reusableBuffer.viewText.lines[i][1], FIXEDWIDTH);
|
||||
}
|
||||
else {
|
||||
lcdDrawText(8, i*FH+FH+1, &reusableBuffer.viewText.lines[i][0], FIXEDWIDTH);
|
||||
if (i == checklistPosition-(int)menuVerticalOffset){
|
||||
++checklistPosition;
|
||||
if (checklistPosition-(int)menuVerticalOffset == LCD_LINES-1 && menuVerticalOffset+LCD_LINES-1 < reusableBuffer.viewText.linesCount) {
|
||||
@@ -180,11 +201,6 @@ void menuTextView(event_t event)
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (i < reusableBuffer.viewText.linesCount && !reusableBuffer.viewText.pushMenu)
|
||||
drawCheckBox(0, i*FH+FH+1, i < checklistPosition-(int)menuVerticalOffset, i == checklistPosition-(int)menuVerticalOffset);
|
||||
lcdDrawText(8, i*FH+FH+1, reusableBuffer.viewText.lines[i], FIXEDWIDTH);
|
||||
}
|
||||
}
|
||||
else {
|
||||
lcdDrawText(0, i*FH+FH+1, reusableBuffer.viewText.lines[i], FIXEDWIDTH);
|
||||
|
||||
Reference in New Issue
Block a user