From 1e9881dd7d5a5e0d8b44a3d9abf452515c44217d Mon Sep 17 00:00:00 2001
From: Michael Telatynski <7t3chguy@gmail.com>
Date: Mon, 5 Aug 2019 11:58:53 +0100
Subject: [PATCH 1/2] Allow setting in electron whether or not to auto hide
menu bar
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---
src/BasePlatform.js | 12 ++++++++
.../tabs/user/PreferencesUserSettingsTab.js | 30 ++++++++++++++++++-
src/i18n/strings/en_EN.json | 1 +
3 files changed, 42 insertions(+), 1 deletion(-)
diff --git a/src/BasePlatform.js b/src/BasePlatform.js
index 803fe0e500..a97c14bf90 100644
--- a/src/BasePlatform.js
+++ b/src/BasePlatform.js
@@ -128,6 +128,18 @@ export default class BasePlatform {
throw new Error("Unimplemented");
}
+ supportsAutoHideMenuBar(): boolean {
+ return false;
+ }
+
+ async getAutoHideMenuBarEnabled(): boolean {
+ return false;
+ }
+
+ async setAutoHideMenuBarEnabled(enabled: boolean): void {
+ throw new Error("Unimplemented");
+ }
+
supportsMinimizeToTray(): boolean {
return false;
}
diff --git a/src/components/views/settings/tabs/user/PreferencesUserSettingsTab.js b/src/components/views/settings/tabs/user/PreferencesUserSettingsTab.js
index a645632dbc..e02524a7b3 100644
--- a/src/components/views/settings/tabs/user/PreferencesUserSettingsTab.js
+++ b/src/components/views/settings/tabs/user/PreferencesUserSettingsTab.js
@@ -64,6 +64,8 @@ export default class PreferencesUserSettingsTab extends React.Component {
this.state = {
autoLaunch: false,
autoLaunchSupported: false,
+ alwaysShowMenuBar: true,
+ alwaysShowMenuBarSupported: false,
minimizeToTray: true,
minimizeToTraySupported: false,
autocompleteDelay: SettingsStore.getValueAt(SettingLevel.DEVICE, 'autocompleteDelay').toString(10),
@@ -80,6 +82,13 @@ export default class PreferencesUserSettingsTab extends React.Component {
autoLaunch = await platform.getAutoLaunchEnabled();
}
+ const alwaysShowMenuBarSupported = await platform.supportsAutoHideMenuBar();
+ let alwaysShowMenuBar = true;
+
+ if (alwaysShowMenuBarSupported) {
+ alwaysShowMenuBar = !await platform.getAutoHideMenuBarEnabled();
+ }
+
const minimizeToTraySupported = await platform.supportsMinimizeToTray();
let minimizeToTray = true;
@@ -87,13 +96,24 @@ export default class PreferencesUserSettingsTab extends React.Component {
minimizeToTray = await platform.getMinimizeToTrayEnabled();
}
- this.setState({autoLaunch, autoLaunchSupported, minimizeToTraySupported, minimizeToTray});
+ this.setState({
+ autoLaunch,
+ autoLaunchSupported,
+ alwaysShowMenuBarSupported,
+ alwaysShowMenuBar,
+ minimizeToTraySupported,
+ minimizeToTray,
+ });
}
_onAutoLaunchChange = (checked) => {
PlatformPeg.get().setAutoLaunchEnabled(checked).then(() => this.setState({autoLaunch: checked}));
};
+ _onAlwaysShowMenuBarChange = (checked) => {
+ PlatformPeg.get().setAutoHideMenuBarEnabled(!checked).then(() => this.setState({alwaysShowMenuBar: checked}));
+ };
+
_onMinimizeToTrayChange = (checked) => {
PlatformPeg.get().setMinimizeToTrayEnabled(checked).then(() => this.setState({minimizeToTray: checked}));
};
@@ -116,6 +136,13 @@ export default class PreferencesUserSettingsTab extends React.Component {
label={_t('Start automatically after system login')} />;
}
+ let autoHideMenuOption = null;
+ if (this.state.alwaysShowMenuBarSupported) {
+ autoHideMenuOption = ;
+ }
+
let minimizeToTrayOption = null;
if (this.state.minimizeToTraySupported) {
minimizeToTrayOption = {_t("Advanced")}
{this._renderGroup(PreferencesUserSettingsTab.ADVANCED_SETTINGS)}
{minimizeToTrayOption}
+ {autoHideMenuOption}
{autoLaunchOption}
Date: Tue, 6 Aug 2019 18:06:47 +0100
Subject: [PATCH 2/2] delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---
.../tabs/user/PreferencesUserSettingsTab.js | 35 +++++++++++--------
1 file changed, 21 insertions(+), 14 deletions(-)
diff --git a/src/components/views/settings/tabs/user/PreferencesUserSettingsTab.js b/src/components/views/settings/tabs/user/PreferencesUserSettingsTab.js
index e02524a7b3..6507854e59 100644
--- a/src/components/views/settings/tabs/user/PreferencesUserSettingsTab.js
+++ b/src/components/views/settings/tabs/user/PreferencesUserSettingsTab.js
@@ -1,5 +1,6 @@
/*
Copyright 2019 New Vector Ltd
+Copyright 2019 Michael Telatynski <7t3chguy@gmail.com>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -20,8 +21,8 @@ import {SettingLevel} from "../../../../../settings/SettingsStore";
import LabelledToggleSwitch from "../../../elements/LabelledToggleSwitch";
import SettingsStore from "../../../../../settings/SettingsStore";
import Field from "../../../elements/Field";
-const sdk = require("../../../../..");
-const PlatformPeg = require("../../../../../PlatformPeg");
+import sdk from "../../../../..";
+import PlatformPeg from "../../../../../PlatformPeg";
export default class PreferencesUserSettingsTab extends React.Component {
static COMPOSER_SETTINGS = [
@@ -131,23 +132,26 @@ export default class PreferencesUserSettingsTab extends React.Component {
render() {
let autoLaunchOption = null;
if (this.state.autoLaunchSupported) {
- autoLaunchOption = ;
+ autoLaunchOption = ;
}
let autoHideMenuOption = null;
if (this.state.alwaysShowMenuBarSupported) {
- autoHideMenuOption = ;
+ autoHideMenuOption = ;
}
let minimizeToTrayOption = null;
if (this.state.minimizeToTraySupported) {
- minimizeToTrayOption = ;
+ minimizeToTrayOption = ;
}
return (
@@ -168,9 +172,12 @@ export default class PreferencesUserSettingsTab extends React.Component {
{minimizeToTrayOption}
{autoHideMenuOption}
{autoLaunchOption}
-
+
);