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
Reference in a new issue