diff options
-rw-r--r-- | src/components/services/content/ServiceView.js | 74 | ||||
-rw-r--r-- | src/components/settings/settings/EditSettingsForm.js | 1 | ||||
-rw-r--r-- | src/config.js | 1 | ||||
-rw-r--r-- | src/containers/settings/EditSettingsScreen.js | 10 | ||||
-rw-r--r-- | src/i18n/locales/defaultMessages.json | 77 | ||||
-rw-r--r-- | src/i18n/locales/en-US.json | 1 | ||||
-rw-r--r-- | src/i18n/messages/src/containers/settings/EditSettingsScreen.json | 77 |
7 files changed, 169 insertions, 72 deletions
diff --git a/src/components/services/content/ServiceView.js b/src/components/services/content/ServiceView.js index 59d1c1dc3..c45acc961 100644 --- a/src/components/services/content/ServiceView.js +++ b/src/components/services/content/ServiceView.js | |||
@@ -1,8 +1,9 @@ | |||
1 | import React, { Component, Fragment } from 'react'; | 1 | import React, { Component, Fragment } from 'react'; |
2 | import PropTypes from 'prop-types'; | 2 | import PropTypes from 'prop-types'; |
3 | import { autorun } from 'mobx'; | 3 | import { autorun, reaction } from 'mobx'; |
4 | import { observer } from 'mobx-react'; | 4 | import { observer, inject } from 'mobx-react'; |
5 | import classnames from 'classnames'; | 5 | import classnames from 'classnames'; |
6 | import ms from 'ms'; | ||
6 | 7 | ||
7 | import ServiceModel from '../../../models/Service'; | 8 | import ServiceModel from '../../../models/Service'; |
8 | import StatusBarTargetUrl from '../../ui/StatusBarTargetUrl'; | 9 | import StatusBarTargetUrl from '../../ui/StatusBarTargetUrl'; |
@@ -11,8 +12,9 @@ import WebviewCrashHandler from './WebviewCrashHandler'; | |||
11 | import WebviewErrorHandler from './ErrorHandlers/WebviewErrorHandler'; | 12 | import WebviewErrorHandler from './ErrorHandlers/WebviewErrorHandler'; |
12 | import ServiceDisabled from './ServiceDisabled'; | 13 | import ServiceDisabled from './ServiceDisabled'; |
13 | import ServiceWebview from './ServiceWebview'; | 14 | import ServiceWebview from './ServiceWebview'; |
15 | import SettingsStore from '../../../stores/SettingsStore'; | ||
14 | 16 | ||
15 | export default @observer class ServiceView extends Component { | 17 | export default @observer @inject('stores') class ServiceView extends Component { |
16 | static propTypes = { | 18 | static propTypes = { |
17 | service: PropTypes.instanceOf(ServiceModel).isRequired, | 19 | service: PropTypes.instanceOf(ServiceModel).isRequired, |
18 | setWebviewReference: PropTypes.func.isRequired, | 20 | setWebviewReference: PropTypes.func.isRequired, |
@@ -21,6 +23,9 @@ export default @observer class ServiceView extends Component { | |||
21 | edit: PropTypes.func.isRequired, | 23 | edit: PropTypes.func.isRequired, |
22 | enable: PropTypes.func.isRequired, | 24 | enable: PropTypes.func.isRequired, |
23 | isActive: PropTypes.bool, | 25 | isActive: PropTypes.bool, |
26 | stores: PropTypes.shape({ | ||
27 | settings: PropTypes.instanceOf(SettingsStore).isRequired, | ||
28 | }).isRequired, | ||
24 | }; | 29 | }; |
25 | 30 | ||
26 | static defaultProps = { | 31 | static defaultProps = { |
@@ -31,12 +36,20 @@ export default @observer class ServiceView extends Component { | |||
31 | forceRepaint: false, | 36 | forceRepaint: false, |
32 | targetUrl: '', | 37 | targetUrl: '', |
33 | statusBarVisible: false, | 38 | statusBarVisible: false, |
39 | hibernate: false, | ||
40 | hibernationTimer: null, | ||
34 | }; | 41 | }; |
35 | 42 | ||
36 | autorunDisposer = null; | 43 | autorunDisposer = null; |
37 | 44 | ||
38 | forceRepaintTimeout = null; | 45 | forceRepaintTimeout = null; |
39 | 46 | ||
47 | constructor(props) { | ||
48 | super(props); | ||
49 | |||
50 | this.startHibernationTimer = this.startHibernationTimer.bind(this); | ||
51 | } | ||
52 | |||
40 | componentDidMount() { | 53 | componentDidMount() { |
41 | this.autorunDisposer = autorun(() => { | 54 | this.autorunDisposer = autorun(() => { |
42 | if (this.props.service.isActive) { | 55 | if (this.props.service.isActive) { |
@@ -46,6 +59,31 @@ export default @observer class ServiceView extends Component { | |||
46 | }, 100); | 59 | }, 100); |
47 | } | 60 | } |
48 | }); | 61 | }); |
62 | |||
63 | reaction( | ||
64 | () => this.props.service.isActive, | ||
65 | () => { | ||
66 | if (!this.props.service.isActive && this.props.stores.settings.all.app.hibernate) { | ||
67 | // Service is inactive - start hibernation countdown | ||
68 | this.startHibernationTimer(); | ||
69 | } else { | ||
70 | if (this.state.hibernationTimer) { | ||
71 | // Service is active but we have an active hibernation timer: Clear timeout | ||
72 | clearTimeout(this.state.hibernationTimer); | ||
73 | } | ||
74 | |||
75 | // Service is active, wake up service from hibernation | ||
76 | this.setState({ | ||
77 | hibernate: false, | ||
78 | }); | ||
79 | } | ||
80 | }, | ||
81 | ); | ||
82 | |||
83 | // Start hibernation counter if we are in background | ||
84 | if (!this.props.service.isActive && this.props.stores.settings.all.app.hibernate) { | ||
85 | this.startHibernationTimer(); | ||
86 | } | ||
49 | } | 87 | } |
50 | 88 | ||
51 | componentWillUnmount() { | 89 | componentWillUnmount() { |
@@ -64,6 +102,18 @@ export default @observer class ServiceView extends Component { | |||
64 | }); | 102 | }); |
65 | }; | 103 | }; |
66 | 104 | ||
105 | startHibernationTimer() { | ||
106 | const hibernationTimer = setTimeout(() => { | ||
107 | this.setState({ | ||
108 | hibernate: true, | ||
109 | }); | ||
110 | }, ms('5m')); | ||
111 | |||
112 | this.setState({ | ||
113 | hibernationTimer, | ||
114 | }); | ||
115 | } | ||
116 | |||
67 | render() { | 117 | render() { |
68 | const { | 118 | const { |
69 | detachService, | 119 | detachService, |
@@ -127,11 +177,19 @@ export default @observer class ServiceView extends Component { | |||
127 | </Fragment> | 177 | </Fragment> |
128 | ) : ( | 178 | ) : ( |
129 | <> | 179 | <> |
130 | <ServiceWebview | 180 | {!this.state.hibernate ? ( |
131 | service={service} | 181 | <ServiceWebview |
132 | setWebviewReference={setWebviewReference} | 182 | service={service} |
133 | detachService={detachService} | 183 | setWebviewReference={setWebviewReference} |
134 | /> | 184 | detachService={detachService} |
185 | /> | ||
186 | ) : ( | ||
187 | <div> | ||
188 | <span role="img" aria-label="Sleeping Emoji">😴</span> | ||
189 | {' '} | ||
190 | This service is currently hibernating. If this page doesn't close soon, please try reloading Ferdi. | ||
191 | </div> | ||
192 | )} | ||
135 | </> | 193 | </> |
136 | )} | 194 | )} |
137 | {statusBar} | 195 | {statusBar} |
diff --git a/src/components/settings/settings/EditSettingsForm.js b/src/components/settings/settings/EditSettingsForm.js index 52bd18603..6552220f1 100644 --- a/src/components/settings/settings/EditSettingsForm.js +++ b/src/components/settings/settings/EditSettingsForm.js | |||
@@ -198,6 +198,7 @@ export default @observer class EditSettingsForm extends Component { | |||
198 | <Toggle field={form.$('runInBackground')} /> | 198 | <Toggle field={form.$('runInBackground')} /> |
199 | <Toggle field={form.$('enableSystemTray')} /> | 199 | <Toggle field={form.$('enableSystemTray')} /> |
200 | <Toggle field={form.$('privateNotifications')} /> | 200 | <Toggle field={form.$('privateNotifications')} /> |
201 | <Toggle field={form.$('hibernate')} /> | ||
201 | {process.platform === 'win32' && ( | 202 | {process.platform === 'win32' && ( |
202 | <Toggle field={form.$('minimizeToSystemTray')} /> | 203 | <Toggle field={form.$('minimizeToSystemTray')} /> |
203 | )} | 204 | )} |
diff --git a/src/config.js b/src/config.js index 7de6b3e46..789e31fe3 100644 --- a/src/config.js +++ b/src/config.js | |||
@@ -62,6 +62,7 @@ export const DEFAULT_APP_SETTINGS = { | |||
62 | scheduledDNDEnabled: false, | 62 | scheduledDNDEnabled: false, |
63 | scheduledDNDStart: '17:00', | 63 | scheduledDNDStart: '17:00', |
64 | scheduledDNDEnd: '09:00', | 64 | scheduledDNDEnd: '09:00', |
65 | hibernate: false, | ||
65 | }; | 66 | }; |
66 | 67 | ||
67 | export const DEFAULT_FEATURES_CONFIG = { | 68 | export const DEFAULT_FEATURES_CONFIG = { |
diff --git a/src/containers/settings/EditSettingsScreen.js b/src/containers/settings/EditSettingsScreen.js index 0ae64b6ad..962dc1b65 100644 --- a/src/containers/settings/EditSettingsScreen.js +++ b/src/containers/settings/EditSettingsScreen.js | |||
@@ -49,6 +49,10 @@ const messages = defineMessages({ | |||
49 | id: 'settings.app.form.privateNotifications', | 49 | id: 'settings.app.form.privateNotifications', |
50 | defaultMessage: '!!!Don\'t show message content in notifications', | 50 | defaultMessage: '!!!Don\'t show message content in notifications', |
51 | }, | 51 | }, |
52 | hibernate: { | ||
53 | id: 'settings.app.form.hibernate', | ||
54 | defaultMessage: '!!!Enable service hibernation', | ||
55 | }, | ||
52 | server: { | 56 | server: { |
53 | id: 'settings.app.form.server', | 57 | id: 'settings.app.form.server', |
54 | defaultMessage: '!!!Server', | 58 | defaultMessage: '!!!Server', |
@@ -142,6 +146,7 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e | |||
142 | enableSystemTray: settingsData.enableSystemTray, | 146 | enableSystemTray: settingsData.enableSystemTray, |
143 | minimizeToSystemTray: settingsData.minimizeToSystemTray, | 147 | minimizeToSystemTray: settingsData.minimizeToSystemTray, |
144 | privateNotifications: settingsData.privateNotifications, | 148 | privateNotifications: settingsData.privateNotifications, |
149 | hibernate: settingsData.hibernate, | ||
145 | server: settingsData.server, | 150 | server: settingsData.server, |
146 | todoServer: settingsData.todoServer, | 151 | todoServer: settingsData.todoServer, |
147 | lockingFeatureEnabled: settingsData.lockingFeatureEnabled, | 152 | lockingFeatureEnabled: settingsData.lockingFeatureEnabled, |
@@ -229,6 +234,11 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e | |||
229 | value: settings.all.app.privateNotifications, | 234 | value: settings.all.app.privateNotifications, |
230 | default: DEFAULT_APP_SETTINGS.privateNotifications, | 235 | default: DEFAULT_APP_SETTINGS.privateNotifications, |
231 | }, | 236 | }, |
237 | hibernate: { | ||
238 | label: intl.formatMessage(messages.hibernate), | ||
239 | value: settings.all.app.hibernate, | ||
240 | default: DEFAULT_APP_SETTINGS.hibernate, | ||
241 | }, | ||
232 | server: { | 242 | server: { |
233 | label: intl.formatMessage(messages.server), | 243 | label: intl.formatMessage(messages.server), |
234 | value: settings.all.app.server || API, | 244 | value: settings.all.app.server || API, |
diff --git a/src/i18n/locales/defaultMessages.json b/src/i18n/locales/defaultMessages.json index ccb81a9f3..e1814cc6d 100644 --- a/src/i18n/locales/defaultMessages.json +++ b/src/i18n/locales/defaultMessages.json | |||
@@ -3741,211 +3741,224 @@ | |||
3741 | } | 3741 | } |
3742 | }, | 3742 | }, |
3743 | { | 3743 | { |
3744 | "defaultMessage": "!!!Server", | 3744 | "defaultMessage": "!!!Enable service hibernation", |
3745 | "end": { | 3745 | "end": { |
3746 | "column": 3, | 3746 | "column": 3, |
3747 | "line": 55 | 3747 | "line": 55 |
3748 | }, | 3748 | }, |
3749 | "file": "src/containers/settings/EditSettingsScreen.js", | 3749 | "file": "src/containers/settings/EditSettingsScreen.js", |
3750 | "id": "settings.app.form.hibernate", | ||
3751 | "start": { | ||
3752 | "column": 13, | ||
3753 | "line": 52 | ||
3754 | } | ||
3755 | }, | ||
3756 | { | ||
3757 | "defaultMessage": "!!!Server", | ||
3758 | "end": { | ||
3759 | "column": 3, | ||
3760 | "line": 59 | ||
3761 | }, | ||
3762 | "file": "src/containers/settings/EditSettingsScreen.js", | ||
3750 | "id": "settings.app.form.server", | 3763 | "id": "settings.app.form.server", |
3751 | "start": { | 3764 | "start": { |
3752 | "column": 10, | 3765 | "column": 10, |
3753 | "line": 52 | 3766 | "line": 56 |
3754 | } | 3767 | } |
3755 | }, | 3768 | }, |
3756 | { | 3769 | { |
3757 | "defaultMessage": "!!!Todo Server", | 3770 | "defaultMessage": "!!!Todo Server", |
3758 | "end": { | 3771 | "end": { |
3759 | "column": 3, | 3772 | "column": 3, |
3760 | "line": 59 | 3773 | "line": 63 |
3761 | }, | 3774 | }, |
3762 | "file": "src/containers/settings/EditSettingsScreen.js", | 3775 | "file": "src/containers/settings/EditSettingsScreen.js", |
3763 | "id": "settings.app.form.todoServer", | 3776 | "id": "settings.app.form.todoServer", |
3764 | "start": { | 3777 | "start": { |
3765 | "column": 14, | 3778 | "column": 14, |
3766 | "line": 56 | 3779 | "line": 60 |
3767 | } | 3780 | } |
3768 | }, | 3781 | }, |
3769 | { | 3782 | { |
3770 | "defaultMessage": "!!!Enable Ferdi password lock", | 3783 | "defaultMessage": "!!!Enable Ferdi password lock", |
3771 | "end": { | 3784 | "end": { |
3772 | "column": 3, | 3785 | "column": 3, |
3773 | "line": 63 | 3786 | "line": 67 |
3774 | }, | 3787 | }, |
3775 | "file": "src/containers/settings/EditSettingsScreen.js", | 3788 | "file": "src/containers/settings/EditSettingsScreen.js", |
3776 | "id": "settings.app.form.enableLock", | 3789 | "id": "settings.app.form.enableLock", |
3777 | "start": { | 3790 | "start": { |
3778 | "column": 14, | 3791 | "column": 14, |
3779 | "line": 60 | 3792 | "line": 64 |
3780 | } | 3793 | } |
3781 | }, | 3794 | }, |
3782 | { | 3795 | { |
3783 | "defaultMessage": "!!!Ferdi Lock password", | 3796 | "defaultMessage": "!!!Ferdi Lock password", |
3784 | "end": { | 3797 | "end": { |
3785 | "column": 3, | 3798 | "column": 3, |
3786 | "line": 67 | 3799 | "line": 71 |
3787 | }, | 3800 | }, |
3788 | "file": "src/containers/settings/EditSettingsScreen.js", | 3801 | "file": "src/containers/settings/EditSettingsScreen.js", |
3789 | "id": "settings.app.form.lockPassword", | 3802 | "id": "settings.app.form.lockPassword", |
3790 | "start": { | 3803 | "start": { |
3791 | "column": 16, | 3804 | "column": 16, |
3792 | "line": 64 | 3805 | "line": 68 |
3793 | } | 3806 | } |
3794 | }, | 3807 | }, |
3795 | { | 3808 | { |
3796 | "defaultMessage": "!!!Enable scheduled Do-not-Disturb", | 3809 | "defaultMessage": "!!!Enable scheduled Do-not-Disturb", |
3797 | "end": { | 3810 | "end": { |
3798 | "column": 3, | 3811 | "column": 3, |
3799 | "line": 71 | 3812 | "line": 75 |
3800 | }, | 3813 | }, |
3801 | "file": "src/containers/settings/EditSettingsScreen.js", | 3814 | "file": "src/containers/settings/EditSettingsScreen.js", |
3802 | "id": "settings.app.form.scheduledDNDEnabled", | 3815 | "id": "settings.app.form.scheduledDNDEnabled", |
3803 | "start": { | 3816 | "start": { |
3804 | "column": 23, | 3817 | "column": 23, |
3805 | "line": 68 | 3818 | "line": 72 |
3806 | } | 3819 | } |
3807 | }, | 3820 | }, |
3808 | { | 3821 | { |
3809 | "defaultMessage": "!!!From", | 3822 | "defaultMessage": "!!!From", |
3810 | "end": { | 3823 | "end": { |
3811 | "column": 3, | 3824 | "column": 3, |
3812 | "line": 75 | 3825 | "line": 79 |
3813 | }, | 3826 | }, |
3814 | "file": "src/containers/settings/EditSettingsScreen.js", | 3827 | "file": "src/containers/settings/EditSettingsScreen.js", |
3815 | "id": "settings.app.form.scheduledDNDStart", | 3828 | "id": "settings.app.form.scheduledDNDStart", |
3816 | "start": { | 3829 | "start": { |
3817 | "column": 21, | 3830 | "column": 21, |
3818 | "line": 72 | 3831 | "line": 76 |
3819 | } | 3832 | } |
3820 | }, | 3833 | }, |
3821 | { | 3834 | { |
3822 | "defaultMessage": "!!!To", | 3835 | "defaultMessage": "!!!To", |
3823 | "end": { | 3836 | "end": { |
3824 | "column": 3, | 3837 | "column": 3, |
3825 | "line": 79 | 3838 | "line": 83 |
3826 | }, | 3839 | }, |
3827 | "file": "src/containers/settings/EditSettingsScreen.js", | 3840 | "file": "src/containers/settings/EditSettingsScreen.js", |
3828 | "id": "settings.app.form.scheduledDNDEnd", | 3841 | "id": "settings.app.form.scheduledDNDEnd", |
3829 | "start": { | 3842 | "start": { |
3830 | "column": 19, | 3843 | "column": 19, |
3831 | "line": 76 | 3844 | "line": 80 |
3832 | } | 3845 | } |
3833 | }, | 3846 | }, |
3834 | { | 3847 | { |
3835 | "defaultMessage": "!!!Language", | 3848 | "defaultMessage": "!!!Language", |
3836 | "end": { | 3849 | "end": { |
3837 | "column": 3, | 3850 | "column": 3, |
3838 | "line": 83 | 3851 | "line": 87 |
3839 | }, | 3852 | }, |
3840 | "file": "src/containers/settings/EditSettingsScreen.js", | 3853 | "file": "src/containers/settings/EditSettingsScreen.js", |
3841 | "id": "settings.app.form.language", | 3854 | "id": "settings.app.form.language", |
3842 | "start": { | 3855 | "start": { |
3843 | "column": 12, | 3856 | "column": 12, |
3844 | "line": 80 | 3857 | "line": 84 |
3845 | } | 3858 | } |
3846 | }, | 3859 | }, |
3847 | { | 3860 | { |
3848 | "defaultMessage": "!!!Dark Mode", | 3861 | "defaultMessage": "!!!Dark Mode", |
3849 | "end": { | 3862 | "end": { |
3850 | "column": 3, | 3863 | "column": 3, |
3851 | "line": 87 | 3864 | "line": 91 |
3852 | }, | 3865 | }, |
3853 | "file": "src/containers/settings/EditSettingsScreen.js", | 3866 | "file": "src/containers/settings/EditSettingsScreen.js", |
3854 | "id": "settings.app.form.darkMode", | 3867 | "id": "settings.app.form.darkMode", |
3855 | "start": { | 3868 | "start": { |
3856 | "column": 12, | 3869 | "column": 12, |
3857 | "line": 84 | 3870 | "line": 88 |
3858 | } | 3871 | } |
3859 | }, | 3872 | }, |
3860 | { | 3873 | { |
3861 | "defaultMessage": "!!!Display disabled services tabs", | 3874 | "defaultMessage": "!!!Display disabled services tabs", |
3862 | "end": { | 3875 | "end": { |
3863 | "column": 3, | 3876 | "column": 3, |
3864 | "line": 91 | 3877 | "line": 95 |
3865 | }, | 3878 | }, |
3866 | "file": "src/containers/settings/EditSettingsScreen.js", | 3879 | "file": "src/containers/settings/EditSettingsScreen.js", |
3867 | "id": "settings.app.form.showDisabledServices", | 3880 | "id": "settings.app.form.showDisabledServices", |
3868 | "start": { | 3881 | "start": { |
3869 | "column": 24, | 3882 | "column": 24, |
3870 | "line": 88 | 3883 | "line": 92 |
3871 | } | 3884 | } |
3872 | }, | 3885 | }, |
3873 | { | 3886 | { |
3874 | "defaultMessage": "!!!Show unread message badge when notifications are disabled", | 3887 | "defaultMessage": "!!!Show unread message badge when notifications are disabled", |
3875 | "end": { | 3888 | "end": { |
3876 | "column": 3, | 3889 | "column": 3, |
3877 | "line": 95 | 3890 | "line": 99 |
3878 | }, | 3891 | }, |
3879 | "file": "src/containers/settings/EditSettingsScreen.js", | 3892 | "file": "src/containers/settings/EditSettingsScreen.js", |
3880 | "id": "settings.app.form.showMessagesBadgesWhenMuted", | 3893 | "id": "settings.app.form.showMessagesBadgesWhenMuted", |
3881 | "start": { | 3894 | "start": { |
3882 | "column": 29, | 3895 | "column": 29, |
3883 | "line": 92 | 3896 | "line": 96 |
3884 | } | 3897 | } |
3885 | }, | 3898 | }, |
3886 | { | 3899 | { |
3887 | "defaultMessage": "!!!Enable spell checking", | 3900 | "defaultMessage": "!!!Enable spell checking", |
3888 | "end": { | 3901 | "end": { |
3889 | "column": 3, | 3902 | "column": 3, |
3890 | "line": 99 | 3903 | "line": 103 |
3891 | }, | 3904 | }, |
3892 | "file": "src/containers/settings/EditSettingsScreen.js", | 3905 | "file": "src/containers/settings/EditSettingsScreen.js", |
3893 | "id": "settings.app.form.enableSpellchecking", | 3906 | "id": "settings.app.form.enableSpellchecking", |
3894 | "start": { | 3907 | "start": { |
3895 | "column": 23, | 3908 | "column": 23, |
3896 | "line": 96 | 3909 | "line": 100 |
3897 | } | 3910 | } |
3898 | }, | 3911 | }, |
3899 | { | 3912 | { |
3900 | "defaultMessage": "!!!Enable GPU Acceleration", | 3913 | "defaultMessage": "!!!Enable GPU Acceleration", |
3901 | "end": { | 3914 | "end": { |
3902 | "column": 3, | 3915 | "column": 3, |
3903 | "line": 103 | 3916 | "line": 107 |
3904 | }, | 3917 | }, |
3905 | "file": "src/containers/settings/EditSettingsScreen.js", | 3918 | "file": "src/containers/settings/EditSettingsScreen.js", |
3906 | "id": "settings.app.form.enableGPUAcceleration", | 3919 | "id": "settings.app.form.enableGPUAcceleration", |
3907 | "start": { | 3920 | "start": { |
3908 | "column": 25, | 3921 | "column": 25, |
3909 | "line": 100 | 3922 | "line": 104 |
3910 | } | 3923 | } |
3911 | }, | 3924 | }, |
3912 | { | 3925 | { |
3913 | "defaultMessage": "!!!Include beta versions", | 3926 | "defaultMessage": "!!!Include beta versions", |
3914 | "end": { | 3927 | "end": { |
3915 | "column": 3, | 3928 | "column": 3, |
3916 | "line": 107 | 3929 | "line": 111 |
3917 | }, | 3930 | }, |
3918 | "file": "src/containers/settings/EditSettingsScreen.js", | 3931 | "file": "src/containers/settings/EditSettingsScreen.js", |
3919 | "id": "settings.app.form.beta", | 3932 | "id": "settings.app.form.beta", |
3920 | "start": { | 3933 | "start": { |
3921 | "column": 8, | 3934 | "column": 8, |
3922 | "line": 104 | 3935 | "line": 108 |
3923 | } | 3936 | } |
3924 | }, | 3937 | }, |
3925 | { | 3938 | { |
3926 | "defaultMessage": "!!!Enable Franz Todos", | 3939 | "defaultMessage": "!!!Enable Franz Todos", |
3927 | "end": { | 3940 | "end": { |
3928 | "column": 3, | 3941 | "column": 3, |
3929 | "line": 111 | 3942 | "line": 115 |
3930 | }, | 3943 | }, |
3931 | "file": "src/containers/settings/EditSettingsScreen.js", | 3944 | "file": "src/containers/settings/EditSettingsScreen.js", |
3932 | "id": "settings.app.form.enableTodos", | 3945 | "id": "settings.app.form.enableTodos", |
3933 | "start": { | 3946 | "start": { |
3934 | "column": 15, | 3947 | "column": 15, |
3935 | "line": 108 | 3948 | "line": 112 |
3936 | } | 3949 | } |
3937 | }, | 3950 | }, |
3938 | { | 3951 | { |
3939 | "defaultMessage": "!!!Keep all workspaces loaded", | 3952 | "defaultMessage": "!!!Keep all workspaces loaded", |
3940 | "end": { | 3953 | "end": { |
3941 | "column": 3, | 3954 | "column": 3, |
3942 | "line": 115 | 3955 | "line": 119 |
3943 | }, | 3956 | }, |
3944 | "file": "src/containers/settings/EditSettingsScreen.js", | 3957 | "file": "src/containers/settings/EditSettingsScreen.js", |
3945 | "id": "settings.app.form.keepAllWorkspacesLoaded", | 3958 | "id": "settings.app.form.keepAllWorkspacesLoaded", |
3946 | "start": { | 3959 | "start": { |
3947 | "column": 27, | 3960 | "column": 27, |
3948 | "line": 112 | 3961 | "line": 116 |
3949 | } | 3962 | } |
3950 | } | 3963 | } |
3951 | ], | 3964 | ], |
diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json index 8997a1948..31e7259ca 100644 --- a/src/i18n/locales/en-US.json +++ b/src/i18n/locales/en-US.json | |||
@@ -226,6 +226,7 @@ | |||
226 | "settings.app.form.enableSpellchecking": "Enable spell checking", | 226 | "settings.app.form.enableSpellchecking": "Enable spell checking", |
227 | "settings.app.form.enableSystemTray": "Show Ferdi in system tray", | 227 | "settings.app.form.enableSystemTray": "Show Ferdi in system tray", |
228 | "settings.app.form.enableTodos": "Enable Ferdi Todos", | 228 | "settings.app.form.enableTodos": "Enable Ferdi Todos", |
229 | "settings.app.form.hibernate": "Enable service hibernation", | ||
229 | "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded", | 230 | "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded", |
230 | "settings.app.form.language": "Language", | 231 | "settings.app.form.language": "Language", |
231 | "settings.app.form.lockPassword": "Ferdi Lock password", | 232 | "settings.app.form.lockPassword": "Ferdi Lock password", |
diff --git a/src/i18n/messages/src/containers/settings/EditSettingsScreen.json b/src/i18n/messages/src/containers/settings/EditSettingsScreen.json index da3d8d7f4..dccf8b992 100644 --- a/src/i18n/messages/src/containers/settings/EditSettingsScreen.json +++ b/src/i18n/messages/src/containers/settings/EditSettingsScreen.json | |||
@@ -78,15 +78,28 @@ | |||
78 | } | 78 | } |
79 | }, | 79 | }, |
80 | { | 80 | { |
81 | "id": "settings.app.form.hibernate", | ||
82 | "defaultMessage": "!!!Enable service hibernation", | ||
83 | "file": "src/containers/settings/EditSettingsScreen.js", | ||
84 | "start": { | ||
85 | "line": 52, | ||
86 | "column": 13 | ||
87 | }, | ||
88 | "end": { | ||
89 | "line": 55, | ||
90 | "column": 3 | ||
91 | } | ||
92 | }, | ||
93 | { | ||
81 | "id": "settings.app.form.server", | 94 | "id": "settings.app.form.server", |
82 | "defaultMessage": "!!!Server", | 95 | "defaultMessage": "!!!Server", |
83 | "file": "src/containers/settings/EditSettingsScreen.js", | 96 | "file": "src/containers/settings/EditSettingsScreen.js", |
84 | "start": { | 97 | "start": { |
85 | "line": 52, | 98 | "line": 56, |
86 | "column": 10 | 99 | "column": 10 |
87 | }, | 100 | }, |
88 | "end": { | 101 | "end": { |
89 | "line": 55, | 102 | "line": 59, |
90 | "column": 3 | 103 | "column": 3 |
91 | } | 104 | } |
92 | }, | 105 | }, |
@@ -95,11 +108,11 @@ | |||
95 | "defaultMessage": "!!!Todo Server", | 108 | "defaultMessage": "!!!Todo Server", |
96 | "file": "src/containers/settings/EditSettingsScreen.js", | 109 | "file": "src/containers/settings/EditSettingsScreen.js", |
97 | "start": { | 110 | "start": { |
98 | "line": 56, | 111 | "line": 60, |
99 | "column": 14 | 112 | "column": 14 |
100 | }, | 113 | }, |
101 | "end": { | 114 | "end": { |
102 | "line": 59, | 115 | "line": 63, |
103 | "column": 3 | 116 | "column": 3 |
104 | } | 117 | } |
105 | }, | 118 | }, |
@@ -108,11 +121,11 @@ | |||
108 | "defaultMessage": "!!!Enable Ferdi password lock", | 121 | "defaultMessage": "!!!Enable Ferdi password lock", |
109 | "file": "src/containers/settings/EditSettingsScreen.js", | 122 | "file": "src/containers/settings/EditSettingsScreen.js", |
110 | "start": { | 123 | "start": { |
111 | "line": 60, | 124 | "line": 64, |
112 | "column": 14 | 125 | "column": 14 |
113 | }, | 126 | }, |
114 | "end": { | 127 | "end": { |
115 | "line": 63, | 128 | "line": 67, |
116 | "column": 3 | 129 | "column": 3 |
117 | } | 130 | } |
118 | }, | 131 | }, |
@@ -121,11 +134,11 @@ | |||
121 | "defaultMessage": "!!!Ferdi Lock password", | 134 | "defaultMessage": "!!!Ferdi Lock password", |
122 | "file": "src/containers/settings/EditSettingsScreen.js", | 135 | "file": "src/containers/settings/EditSettingsScreen.js", |
123 | "start": { | 136 | "start": { |
124 | "line": 64, | 137 | "line": 68, |
125 | "column": 16 | 138 | "column": 16 |
126 | }, | 139 | }, |
127 | "end": { | 140 | "end": { |
128 | "line": 67, | 141 | "line": 71, |
129 | "column": 3 | 142 | "column": 3 |
130 | } | 143 | } |
131 | }, | 144 | }, |
@@ -134,11 +147,11 @@ | |||
134 | "defaultMessage": "!!!Enable scheduled Do-not-Disturb", | 147 | "defaultMessage": "!!!Enable scheduled Do-not-Disturb", |
135 | "file": "src/containers/settings/EditSettingsScreen.js", | 148 | "file": "src/containers/settings/EditSettingsScreen.js", |
136 | "start": { | 149 | "start": { |
137 | "line": 68, | 150 | "line": 72, |
138 | "column": 23 | 151 | "column": 23 |
139 | }, | 152 | }, |
140 | "end": { | 153 | "end": { |
141 | "line": 71, | 154 | "line": 75, |
142 | "column": 3 | 155 | "column": 3 |
143 | } | 156 | } |
144 | }, | 157 | }, |
@@ -147,11 +160,11 @@ | |||
147 | "defaultMessage": "!!!From", | 160 | "defaultMessage": "!!!From", |
148 | "file": "src/containers/settings/EditSettingsScreen.js", | 161 | "file": "src/containers/settings/EditSettingsScreen.js", |
149 | "start": { | 162 | "start": { |
150 | "line": 72, | 163 | "line": 76, |
151 | "column": 21 | 164 | "column": 21 |
152 | }, | 165 | }, |
153 | "end": { | 166 | "end": { |
154 | "line": 75, | 167 | "line": 79, |
155 | "column": 3 | 168 | "column": 3 |
156 | } | 169 | } |
157 | }, | 170 | }, |
@@ -160,11 +173,11 @@ | |||
160 | "defaultMessage": "!!!To", | 173 | "defaultMessage": "!!!To", |
161 | "file": "src/containers/settings/EditSettingsScreen.js", | 174 | "file": "src/containers/settings/EditSettingsScreen.js", |
162 | "start": { | 175 | "start": { |
163 | "line": 76, | 176 | "line": 80, |
164 | "column": 19 | 177 | "column": 19 |
165 | }, | 178 | }, |
166 | "end": { | 179 | "end": { |
167 | "line": 79, | 180 | "line": 83, |
168 | "column": 3 | 181 | "column": 3 |
169 | } | 182 | } |
170 | }, | 183 | }, |
@@ -173,11 +186,11 @@ | |||
173 | "defaultMessage": "!!!Language", | 186 | "defaultMessage": "!!!Language", |
174 | "file": "src/containers/settings/EditSettingsScreen.js", | 187 | "file": "src/containers/settings/EditSettingsScreen.js", |
175 | "start": { | 188 | "start": { |
176 | "line": 80, | 189 | "line": 84, |
177 | "column": 12 | 190 | "column": 12 |
178 | }, | 191 | }, |
179 | "end": { | 192 | "end": { |
180 | "line": 83, | 193 | "line": 87, |
181 | "column": 3 | 194 | "column": 3 |
182 | } | 195 | } |
183 | }, | 196 | }, |
@@ -186,11 +199,11 @@ | |||
186 | "defaultMessage": "!!!Dark Mode", | 199 | "defaultMessage": "!!!Dark Mode", |
187 | "file": "src/containers/settings/EditSettingsScreen.js", | 200 | "file": "src/containers/settings/EditSettingsScreen.js", |
188 | "start": { | 201 | "start": { |
189 | "line": 84, | 202 | "line": 88, |
190 | "column": 12 | 203 | "column": 12 |
191 | }, | 204 | }, |
192 | "end": { | 205 | "end": { |
193 | "line": 87, | 206 | "line": 91, |
194 | "column": 3 | 207 | "column": 3 |
195 | } | 208 | } |
196 | }, | 209 | }, |
@@ -199,11 +212,11 @@ | |||
199 | "defaultMessage": "!!!Display disabled services tabs", | 212 | "defaultMessage": "!!!Display disabled services tabs", |
200 | "file": "src/containers/settings/EditSettingsScreen.js", | 213 | "file": "src/containers/settings/EditSettingsScreen.js", |
201 | "start": { | 214 | "start": { |
202 | "line": 88, | 215 | "line": 92, |
203 | "column": 24 | 216 | "column": 24 |
204 | }, | 217 | }, |
205 | "end": { | 218 | "end": { |
206 | "line": 91, | 219 | "line": 95, |
207 | "column": 3 | 220 | "column": 3 |
208 | } | 221 | } |
209 | }, | 222 | }, |
@@ -212,11 +225,11 @@ | |||
212 | "defaultMessage": "!!!Show unread message badge when notifications are disabled", | 225 | "defaultMessage": "!!!Show unread message badge when notifications are disabled", |
213 | "file": "src/containers/settings/EditSettingsScreen.js", | 226 | "file": "src/containers/settings/EditSettingsScreen.js", |
214 | "start": { | 227 | "start": { |
215 | "line": 92, | 228 | "line": 96, |
216 | "column": 29 | 229 | "column": 29 |
217 | }, | 230 | }, |
218 | "end": { | 231 | "end": { |
219 | "line": 95, | 232 | "line": 99, |
220 | "column": 3 | 233 | "column": 3 |
221 | } | 234 | } |
222 | }, | 235 | }, |
@@ -225,11 +238,11 @@ | |||
225 | "defaultMessage": "!!!Enable spell checking", | 238 | "defaultMessage": "!!!Enable spell checking", |
226 | "file": "src/containers/settings/EditSettingsScreen.js", | 239 | "file": "src/containers/settings/EditSettingsScreen.js", |
227 | "start": { | 240 | "start": { |
228 | "line": 96, | 241 | "line": 100, |
229 | "column": 23 | 242 | "column": 23 |
230 | }, | 243 | }, |
231 | "end": { | 244 | "end": { |
232 | "line": 99, | 245 | "line": 103, |
233 | "column": 3 | 246 | "column": 3 |
234 | } | 247 | } |
235 | }, | 248 | }, |
@@ -238,11 +251,11 @@ | |||
238 | "defaultMessage": "!!!Enable GPU Acceleration", | 251 | "defaultMessage": "!!!Enable GPU Acceleration", |
239 | "file": "src/containers/settings/EditSettingsScreen.js", | 252 | "file": "src/containers/settings/EditSettingsScreen.js", |
240 | "start": { | 253 | "start": { |
241 | "line": 100, | 254 | "line": 104, |
242 | "column": 25 | 255 | "column": 25 |
243 | }, | 256 | }, |
244 | "end": { | 257 | "end": { |
245 | "line": 103, | 258 | "line": 107, |
246 | "column": 3 | 259 | "column": 3 |
247 | } | 260 | } |
248 | }, | 261 | }, |
@@ -251,11 +264,11 @@ | |||
251 | "defaultMessage": "!!!Include beta versions", | 264 | "defaultMessage": "!!!Include beta versions", |
252 | "file": "src/containers/settings/EditSettingsScreen.js", | 265 | "file": "src/containers/settings/EditSettingsScreen.js", |
253 | "start": { | 266 | "start": { |
254 | "line": 104, | 267 | "line": 108, |
255 | "column": 8 | 268 | "column": 8 |
256 | }, | 269 | }, |
257 | "end": { | 270 | "end": { |
258 | "line": 107, | 271 | "line": 111, |
259 | "column": 3 | 272 | "column": 3 |
260 | } | 273 | } |
261 | }, | 274 | }, |
@@ -264,11 +277,11 @@ | |||
264 | "defaultMessage": "!!!Enable Franz Todos", | 277 | "defaultMessage": "!!!Enable Franz Todos", |
265 | "file": "src/containers/settings/EditSettingsScreen.js", | 278 | "file": "src/containers/settings/EditSettingsScreen.js", |
266 | "start": { | 279 | "start": { |
267 | "line": 108, | 280 | "line": 112, |
268 | "column": 15 | 281 | "column": 15 |
269 | }, | 282 | }, |
270 | "end": { | 283 | "end": { |
271 | "line": 111, | 284 | "line": 115, |
272 | "column": 3 | 285 | "column": 3 |
273 | } | 286 | } |
274 | }, | 287 | }, |
@@ -277,11 +290,11 @@ | |||
277 | "defaultMessage": "!!!Keep all workspaces loaded", | 290 | "defaultMessage": "!!!Keep all workspaces loaded", |
278 | "file": "src/containers/settings/EditSettingsScreen.js", | 291 | "file": "src/containers/settings/EditSettingsScreen.js", |
279 | "start": { | 292 | "start": { |
280 | "line": 112, | 293 | "line": 116, |
281 | "column": 27 | 294 | "column": 27 |
282 | }, | 295 | }, |
283 | "end": { | 296 | "end": { |
284 | "line": 115, | 297 | "line": 119, |
285 | "column": 3 | 298 | "column": 3 |
286 | } | 299 | } |
287 | } | 300 | } |