Check that window responds to touchBar selector for pre-10.12.1 compat

This commit is contained in:
Kevin Sawicki 2017-03-03 10:49:42 -08:00
parent c349aeff80
commit ca2898a60e
2 changed files with 5 additions and 1 deletions

View file

@ -369,6 +369,8 @@ bool ScopedDisableResize::disable_resize_ = false;
} }
- (void)resetTouchBar:(const std::vector<mate::PersistentDictionary>&)settings { - (void)resetTouchBar:(const std::vector<mate::PersistentDictionary>&)settings {
if (![self respondsToSelector:@selector(touchBar)]) return;
atom_touch_bar_.reset([[AtomTouchBar alloc] initWithDelegate:self atom_touch_bar_.reset([[AtomTouchBar alloc] initWithDelegate:self
window:shell_ window:shell_
settings:settings]); settings:settings]);

View file

@ -33,16 +33,18 @@ describe('TouchBar module', function () {
}) })
it('can be added to and removed from a window', function () { it('can be added to and removed from a window', function () {
const label = new TouchBarLabel({label: 'bar'})
const touchBar = new TouchBar([ const touchBar = new TouchBar([
new TouchBarButton({label: 'foo', backgroundColor: '#F00', click: () => {}}), new TouchBarButton({label: 'foo', backgroundColor: '#F00', click: () => {}}),
new TouchBarColorPicker({selectedColor: '#F00', change: () => {}}), new TouchBarColorPicker({selectedColor: '#F00', change: () => {}}),
new TouchBarGroup({items: new TouchBar([new TouchBarLabel({label: 'hello'})])}), new TouchBarGroup({items: new TouchBar([new TouchBarLabel({label: 'hello'})])}),
new TouchBarLabel({label: 'bar'}), label,
new TouchBarPopover({items: new TouchBar([new TouchBarButton({label: 'pop'})])}), new TouchBarPopover({items: new TouchBar([new TouchBarButton({label: 'pop'})])}),
new TouchBarSlider({label: 'slide', value: 5, minValue: 2, maxValue: 75, change: () => {}}), new TouchBarSlider({label: 'slide', value: 5, minValue: 2, maxValue: 75, change: () => {}}),
new TouchBarSpacer({size: 'large'}) new TouchBarSpacer({size: 'large'})
]) ])
window.setTouchBar(touchBar) window.setTouchBar(touchBar)
label.label = 'baz'
window.setTouchBar() window.setTouchBar()
window.setTouchBar(new TouchBar([new TouchBarLabel({label: 'two'})])) window.setTouchBar(new TouchBar([new TouchBarLabel({label: 'two'})]))
}) })