Remove unsupported auto-launch setting on Linux
This commit is contained in:
parent
58294eed00
commit
8f0731d498
5 changed files with 37 additions and 8 deletions
|
@ -152,12 +152,14 @@
|
|||
window.setSpellCheck(val);
|
||||
},
|
||||
});
|
||||
new CheckboxView({
|
||||
el: this.$('.auto-launch-setting'),
|
||||
name: 'auto-launch-setting',
|
||||
value: window.initialData.autoLaunch,
|
||||
setFn: window.setAutoLaunch,
|
||||
});
|
||||
if (Settings.isAutoLaunchSupported()) {
|
||||
new CheckboxView({
|
||||
el: this.$('.auto-launch-setting'),
|
||||
name: 'auto-launch-setting',
|
||||
value: window.initialData.autoLaunch,
|
||||
setFn: window.setAutoLaunch,
|
||||
});
|
||||
}
|
||||
if (Settings.isHideMenuBarSupported()) {
|
||||
new CheckboxView({
|
||||
el: this.$('.menu-bar-setting'),
|
||||
|
@ -230,6 +232,7 @@
|
|||
isAudioNotificationSupported: Settings.isAudioNotificationSupported(),
|
||||
isHideMenuBarSupported: Settings.isHideMenuBarSupported(),
|
||||
isDrawAttentionSupported: Settings.isDrawAttentionSupported(),
|
||||
isAutoLaunchSupported: Settings.isAutoLaunchSupported(),
|
||||
hasSystemTheme: true,
|
||||
themeLight: i18n('themeLight'),
|
||||
themeDark: i18n('themeDark'),
|
||||
|
|
|
@ -118,10 +118,12 @@
|
|||
{{ spellCheckDirtyText }}
|
||||
</p>
|
||||
</div>
|
||||
{{ #isAutoLaunchSupported }}
|
||||
<div class='auto-launch-setting'>
|
||||
<input type='checkbox' name='auto-launch-setting' id='auto-launch-setting' />
|
||||
<label for='auto-launch-setting'>{{ autoLaunchDescription }}</label>
|
||||
</div>
|
||||
{{ /isAutoLaunchSupported }}
|
||||
<hr>
|
||||
<div class='calling-setting'>
|
||||
<h3>{{ calling }}</h3>
|
||||
|
|
|
@ -102,6 +102,24 @@ describe('Settings', () => {
|
|||
});
|
||||
});
|
||||
|
||||
describe('isAutoLaunchSupported', () => {
|
||||
it('returns true on Windows', () => {
|
||||
sandbox.stub(process, 'platform').value('win32');
|
||||
sandbox.stub(os, 'release').returns('8.0.0');
|
||||
assert.isTrue(Settings.isAutoLaunchSupported());
|
||||
});
|
||||
|
||||
it('returns true on macOS', () => {
|
||||
sandbox.stub(process, 'platform').value('darwin');
|
||||
assert.isTrue(Settings.isAutoLaunchSupported());
|
||||
});
|
||||
|
||||
it('returns false on Linux', () => {
|
||||
sandbox.stub(process, 'platform').value('linux');
|
||||
assert.isFalse(Settings.isAutoLaunchSupported());
|
||||
});
|
||||
});
|
||||
|
||||
describe('isHideMenuBarSupported', () => {
|
||||
it('returns false on macOS', () => {
|
||||
sandbox.stub(process, 'platform').value('darwin');
|
||||
|
|
|
@ -29,6 +29,12 @@ export const isAudioNotificationSupported = (): boolean =>
|
|||
export const isNotificationGroupingSupported = (): boolean =>
|
||||
!OS.isWindows() || OS.isWindows(MIN_WINDOWS_VERSION);
|
||||
|
||||
// Login item settings are only supported on macOS and Windows, according to [Electron's
|
||||
// docs][0].
|
||||
// [0]: https://www.electronjs.org/docs/api/app#appsetloginitemsettingssettings-macos-windows
|
||||
export const isAutoLaunchSupported = (): boolean =>
|
||||
OS.isWindows() || OS.isMacOS();
|
||||
|
||||
// the "hide menu bar" option is specific to Windows and Linux
|
||||
export const isHideMenuBarSupported = (): boolean => !OS.isMacOS();
|
||||
|
||||
|
|
|
@ -1228,7 +1228,7 @@
|
|||
{
|
||||
"rule": "jQuery-$(",
|
||||
"path": "js/views/settings_view.js",
|
||||
"line": " el: this.$('.auto-launch-setting'),",
|
||||
"line": " el: this.$('.auto-launch-setting'),",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-05-11T20:38:03.542Z",
|
||||
"reasonDetail": "Protected from arbitrary input"
|
||||
|
@ -14225,4 +14225,4 @@
|
|||
"updated": "2021-03-18T21:41:28.361Z",
|
||||
"reasonDetail": "A generic hook. Typically not to be used with non-DOM values."
|
||||
}
|
||||
]
|
||||
]
|
Loading…
Reference in a new issue