Add support for setting TouchBarLabel text color
This commit is contained in:
		
					parent
					
						
							
								0098822fcf
							
						
					
				
			
			
				commit
				
					
						2680ee9f8f
					
				
			
		
					 4 changed files with 21 additions and 1 deletions
				
			
		| 
						 | 
					@ -247,10 +247,18 @@ static NSTouchBarItemIdentifier SliderIdentifier = @"com.electron.touchbar.slide
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- (void)updateLabel:(NSCustomTouchBarItem*)item
 | 
					- (void)updateLabel:(NSCustomTouchBarItem*)item
 | 
				
			||||||
       withSettings:(const mate::PersistentDictionary&)settings {
 | 
					       withSettings:(const mate::PersistentDictionary&)settings {
 | 
				
			||||||
 | 
					  NSTextField* text_field = (NSTextField*)item.view;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  std::string label;
 | 
					  std::string label;
 | 
				
			||||||
  settings.Get("label", &label);
 | 
					  settings.Get("label", &label);
 | 
				
			||||||
  NSTextField* text_field = (NSTextField*)item.view;
 | 
					 | 
				
			||||||
  text_field.stringValue = base::SysUTF8ToNSString(label);
 | 
					  text_field.stringValue = base::SysUTF8ToNSString(label);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  std::string textColor;
 | 
				
			||||||
 | 
					  if (settings.Get("textColor", &textColor) && !textColor.empty()) {
 | 
				
			||||||
 | 
					    text_field.textColor = [self colorFromHexColorString:textColor];
 | 
				
			||||||
 | 
					  } else {
 | 
				
			||||||
 | 
					    text_field.textColor = nil;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- (NSTouchBarItem*)makeColorPickerForID:(NSString*)id
 | 
					- (NSTouchBarItem*)makeColorPickerForID:(NSString*)id
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,6 +8,7 @@ Process: [Main](../tutorial/quick-start.md#main-process)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* `options` Object
 | 
					* `options` Object
 | 
				
			||||||
  * `label` String (optional) - Text to display.
 | 
					  * `label` String (optional) - Text to display.
 | 
				
			||||||
 | 
					  * `textColor` String (optional) - Hex color of text, i.e `#ABCDEF`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Instance Properties
 | 
					### Instance Properties
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -17,3 +18,8 @@ The following properties are available on instances of `TouchBarLabel`:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The label's current text. Changing this value immediately updates the label in
 | 
					The label's current text. Changing this value immediately updates the label in
 | 
				
			||||||
the touch bar.
 | 
					the touch bar.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### `touchBarLabel.textColor`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The label's current text color. Changing this value immediately updates the
 | 
				
			||||||
 | 
					label in the touch bar.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -80,12 +80,15 @@ const finishSpin = () => {
 | 
				
			||||||
  if (uniqueValues === 1) {
 | 
					  if (uniqueValues === 1) {
 | 
				
			||||||
    // All 3 values are the same
 | 
					    // All 3 values are the same
 | 
				
			||||||
    result.label = '💰 Jackpot!'
 | 
					    result.label = '💰 Jackpot!'
 | 
				
			||||||
 | 
					    result.textColor = '#FDFF00'
 | 
				
			||||||
  } else if (uniqueValues === 2) {
 | 
					  } else if (uniqueValues === 2) {
 | 
				
			||||||
    // 2 values are the same
 | 
					    // 2 values are the same
 | 
				
			||||||
    result.label = '😍 Winner!'
 | 
					    result.label = '😍 Winner!'
 | 
				
			||||||
 | 
					    result.textColor = '#FDFF00'
 | 
				
			||||||
  } else {
 | 
					  } else {
 | 
				
			||||||
    // No values are the same
 | 
					    // No values are the same
 | 
				
			||||||
    result.label = '🙁 Spin Again'
 | 
					    result.label = '🙁 Spin Again'
 | 
				
			||||||
 | 
					    result.textColor = null
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  spinning = false
 | 
					  spinning = false
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -94,7 +97,9 @@ const touchBar = new TouchBar([
 | 
				
			||||||
  spin,
 | 
					  spin,
 | 
				
			||||||
  new TouchBarSpacer({size: 'large'}),
 | 
					  new TouchBarSpacer({size: 'large'}),
 | 
				
			||||||
  reel1,
 | 
					  reel1,
 | 
				
			||||||
 | 
					  new TouchBarSpacer({size: 'small'}),
 | 
				
			||||||
  reel2,
 | 
					  reel2,
 | 
				
			||||||
 | 
					  new TouchBarSpacer({size: 'small'}),
 | 
				
			||||||
  reel3,
 | 
					  reel3,
 | 
				
			||||||
  new TouchBarSpacer({size: 'large'}),
 | 
					  new TouchBarSpacer({size: 'large'}),
 | 
				
			||||||
  result
 | 
					  result
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -164,6 +164,7 @@ TouchBar.TouchBarLabel = class TouchBarLabel extends TouchBarItem {
 | 
				
			||||||
    if (config == null) config = {}
 | 
					    if (config == null) config = {}
 | 
				
			||||||
    this.type = 'label'
 | 
					    this.type = 'label'
 | 
				
			||||||
    this._addLiveProperty('label', config.label)
 | 
					    this._addLiveProperty('label', config.label)
 | 
				
			||||||
 | 
					    this._addLiveProperty('textColor', config.textColor)
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue