comparison Discovery/Src/tMenu.c @ 815:ce8f71217f45

Bugfix CustomView selection during dive mode: The CustomView selection during dive mode was limited to two pages, while meanwhile three are needed to show all options. The problem did not showup in surface mode selection. Rootcause was a static definition instead of the dynamic one used in surface mode. In addition with every page shift a new page was created which might cause display errors after some times. To solve this the pages are now updated instead of rebuilding the pages.
author Ideenmodellierer
date Sun, 03 Sep 2023 18:03:49 +0200
parents 4c41d9a18c7f
children c4ee952b9425
comparison
equal deleted inserted replaced
814:26ae9e8f24fd 815:ce8f71217f45
250 { 250 {
251 menu.disableLineMask[idList.page] |= (1 << idList.line); 251 menu.disableLineMask[idList.page] |= (1 << idList.line);
252 } 252 }
253 } 253 }
254 254
255 void resetLineMask(uint32_t lineId)
256 {
257 SStateList idList;
258 get_idSpecificStateList(lineId, &idList);
259 if(idList.page < MAXPAGES)
260 {
261 menu.disableLineMask[idList.page] = 0;
262 }
263 }
255 void enableLine(uint32_t lineId) 264 void enableLine(uint32_t lineId)
256 { 265 {
257 SStateList idList; 266 SStateList idList;
258 267
259 get_idSpecificStateList(lineId, &idList); 268 get_idSpecificStateList(lineId, &idList);
478 line = menu.lineMemoryForNavigationForPage[page]; 487 line = menu.lineMemoryForNavigationForPage[page];
479 488
480 if(line == 0) 489 if(line == 0)
481 line = 1; 490 line = 1;
482 491
483 if(menu.disableLineMask[page] & ( 1 << line)) 492 while(menu.disableLineMask[page] & ( 1 << line))
484 { 493 {
485 line++; 494 line++;
495 if(line > menu.linesAvailableForPage[page])
496 {
497 line = 1;
498 }
486 } 499 }
487 500
488 if(line > menu.linesAvailableForPage[page]) 501 if(line > menu.linesAvailableForPage[page])
489 line = 1; 502 line = 1;
490 503
710 break; 723 break;
711 case StMSP: 724 case StMSP:
712 tMSP_refresh(text, &tabPosition, subtext); 725 tMSP_refresh(text, &tabPosition, subtext);
713 update_content_with_new_frame(page, text, tabPosition, subtext); 726 update_content_with_new_frame(page, text, tabPosition, subtext);
714 break; 727 break;
728 case StMSYS:
729 tMSystem_refresh(0, text, &tabPosition, NULL);
730 update_content_with_new_frame(page, text, tabPosition, subtext);
731 break;
732
715 default: 733 default:
716 break; 734 break;
717 } 735 }
718 } 736 }
719 737