@@ -544,7 +544,7 @@ class BikeLightsView extends WatchUi.View {
544544 var totalButtonGroups = panelData [0 ];
545545 var tapX = location [0 ];
546546 var tapY = location [1 ];
547- var groupIndex = 7 ;
547+ var groupIndex = 8 ;
548548 while (groupIndex < panelData .size ()) {
549549 var totalButtons = panelData [groupIndex ];
550550 // All buttons in the group have the same y and height, take the first one
@@ -885,6 +885,7 @@ class BikeLightsView extends WatchUi.View {
885885 data .add (totalButtonGroups ); // Total button groups
886886 data .add (lightType == 0 /* LIGHT_TYPE_HEADLIGHT */ ? " Headlight" : " Taillight" ); // Light name
887887 data .add (0 /* Activity color */ ); // Button color
888+ data .add (0xFFFFFF /* White */ ); // Button text color
888889 for (var i = 0 ; i < totalButtonGroups ; i ++ ) {
889890 var mode = capableModes [i ];
890891 var totalGroupButtons = mode == 0 /* Off */ ? 2 : 1 ; // Number of buttons;
@@ -927,17 +928,17 @@ class BikeLightsView extends WatchUi.View {
927928
928929 var i ;
929930 var totalButtonGroups = panelSettings [1 ];
930- // [:TotalButtonGroups:, :LightName:, :ButtonColor:, :LightNameX:, :LightNameY:, :BatteryX:, :BatteryY:, (<ButtonGroup>)+]
931+ // [:TotalButtonGroups:, :LightName:, :ButtonColor:, :ButtonTextColor:, : LightNameX:, :LightNameY:, :BatteryX:, :BatteryY:, (<ButtonGroup>)+]
931932 // <ButtonGroup> := [:NumberOfButtons:, :Mode:, :TitleX:, :TitleFont:, (<TitlePart>)+, :ButtonLeftX:, :ButtonTopY:, :ButtonWidth:, :ButtonHeight:){:NumberOfButtons:} ]
932933 // <TitlePart> := [(:Title:, :TitleY:)+]
933- var panelData = new [7 + (8 * panelSettings [0 ]) + totalButtonGroups ];
934+ var panelData = new [8 + (8 * panelSettings [0 ]) + totalButtonGroups ];
934935 panelData [0 ] = totalButtonGroups ;
935936 var buttonHeight = (height - 20 /* Battery */ ).toFloat () / totalButtonGroups ;
936937 var fontResult = [0 ];
937938 var buttonPadding = margin * 2 ;
938939 var textPadding = margin * 4 ;
939- var groupIndex = 7 ;
940- var settingsGroupIndex = 4 ;
940+ var groupIndex = 8 ;
941+ var settingsGroupIndex = 5 ;
941942 for (i = 0 ; i < totalButtonGroups ; i ++ ) {
942943 var totalButtons = panelSettings [settingsGroupIndex ];
943944 var buttonWidth = buttonGroupWidth / totalButtons ;
@@ -990,11 +991,12 @@ class BikeLightsView extends WatchUi.View {
990991 var lightNameHeight = dc .getFontHeight (1 );
991992 var lightNameTopPadding = StringHelper .getFontTopPadding (1 , fontTopPaddings );
992993 panelData [1 ] = lightName ; // Light name
993- panelData [2 ] = panelSettings [3 ] == 0 ? _activityColor : panelSettings [3 ]; // Button color
994- panelData [3 ] = x - (_batteryWidth / 2 ) - (margin / 2 ); // Light name x
995- panelData [4 ] = y + ((20 - lightNameHeight - lightNameTopPadding ) / 2 ); // Light name y
996- panelData [5 ] = x + (lightNameWidth / 2 ) + (margin / 2 ); // Battery x
997- panelData [6 ] = y - 1 ; // Battery y
994+ panelData [2 ] = panelSettings [3 ] == 0 ? _activityColor : panelSettings [3 ]; // Button color
995+ panelData [3 ] = panelSettings [4 ]; // Button text color
996+ panelData [4 ] = x - (_batteryWidth / 2 ) - (margin / 2 ); // Light name x
997+ panelData [5 ] = y + ((20 - lightNameHeight - lightNameTopPadding ) / 2 ); // Light name y
998+ panelData [6 ] = x + (lightNameWidth / 2 ) + (margin / 2 ); // Battery x
999+ panelData [7 ] = y - 1 ; // Battery y
9981000
9991001 if (light .type == 0 /* LIGHT_TYPE_HEADLIGHT */ ) {
10001002 _headlightPanel = panelData ;
@@ -1015,11 +1017,11 @@ class BikeLightsView extends WatchUi.View {
10151017 return ;
10161018 }
10171019
1018- // [:TotalButtonGroups:, :LightName:, :ButtonColor:, :LightNameX:, :LightNameY:, :BatteryX:, :BatteryY:, (<ButtonGroup>)+]
1020+ // [:TotalButtonGroups:, :LightName:, :ButtonColor:, :ButtonTextColor:, : LightNameX:, :LightNameY:, :BatteryX:, :BatteryY:, (<ButtonGroup>)+]
10191021 // <ButtonGroup> := [:NumberOfButtons:, :Mode:, :TitleX:, :TitleFont:, (<TitlePart>)+, :ButtonLeftX:, :ButtonTopY:, :ButtonWidth:, :ButtonHeight:){:NumberOfButtons:} ]
10201022 // <TitlePart> := [(:Title:, :TitleY:)+]
10211023 var totalButtonGroups = panelData [0 ];
1022- var groupIndex = 7 ;
1024+ var groupIndex = 8 ;
10231025 for (var i = 0 ; i < totalButtonGroups ; i ++ ) {
10241026 var totalButtons = panelData [groupIndex ];
10251027 for (var j = 0 ; j < totalButtons ; j ++ ) {
@@ -1039,7 +1041,7 @@ class BikeLightsView extends WatchUi.View {
10391041 dc .fillRoundedRectangle (buttonX , buttonY , buttonWidth , buttonHeight , 8 );
10401042 setTextColor (dc , isNext ? bgColor : fgColor );
10411043 dc .drawRoundedRectangle (buttonX , buttonY , buttonWidth , buttonHeight , 8 );
1042- setTextColor (dc , isSelected ? 0xFFFFFF /* COLOR_WHITE */ : isNext ? bgColor : fgColor );
1044+ setTextColor (dc , isSelected ? panelData [ 3 ] : isNext ? bgColor : fgColor );
10431045 if (mode < 0 ) {
10441046 dc .drawText (titleX , titleParts [1 ], titleFont , $ .controlModes [controlMode ], 1 /* TEXT_JUSTIFY_CENTER */ );
10451047 } else {
@@ -1054,10 +1056,10 @@ class BikeLightsView extends WatchUi.View {
10541056
10551057 setTextColor (dc , fgColor );
10561058 if (panelData [1 ] != null ) {
1057- dc .drawText (panelData [3 ], panelData [4 ], 1 , panelData [1 ], 1 /* TEXT_JUSTIFY_CENTER */ );
1059+ dc .drawText (panelData [4 ], panelData [5 ], 1 , panelData [1 ], 1 /* TEXT_JUSTIFY_CENTER */ );
10581060 }
10591061
1060- drawBattery (dc , fgColor , panelData [5 ], panelData [6 ], batteryStatus );
1062+ drawBattery (dc , fgColor , panelData [6 ], panelData [7 ], batteryStatus );
10611063 }
10621064
10631065 (:lightButtons)
@@ -1207,7 +1209,7 @@ class BikeLightsView extends WatchUi.View {
12071209 return data ;
12081210 }
12091211
1210- // <TotalButtons>,<TotalButtonGroups>:<LightName>:<ButtonColor>|[<ButtonGroup>| ...]
1212+ // <TotalButtons>,<TotalButtonGroups>:<LightName>:<ButtonColor>:<ButtonTextColor> |[<ButtonGroup>| ...]
12111213 // <ButtonGroup> := <ButtonsNumber>,[<Button>, ...]
12121214 // <Button> := <ModeTitle>:<LightMode>
12131215 // Example: 7,6:Ion Pro RT|2,:-1,Off:0|1,High:1|1,Medium:2|1,Low:5|1,Night Flash:62|1,Day Flash:63
@@ -1218,18 +1220,21 @@ class BikeLightsView extends WatchUi.View {
12181220 }
12191221
12201222 var totalButtonGroups = parse (1 /* NUMBER */ , chars , null , filterResult );
1221- // [:TotalButtons:, :TotalButtonGroups:, :LightName:, :ButtonColor:, (<ButtonGroup>)+]
1223+ // [:TotalButtons:, :TotalButtonGroups:, :LightName:, :ButtonColor:, :ButtonTextColor:, (<ButtonGroup>)+]
12221224 // <ButtonGroup> = :NumberOfButtons:, (<Button>){:NumberOfButtons:})
12231225 // <Button> = :Mode:, :Title:
1224- var data = new [4 + (2 * totalButtons ) + totalButtonGroups ];
1226+ var data = new [5 + (2 * totalButtons ) + totalButtonGroups ];
12251227 data [0 ] = totalButtons ;
12261228 data [1 ] = totalButtonGroups ;
12271229 data [2 ] = parse (0 /* STRING */ , chars , null , filterResult );
12281230 data [3 ] = chars [filterResult [0 ]] == ' :'
12291231 ? parse (1 /* NUMBER */ , chars , null , filterResult )
12301232 : 0 /* Activity color */ ; // Old configuration
1233+ data [4 ] = chars [filterResult [0 ]] == ' :'
1234+ ? parse (1 /* NUMBER */ , chars , null , filterResult )
1235+ : 0xFFFFFF /* White */ ; // Old configuration
12311236 i = filterResult [0 ];
1232- var dataIndex = 4 ;
1237+ var dataIndex = 5 ;
12331238
12341239 while (i < chars .size ()) {
12351240 var char = chars [i ];
0 commit comments