Showing 2 changed files with 17 additions and 4 deletions
+16 -4
Nasal/display.nas
... ...
@@ -484,28 +484,40 @@ var displayClass = {
484 484
         }
485 485
 
486 486
         var path = keyMap[me.device.role];
487
-        foreach (var p; me.device.softkeys.path)
487
+        var pathid = '';
488
+        foreach (var p; me.device.softkeys.path) {
488 489
             path = path[p];
490
+            pathid ~= p;
491
+        }
489 492
 
490 493
         # feeding with empty menus the first boxes
491 494
         var start = (contains(path, 'first')) ? path.first : 0;
492 495
         for (var k = 0; k < start; k+=1) {
493
-            me.screenElements[sprintf("SoftKey%02i-text", k)]
496
+            var sftk = sprintf("SoftKey%02i-", k);
497
+            me.screenElements[sftk ~ 'text']
494 498
                 .setText('');
499
+            me.screenElements[sftk ~ 'bg']
500
+                .setColorFill(0,0,0);
495 501
         }
496 502
         # filling with the content the next boxes
497 503
         forindex (var k; path.texts) {
498 504
             var i = k + start;
499 505
             me.screenElements[sprintf("SoftKey%02i-text", i)]
500 506
                 .setText(path.texts[k]);
507
+            me.setSoftKeyColor(i,
508
+                    contains(me.device.softkeys.colored, pathid ~ path.texts[k]));
501 509
         }
502 510
         # feeding the last boxes with empty string
503 511
         var end = (me.device.role == 'PFD') ? 10 : 12;
504 512
         if (size(path.texts) + start < end) {
505 513
             start = size(path.texts) + start;
506
-            for (var k = start; k < end; k += 1)
507
-                me.screenElements[sprintf("SoftKey%02i-text", k)]
514
+            for (var k = start; k < end; k += 1) {
515
+                var sftk = sprintf("SoftKey%02i-", k);
516
+                me.screenElements[sftk ~ 'text']
508 517
                     .setText('');
518
+                me.screenElements[sftk ~ 'bg']
519
+                    .setColorFill(0,0,0);
520
+            }
509 521
         }
510 522
 
511 523
         if (size(me.device.softkeys.path))
+1
Nasal/softkeys.nas
... ...
@@ -3,6 +3,7 @@ var softkeysClass = {
3 3
         var m = { parents: [ softkeysClass ] };
4 4
         m.device = device;
5 5
         m.path = [];
6
+        m.colored = {};
6 7
         return m;
7 8
     },
8 9