diff options
author | 2019-09-20 12:34:56 +0200 | |
---|---|---|
committer | 2019-09-20 12:34:56 +0200 | |
commit | 1d41b849cb7840a1611d34f20bfe636fc8b903dc (patch) | |
tree | 85d2fe39d8d805008d1ba1c2f458b0cda9224bea /src | |
parent | Fix Todos menu (diff) | |
download | ferdium-app-1d41b849cb7840a1611d34f20bfe636fc8b903dc.tar.gz ferdium-app-1d41b849cb7840a1611d34f20bfe636fc8b903dc.tar.zst ferdium-app-1d41b849cb7840a1611d34f20bfe636fc8b903dc.zip |
Implement Quick Switch feature
Diffstat (limited to 'src')
-rw-r--r-- | src/components/layout/AppLayout.js | 2 | ||||
-rw-r--r-- | src/components/ui/Modal/index.js | 3 | ||||
-rw-r--r-- | src/features/quickSwitch/Component.js | 291 | ||||
-rw-r--r-- | src/features/quickSwitch/index.js | 24 | ||||
-rw-r--r-- | src/i18n/locales/defaultMessages.json | 268 | ||||
-rw-r--r-- | src/i18n/locales/en-US.json | 5 | ||||
-rw-r--r-- | src/i18n/locales/ua.json | 2 | ||||
-rw-r--r-- | src/i18n/locales/whitelist_en-US.json | 3 | ||||
-rw-r--r-- | src/i18n/messages/src/components/layout/AppLayout.json | 16 | ||||
-rw-r--r-- | src/i18n/messages/src/features/quickSwitch/Component.json | 28 | ||||
-rw-r--r-- | src/i18n/messages/src/lib/Menu.json | 221 | ||||
-rw-r--r-- | src/lib/Menu.js | 14 | ||||
-rw-r--r-- | src/stores/FeaturesStore.js | 2 |
13 files changed, 651 insertions, 228 deletions
diff --git a/src/components/layout/AppLayout.js b/src/components/layout/AppLayout.js index e82275b9f..2b0719f92 100644 --- a/src/components/layout/AppLayout.js +++ b/src/components/layout/AppLayout.js | |||
@@ -8,6 +8,7 @@ import injectSheet from 'react-jss'; | |||
8 | import InfoBar from '../ui/InfoBar'; | 8 | import InfoBar from '../ui/InfoBar'; |
9 | import { Component as BasicAuth } from '../../features/basicAuth'; | 9 | import { Component as BasicAuth } from '../../features/basicAuth'; |
10 | import { Component as ShareFranz } from '../../features/shareFranz'; | 10 | import { Component as ShareFranz } from '../../features/shareFranz'; |
11 | import { Component as QuickSwitch } from '../../features/quickSwitch'; | ||
11 | import ErrorBoundary from '../util/ErrorBoundary'; | 12 | import ErrorBoundary from '../util/ErrorBoundary'; |
12 | 13 | ||
13 | // import globalMessages from '../../i18n/globalMessages'; | 14 | // import globalMessages from '../../i18n/globalMessages'; |
@@ -185,6 +186,7 @@ class AppLayout extends Component { | |||
185 | )} | 186 | )} |
186 | <BasicAuth /> | 187 | <BasicAuth /> |
187 | <ShareFranz /> | 188 | <ShareFranz /> |
189 | <QuickSwitch /> | ||
188 | {services} | 190 | {services} |
189 | {children} | 191 | {children} |
190 | </div> | 192 | </div> |
diff --git a/src/components/ui/Modal/index.js b/src/components/ui/Modal/index.js index 63d858c47..0af521452 100644 --- a/src/components/ui/Modal/index.js +++ b/src/components/ui/Modal/index.js | |||
@@ -41,6 +41,8 @@ export default @injectCSS(styles) class Modal extends Component { | |||
41 | showClose, | 41 | showClose, |
42 | } = this.props; | 42 | } = this.props; |
43 | 43 | ||
44 | const appRoot = document.getElementById('root'); | ||
45 | |||
44 | return ( | 46 | return ( |
45 | <ReactModal | 47 | <ReactModal |
46 | isOpen={isOpen} | 48 | isOpen={isOpen} |
@@ -53,6 +55,7 @@ export default @injectCSS(styles) class Modal extends Component { | |||
53 | portal={portal} | 55 | portal={portal} |
54 | onRequestClose={close} | 56 | onRequestClose={close} |
55 | shouldCloseOnOverlayClick={shouldCloseOnOverlayClick} | 57 | shouldCloseOnOverlayClick={shouldCloseOnOverlayClick} |
58 | appElement={appRoot} | ||
56 | > | 59 | > |
57 | {showClose && close && ( | 60 | {showClose && close && ( |
58 | <button | 61 | <button |
diff --git a/src/features/quickSwitch/Component.js b/src/features/quickSwitch/Component.js new file mode 100644 index 000000000..3217a3d93 --- /dev/null +++ b/src/features/quickSwitch/Component.js | |||
@@ -0,0 +1,291 @@ | |||
1 | import React, { Component, createRef } from 'react'; | ||
2 | import PropTypes from 'prop-types'; | ||
3 | import { observer, inject } from 'mobx-react'; | ||
4 | import { reaction } from 'mobx'; | ||
5 | import injectSheet from 'react-jss'; | ||
6 | import { defineMessages, intlShape } from 'react-intl'; | ||
7 | import { Input } from '@meetfranz/forms'; | ||
8 | |||
9 | import Modal from '../../components/ui/Modal'; | ||
10 | import { state as ModalState } from '.'; | ||
11 | import ServicesStore from '../../stores/ServicesStore'; | ||
12 | |||
13 | const messages = defineMessages({ | ||
14 | search: { | ||
15 | id: 'feature.quickSwitch.search', | ||
16 | defaultMessage: '!!!Search...', | ||
17 | }, | ||
18 | info: { | ||
19 | id: 'feature.quickSwitch.info', | ||
20 | defaultMessage: '!!!Select a service with TAB, ↑ and ↓. Open a service with ENTER.', | ||
21 | }, | ||
22 | }); | ||
23 | |||
24 | const styles = theme => ({ | ||
25 | modal: { | ||
26 | width: '80%', | ||
27 | maxWidth: 600, | ||
28 | background: theme.styleTypes.primary.contrast, | ||
29 | color: theme.styleTypes.primary.accent, | ||
30 | paddingTop: 30, | ||
31 | }, | ||
32 | services: { | ||
33 | width: '100%', | ||
34 | marginTop: 30, | ||
35 | }, | ||
36 | service: { | ||
37 | background: theme.styleTypes.primary.contrast, | ||
38 | color: theme.colorText, | ||
39 | borderColor: theme.styleTypes.primary.accent, | ||
40 | borderStyle: 'solid', | ||
41 | borderWidth: 1, | ||
42 | borderRadius: 6, | ||
43 | padding: '3px 25px', | ||
44 | marginBottom: 10, | ||
45 | display: 'flex', | ||
46 | alignItems: 'center', | ||
47 | '&:hover': { | ||
48 | background: theme.styleTypes.primary.accent, | ||
49 | color: theme.styleTypes.primary.contrast, | ||
50 | cursor: 'pointer', | ||
51 | }, | ||
52 | }, | ||
53 | activeService: { | ||
54 | background: theme.styleTypes.primary.accent, | ||
55 | color: theme.styleTypes.primary.contrast, | ||
56 | cursor: 'pointer', | ||
57 | }, | ||
58 | serviceIcon: { | ||
59 | width: 50, | ||
60 | height: 50, | ||
61 | paddingRight: 20, | ||
62 | objectFit: 'contain', | ||
63 | }, | ||
64 | }); | ||
65 | |||
66 | export default @injectSheet(styles) @inject('stores', 'actions') @observer class QuickSwitchModal extends Component { | ||
67 | static propTypes = { | ||
68 | classes: PropTypes.object.isRequired, | ||
69 | }; | ||
70 | |||
71 | static contextTypes = { | ||
72 | intl: intlShape, | ||
73 | }; | ||
74 | |||
75 | state = { | ||
76 | selected: 0, | ||
77 | search: '', | ||
78 | wasPrevVisible: false, | ||
79 | } | ||
80 | |||
81 | ARROW_DOWN = 40; | ||
82 | |||
83 | ARROW_UP = 38; | ||
84 | |||
85 | ENTER = 13; | ||
86 | |||
87 | TAB = 9; | ||
88 | |||
89 | inputRef = createRef(); | ||
90 | |||
91 | constructor(props) { | ||
92 | super(props); | ||
93 | |||
94 | this._handleKeyDown = this._handleKeyDown.bind(this); | ||
95 | this._handleSearchUpdate = this._handleSearchUpdate.bind(this); | ||
96 | this._handleVisibilityChange = this._handleVisibilityChange.bind(this); | ||
97 | this.openService = this.openService.bind(this); | ||
98 | |||
99 | reaction( | ||
100 | () => ModalState.isModalVisible, | ||
101 | this._handleVisibilityChange, | ||
102 | ); | ||
103 | } | ||
104 | |||
105 | // Add global keydown listener when component mounts | ||
106 | componentDidMount() { | ||
107 | document.addEventListener('keydown', this._handleKeyDown); | ||
108 | } | ||
109 | |||
110 | // Remove global keydown listener when component unmounts | ||
111 | componentWillUnmount() { | ||
112 | document.removeEventListener('keydown', this._handleKeyDown); | ||
113 | } | ||
114 | |||
115 | // Get currently shown services | ||
116 | services() { | ||
117 | let services = this.props.stores.services.allDisplayed; | ||
118 | if (this.state.search) { | ||
119 | // Apply simple search algorythm | ||
120 | services = services.filter(service => service.name.toLowerCase().includes(this.state.search.toLowerCase())); | ||
121 | } | ||
122 | |||
123 | return services; | ||
124 | } | ||
125 | |||
126 | openService(index) { | ||
127 | // Open service | ||
128 | const service = this.services()[index]; | ||
129 | this.props.actions.service.setActive({ serviceId: service.id }); | ||
130 | |||
131 | // Reset and close modal | ||
132 | this.setState({ | ||
133 | search: '', | ||
134 | }); | ||
135 | this.close(); | ||
136 | } | ||
137 | |||
138 | // Change the selected service | ||
139 | // factor should be -1 or 1 | ||
140 | changeSelected(factor) { | ||
141 | this.setState((state) => { | ||
142 | let newSelected = state.selected + factor; | ||
143 | const services = this.services().length; | ||
144 | |||
145 | // Roll around when on edge of list | ||
146 | if (state.selected < 1 && factor === -1) { | ||
147 | newSelected = services - 1; | ||
148 | } else if ((state.selected >= (services - 1)) && factor === 1) { | ||
149 | newSelected = 0; | ||
150 | } | ||
151 | |||
152 | return { | ||
153 | selected: newSelected, | ||
154 | }; | ||
155 | }); | ||
156 | } | ||
157 | |||
158 | // Handle global key presses to change the selection | ||
159 | _handleKeyDown(event) { | ||
160 | if (ModalState.isModalVisible) { | ||
161 | switch (event.keyCode) { | ||
162 | case this.ARROW_DOWN: | ||
163 | this.changeSelected(1); | ||
164 | break; | ||
165 | case this.TAB: | ||
166 | this.changeSelected(1); | ||
167 | break; | ||
168 | case this.ARROW_UP: | ||
169 | this.changeSelected(-1); | ||
170 | break; | ||
171 | case this.ENTER: | ||
172 | this.openService(this.state.selected); | ||
173 | break; | ||
174 | default: | ||
175 | break; | ||
176 | } | ||
177 | } | ||
178 | } | ||
179 | |||
180 | // Handle update of the search query | ||
181 | _handleSearchUpdate(evt) { | ||
182 | this.setState({ | ||
183 | search: evt.target.value, | ||
184 | }); | ||
185 | } | ||
186 | |||
187 | _handleVisibilityChange() { | ||
188 | const { isModalVisible } = ModalState; | ||
189 | |||
190 | if (isModalVisible && !this.state.wasPrevVisible) { | ||
191 | // Set focus back on current window if its in a service | ||
192 | // TODO: Find a way to gain back focus | ||
193 | |||
194 | // The input "focus" attribute will only work on first modal open | ||
195 | // Manually add focus to the input element | ||
196 | // Wrapped inside timeout to let the modal render first | ||
197 | setTimeout(() => { | ||
198 | if (this.inputRef.current) { | ||
199 | this.inputRef.current.getElementsByTagName('input')[0].focus(); | ||
200 | } | ||
201 | }, 10); | ||
202 | |||
203 | this.setState({ | ||
204 | wasPrevVisible: true, | ||
205 | }); | ||
206 | } else if (!isModalVisible && this.state.wasPrevVisible) { | ||
207 | // Manually blur focus from the input element to prevent | ||
208 | // search query change when modal not visible | ||
209 | setTimeout(() => { | ||
210 | if (this.inputRef.current) { | ||
211 | this.inputRef.current.getElementsByTagName('input')[0].blur(); | ||
212 | } | ||
213 | }, 100); | ||
214 | |||
215 | this.setState({ | ||
216 | wasPrevVisible: false, | ||
217 | }); | ||
218 | } | ||
219 | } | ||
220 | |||
221 | // Close this modal | ||
222 | close() { | ||
223 | ModalState.isModalVisible = false; | ||
224 | } | ||
225 | |||
226 | render() { | ||
227 | const { isModalVisible } = ModalState; | ||
228 | |||
229 | const { | ||
230 | openService, | ||
231 | } = this; | ||
232 | |||
233 | const { | ||
234 | classes, | ||
235 | } = this.props; | ||
236 | |||
237 | const services = this.services(); | ||
238 | |||
239 | const { intl } = this.context; | ||
240 | |||
241 | return ( | ||
242 | <Modal | ||
243 | isOpen={isModalVisible} | ||
244 | className={classes.modal} | ||
245 | shouldCloseOnOverlayClick | ||
246 | close={this.close.bind(this)} | ||
247 | > | ||
248 | <div ref={this.inputRef}> | ||
249 | <Input | ||
250 | placeholder={intl.formatMessage(messages.search)} | ||
251 | focus | ||
252 | value={this.state.search} | ||
253 | onChange={this._handleSearchUpdate} | ||
254 | /> | ||
255 | </div> | ||
256 | |||
257 | <div className={classes.services}> | ||
258 | { services.map((service, index) => ( | ||
259 | <div | ||
260 | className={`${classes.service} ${this.state.selected === index ? classes.activeService : ''}`} | ||
261 | onClick={() => openService(index)} | ||
262 | key={service.id} | ||
263 | > | ||
264 | <img | ||
265 | src={service.icon} | ||
266 | className={classes.serviceIcon} | ||
267 | alt={service.recipe.name} | ||
268 | /> | ||
269 | <div> | ||
270 | { service.name } | ||
271 | </div> | ||
272 | </div> | ||
273 | ))} | ||
274 | </div> | ||
275 | |||
276 | <p>{intl.formatMessage(messages.info)}</p> | ||
277 | </Modal> | ||
278 | ); | ||
279 | } | ||
280 | } | ||
281 | |||
282 | QuickSwitchModal.wrappedComponent.propTypes = { | ||
283 | stores: PropTypes.shape({ | ||
284 | services: PropTypes.instanceOf(ServicesStore).isRequired, | ||
285 | }).isRequired, | ||
286 | actions: PropTypes.shape({ | ||
287 | service: PropTypes.shape({ | ||
288 | setActive: PropTypes.func.isRequired, | ||
289 | }).isRequired, | ||
290 | }).isRequired, | ||
291 | }; | ||
diff --git a/src/features/quickSwitch/index.js b/src/features/quickSwitch/index.js new file mode 100644 index 000000000..c57fad366 --- /dev/null +++ b/src/features/quickSwitch/index.js | |||
@@ -0,0 +1,24 @@ | |||
1 | import { observable } from 'mobx'; | ||
2 | |||
3 | export { default as Component } from './Component'; | ||
4 | |||
5 | const debug = require('debug')('Ferdi:feature:quickSwitch'); | ||
6 | |||
7 | const defaultState = { | ||
8 | isModalVisible: false, | ||
9 | }; | ||
10 | |||
11 | export const state = observable(defaultState); | ||
12 | |||
13 | export default function initialize() { | ||
14 | debug('Initialize quickSwitch feature'); | ||
15 | |||
16 | function showModal() { | ||
17 | state.isModalVisible = true; | ||
18 | } | ||
19 | |||
20 | window.ferdi.features.quickSwitch = { | ||
21 | state, | ||
22 | showModal, | ||
23 | }; | ||
24 | } | ||
diff --git a/src/i18n/locales/defaultMessages.json b/src/i18n/locales/defaultMessages.json index 45d691e22..7f02af685 100644 --- a/src/i18n/locales/defaultMessages.json +++ b/src/i18n/locales/defaultMessages.json | |||
@@ -817,52 +817,52 @@ | |||
817 | "defaultMessage": "!!!Your services have been updated.", | 817 | "defaultMessage": "!!!Your services have been updated.", |
818 | "end": { | 818 | "end": { |
819 | "column": 3, | 819 | "column": 3, |
820 | "line": 30 | 820 | "line": 31 |
821 | }, | 821 | }, |
822 | "file": "src/components/layout/AppLayout.js", | 822 | "file": "src/components/layout/AppLayout.js", |
823 | "id": "infobar.servicesUpdated", | 823 | "id": "infobar.servicesUpdated", |
824 | "start": { | 824 | "start": { |
825 | "column": 19, | 825 | "column": 19, |
826 | "line": 27 | 826 | "line": 28 |
827 | } | 827 | } |
828 | }, | 828 | }, |
829 | { | 829 | { |
830 | "defaultMessage": "!!!Reload services", | 830 | "defaultMessage": "!!!Reload services", |
831 | "end": { | 831 | "end": { |
832 | "column": 3, | 832 | "column": 3, |
833 | "line": 34 | 833 | "line": 35 |
834 | }, | 834 | }, |
835 | "file": "src/components/layout/AppLayout.js", | 835 | "file": "src/components/layout/AppLayout.js", |
836 | "id": "infobar.buttonReloadServices", | 836 | "id": "infobar.buttonReloadServices", |
837 | "start": { | 837 | "start": { |
838 | "column": 24, | 838 | "column": 24, |
839 | "line": 31 | 839 | "line": 32 |
840 | } | 840 | } |
841 | }, | 841 | }, |
842 | { | 842 | { |
843 | "defaultMessage": "!!!Could not load services and user information", | 843 | "defaultMessage": "!!!Could not load services and user information", |
844 | "end": { | 844 | "end": { |
845 | "column": 3, | 845 | "column": 3, |
846 | "line": 38 | 846 | "line": 39 |
847 | }, | 847 | }, |
848 | "file": "src/components/layout/AppLayout.js", | 848 | "file": "src/components/layout/AppLayout.js", |
849 | "id": "infobar.requiredRequestsFailed", | 849 | "id": "infobar.requiredRequestsFailed", |
850 | "start": { | 850 | "start": { |
851 | "column": 26, | 851 | "column": 26, |
852 | "line": 35 | 852 | "line": 36 |
853 | } | 853 | } |
854 | }, | 854 | }, |
855 | { | 855 | { |
856 | "defaultMessage": "!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.", | 856 | "defaultMessage": "!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.", |
857 | "end": { | 857 | "end": { |
858 | "column": 3, | 858 | "column": 3, |
859 | "line": 42 | 859 | "line": 43 |
860 | }, | 860 | }, |
861 | "file": "src/components/layout/AppLayout.js", | 861 | "file": "src/components/layout/AppLayout.js", |
862 | "id": "infobar.authRequestFailed", | 862 | "id": "infobar.authRequestFailed", |
863 | "start": { | 863 | "start": { |
864 | "column": 21, | 864 | "column": 21, |
865 | "line": 39 | 865 | "line": 40 |
866 | } | 866 | } |
867 | } | 867 | } |
868 | ], | 868 | ], |
@@ -4099,6 +4099,37 @@ | |||
4099 | { | 4099 | { |
4100 | "descriptors": [ | 4100 | "descriptors": [ |
4101 | { | 4101 | { |
4102 | "defaultMessage": "!!!Search...", | ||
4103 | "end": { | ||
4104 | "column": 3, | ||
4105 | "line": 17 | ||
4106 | }, | ||
4107 | "file": "src/features/quickSwitch/Component.js", | ||
4108 | "id": "feature.quickSwitch.search", | ||
4109 | "start": { | ||
4110 | "column": 10, | ||
4111 | "line": 14 | ||
4112 | } | ||
4113 | }, | ||
4114 | { | ||
4115 | "defaultMessage": "!!!Select a service with TAB, ↑ and ↓. Open a service with ENTER.", | ||
4116 | "end": { | ||
4117 | "column": 3, | ||
4118 | "line": 21 | ||
4119 | }, | ||
4120 | "file": "src/features/quickSwitch/Component.js", | ||
4121 | "id": "feature.quickSwitch.info", | ||
4122 | "start": { | ||
4123 | "column": 8, | ||
4124 | "line": 18 | ||
4125 | } | ||
4126 | } | ||
4127 | ], | ||
4128 | "path": "src/features/quickSwitch/Component.json" | ||
4129 | }, | ||
4130 | { | ||
4131 | "descriptors": [ | ||
4132 | { | ||
4102 | "defaultMessage": "!!!Changes in Franz {version}", | 4133 | "defaultMessage": "!!!Changes in Franz {version}", |
4103 | "end": { | 4134 | "end": { |
4104 | "column": 3, | 4135 | "column": 3, |
@@ -5196,679 +5227,692 @@ | |||
5196 | } | 5227 | } |
5197 | }, | 5228 | }, |
5198 | { | 5229 | { |
5199 | "defaultMessage": "!!!Back", | 5230 | "defaultMessage": "!!!Open Quick Switch", |
5200 | "end": { | 5231 | "end": { |
5201 | "column": 3, | 5232 | "column": 3, |
5202 | "line": 75 | 5233 | "line": 75 |
5203 | }, | 5234 | }, |
5204 | "file": "src/lib/Menu.js", | 5235 | "file": "src/lib/Menu.js", |
5236 | "id": "menu.view.openQuickSwitch", | ||
5237 | "start": { | ||
5238 | "column": 19, | ||
5239 | "line": 72 | ||
5240 | } | ||
5241 | }, | ||
5242 | { | ||
5243 | "defaultMessage": "!!!Back", | ||
5244 | "end": { | ||
5245 | "column": 3, | ||
5246 | "line": 79 | ||
5247 | }, | ||
5248 | "file": "src/lib/Menu.js", | ||
5205 | "id": "menu.view.back", | 5249 | "id": "menu.view.back", |
5206 | "start": { | 5250 | "start": { |
5207 | "column": 8, | 5251 | "column": 8, |
5208 | "line": 72 | 5252 | "line": 76 |
5209 | } | 5253 | } |
5210 | }, | 5254 | }, |
5211 | { | 5255 | { |
5212 | "defaultMessage": "!!!Forward", | 5256 | "defaultMessage": "!!!Forward", |
5213 | "end": { | 5257 | "end": { |
5214 | "column": 3, | 5258 | "column": 3, |
5215 | "line": 79 | 5259 | "line": 83 |
5216 | }, | 5260 | }, |
5217 | "file": "src/lib/Menu.js", | 5261 | "file": "src/lib/Menu.js", |
5218 | "id": "menu.view.forward", | 5262 | "id": "menu.view.forward", |
5219 | "start": { | 5263 | "start": { |
5220 | "column": 11, | 5264 | "column": 11, |
5221 | "line": 76 | 5265 | "line": 80 |
5222 | } | 5266 | } |
5223 | }, | 5267 | }, |
5224 | { | 5268 | { |
5225 | "defaultMessage": "!!!Actual Size", | 5269 | "defaultMessage": "!!!Actual Size", |
5226 | "end": { | 5270 | "end": { |
5227 | "column": 3, | 5271 | "column": 3, |
5228 | "line": 83 | 5272 | "line": 87 |
5229 | }, | 5273 | }, |
5230 | "file": "src/lib/Menu.js", | 5274 | "file": "src/lib/Menu.js", |
5231 | "id": "menu.view.resetZoom", | 5275 | "id": "menu.view.resetZoom", |
5232 | "start": { | 5276 | "start": { |
5233 | "column": 13, | 5277 | "column": 13, |
5234 | "line": 80 | 5278 | "line": 84 |
5235 | } | 5279 | } |
5236 | }, | 5280 | }, |
5237 | { | 5281 | { |
5238 | "defaultMessage": "!!!Zoom In", | 5282 | "defaultMessage": "!!!Zoom In", |
5239 | "end": { | 5283 | "end": { |
5240 | "column": 3, | 5284 | "column": 3, |
5241 | "line": 87 | 5285 | "line": 91 |
5242 | }, | 5286 | }, |
5243 | "file": "src/lib/Menu.js", | 5287 | "file": "src/lib/Menu.js", |
5244 | "id": "menu.view.zoomIn", | 5288 | "id": "menu.view.zoomIn", |
5245 | "start": { | 5289 | "start": { |
5246 | "column": 10, | 5290 | "column": 10, |
5247 | "line": 84 | 5291 | "line": 88 |
5248 | } | 5292 | } |
5249 | }, | 5293 | }, |
5250 | { | 5294 | { |
5251 | "defaultMessage": "!!!Zoom Out", | 5295 | "defaultMessage": "!!!Zoom Out", |
5252 | "end": { | 5296 | "end": { |
5253 | "column": 3, | 5297 | "column": 3, |
5254 | "line": 91 | 5298 | "line": 95 |
5255 | }, | 5299 | }, |
5256 | "file": "src/lib/Menu.js", | 5300 | "file": "src/lib/Menu.js", |
5257 | "id": "menu.view.zoomOut", | 5301 | "id": "menu.view.zoomOut", |
5258 | "start": { | 5302 | "start": { |
5259 | "column": 11, | 5303 | "column": 11, |
5260 | "line": 88 | 5304 | "line": 92 |
5261 | } | 5305 | } |
5262 | }, | 5306 | }, |
5263 | { | 5307 | { |
5264 | "defaultMessage": "!!!Enter Full Screen", | 5308 | "defaultMessage": "!!!Enter Full Screen", |
5265 | "end": { | 5309 | "end": { |
5266 | "column": 3, | 5310 | "column": 3, |
5267 | "line": 95 | 5311 | "line": 99 |
5268 | }, | 5312 | }, |
5269 | "file": "src/lib/Menu.js", | 5313 | "file": "src/lib/Menu.js", |
5270 | "id": "menu.view.enterFullScreen", | 5314 | "id": "menu.view.enterFullScreen", |
5271 | "start": { | 5315 | "start": { |
5272 | "column": 19, | 5316 | "column": 19, |
5273 | "line": 92 | 5317 | "line": 96 |
5274 | } | 5318 | } |
5275 | }, | 5319 | }, |
5276 | { | 5320 | { |
5277 | "defaultMessage": "!!!Exit Full Screen", | 5321 | "defaultMessage": "!!!Exit Full Screen", |
5278 | "end": { | 5322 | "end": { |
5279 | "column": 3, | 5323 | "column": 3, |
5280 | "line": 99 | 5324 | "line": 103 |
5281 | }, | 5325 | }, |
5282 | "file": "src/lib/Menu.js", | 5326 | "file": "src/lib/Menu.js", |
5283 | "id": "menu.view.exitFullScreen", | 5327 | "id": "menu.view.exitFullScreen", |
5284 | "start": { | 5328 | "start": { |
5285 | "column": 18, | 5329 | "column": 18, |
5286 | "line": 96 | 5330 | "line": 100 |
5287 | } | 5331 | } |
5288 | }, | 5332 | }, |
5289 | { | 5333 | { |
5290 | "defaultMessage": "!!!Toggle Full Screen", | 5334 | "defaultMessage": "!!!Toggle Full Screen", |
5291 | "end": { | 5335 | "end": { |
5292 | "column": 3, | 5336 | "column": 3, |
5293 | "line": 103 | 5337 | "line": 107 |
5294 | }, | 5338 | }, |
5295 | "file": "src/lib/Menu.js", | 5339 | "file": "src/lib/Menu.js", |
5296 | "id": "menu.view.toggleFullScreen", | 5340 | "id": "menu.view.toggleFullScreen", |
5297 | "start": { | 5341 | "start": { |
5298 | "column": 20, | 5342 | "column": 20, |
5299 | "line": 100 | 5343 | "line": 104 |
5300 | } | 5344 | } |
5301 | }, | 5345 | }, |
5302 | { | 5346 | { |
5303 | "defaultMessage": "!!!Toggle Developer Tools", | 5347 | "defaultMessage": "!!!Toggle Developer Tools", |
5304 | "end": { | 5348 | "end": { |
5305 | "column": 3, | 5349 | "column": 3, |
5306 | "line": 107 | 5350 | "line": 111 |
5307 | }, | 5351 | }, |
5308 | "file": "src/lib/Menu.js", | 5352 | "file": "src/lib/Menu.js", |
5309 | "id": "menu.view.toggleDevTools", | 5353 | "id": "menu.view.toggleDevTools", |
5310 | "start": { | 5354 | "start": { |
5311 | "column": 18, | 5355 | "column": 18, |
5312 | "line": 104 | 5356 | "line": 108 |
5313 | } | 5357 | } |
5314 | }, | 5358 | }, |
5315 | { | 5359 | { |
5316 | "defaultMessage": "!!!Toggle Todos Developer Tools", | 5360 | "defaultMessage": "!!!Toggle Todos Developer Tools", |
5317 | "end": { | 5361 | "end": { |
5318 | "column": 3, | 5362 | "column": 3, |
5319 | "line": 111 | 5363 | "line": 115 |
5320 | }, | 5364 | }, |
5321 | "file": "src/lib/Menu.js", | 5365 | "file": "src/lib/Menu.js", |
5322 | "id": "menu.view.toggleTodosDevTools", | 5366 | "id": "menu.view.toggleTodosDevTools", |
5323 | "start": { | 5367 | "start": { |
5324 | "column": 23, | 5368 | "column": 23, |
5325 | "line": 108 | 5369 | "line": 112 |
5326 | } | 5370 | } |
5327 | }, | 5371 | }, |
5328 | { | 5372 | { |
5329 | "defaultMessage": "!!!Toggle Service Developer Tools", | 5373 | "defaultMessage": "!!!Toggle Service Developer Tools", |
5330 | "end": { | 5374 | "end": { |
5331 | "column": 3, | 5375 | "column": 3, |
5332 | "line": 115 | 5376 | "line": 119 |
5333 | }, | 5377 | }, |
5334 | "file": "src/lib/Menu.js", | 5378 | "file": "src/lib/Menu.js", |
5335 | "id": "menu.view.toggleServiceDevTools", | 5379 | "id": "menu.view.toggleServiceDevTools", |
5336 | "start": { | 5380 | "start": { |
5337 | "column": 25, | 5381 | "column": 25, |
5338 | "line": 112 | 5382 | "line": 116 |
5339 | } | 5383 | } |
5340 | }, | 5384 | }, |
5341 | { | 5385 | { |
5342 | "defaultMessage": "!!!Reload Service", | 5386 | "defaultMessage": "!!!Reload Service", |
5343 | "end": { | 5387 | "end": { |
5344 | "column": 3, | 5388 | "column": 3, |
5345 | "line": 119 | 5389 | "line": 123 |
5346 | }, | 5390 | }, |
5347 | "file": "src/lib/Menu.js", | 5391 | "file": "src/lib/Menu.js", |
5348 | "id": "menu.view.reloadService", | 5392 | "id": "menu.view.reloadService", |
5349 | "start": { | 5393 | "start": { |
5350 | "column": 17, | 5394 | "column": 17, |
5351 | "line": 116 | 5395 | "line": 120 |
5352 | } | 5396 | } |
5353 | }, | 5397 | }, |
5354 | { | 5398 | { |
5355 | "defaultMessage": "!!!Reload Ferdi", | 5399 | "defaultMessage": "!!!Reload Ferdi", |
5356 | "end": { | 5400 | "end": { |
5357 | "column": 3, | 5401 | "column": 3, |
5358 | "line": 123 | 5402 | "line": 127 |
5359 | }, | 5403 | }, |
5360 | "file": "src/lib/Menu.js", | 5404 | "file": "src/lib/Menu.js", |
5361 | "id": "menu.view.reloadFranz", | 5405 | "id": "menu.view.reloadFranz", |
5362 | "start": { | 5406 | "start": { |
5363 | "column": 15, | 5407 | "column": 15, |
5364 | "line": 120 | 5408 | "line": 124 |
5365 | } | 5409 | } |
5366 | }, | 5410 | }, |
5367 | { | 5411 | { |
5368 | "defaultMessage": "!!!Lock Ferdi", | 5412 | "defaultMessage": "!!!Lock Ferdi", |
5369 | "end": { | 5413 | "end": { |
5370 | "column": 3, | 5414 | "column": 3, |
5371 | "line": 127 | 5415 | "line": 131 |
5372 | }, | 5416 | }, |
5373 | "file": "src/lib/Menu.js", | 5417 | "file": "src/lib/Menu.js", |
5374 | "id": "menu.view.lockFerdi", | 5418 | "id": "menu.view.lockFerdi", |
5375 | "start": { | 5419 | "start": { |
5376 | "column": 13, | 5420 | "column": 13, |
5377 | "line": 124 | 5421 | "line": 128 |
5378 | } | 5422 | } |
5379 | }, | 5423 | }, |
5380 | { | 5424 | { |
5381 | "defaultMessage": "!!!Minimize", | 5425 | "defaultMessage": "!!!Minimize", |
5382 | "end": { | 5426 | "end": { |
5383 | "column": 3, | 5427 | "column": 3, |
5384 | "line": 131 | 5428 | "line": 135 |
5385 | }, | 5429 | }, |
5386 | "file": "src/lib/Menu.js", | 5430 | "file": "src/lib/Menu.js", |
5387 | "id": "menu.window.minimize", | 5431 | "id": "menu.window.minimize", |
5388 | "start": { | 5432 | "start": { |
5389 | "column": 12, | 5433 | "column": 12, |
5390 | "line": 128 | 5434 | "line": 132 |
5391 | } | 5435 | } |
5392 | }, | 5436 | }, |
5393 | { | 5437 | { |
5394 | "defaultMessage": "!!!Close", | 5438 | "defaultMessage": "!!!Close", |
5395 | "end": { | 5439 | "end": { |
5396 | "column": 3, | 5440 | "column": 3, |
5397 | "line": 135 | 5441 | "line": 139 |
5398 | }, | 5442 | }, |
5399 | "file": "src/lib/Menu.js", | 5443 | "file": "src/lib/Menu.js", |
5400 | "id": "menu.window.close", | 5444 | "id": "menu.window.close", |
5401 | "start": { | 5445 | "start": { |
5402 | "column": 9, | 5446 | "column": 9, |
5403 | "line": 132 | 5447 | "line": 136 |
5404 | } | 5448 | } |
5405 | }, | 5449 | }, |
5406 | { | 5450 | { |
5407 | "defaultMessage": "!!!Learn More", | 5451 | "defaultMessage": "!!!Learn More", |
5408 | "end": { | 5452 | "end": { |
5409 | "column": 3, | 5453 | "column": 3, |
5410 | "line": 139 | 5454 | "line": 143 |
5411 | }, | 5455 | }, |
5412 | "file": "src/lib/Menu.js", | 5456 | "file": "src/lib/Menu.js", |
5413 | "id": "menu.help.learnMore", | 5457 | "id": "menu.help.learnMore", |
5414 | "start": { | 5458 | "start": { |
5415 | "column": 13, | 5459 | "column": 13, |
5416 | "line": 136 | 5460 | "line": 140 |
5417 | } | 5461 | } |
5418 | }, | 5462 | }, |
5419 | { | 5463 | { |
5420 | "defaultMessage": "!!!Changelog", | 5464 | "defaultMessage": "!!!Changelog", |
5421 | "end": { | 5465 | "end": { |
5422 | "column": 3, | 5466 | "column": 3, |
5423 | "line": 143 | 5467 | "line": 147 |
5424 | }, | 5468 | }, |
5425 | "file": "src/lib/Menu.js", | 5469 | "file": "src/lib/Menu.js", |
5426 | "id": "menu.help.changelog", | 5470 | "id": "menu.help.changelog", |
5427 | "start": { | 5471 | "start": { |
5428 | "column": 13, | 5472 | "column": 13, |
5429 | "line": 140 | 5473 | "line": 144 |
5430 | } | 5474 | } |
5431 | }, | 5475 | }, |
5432 | { | 5476 | { |
5433 | "defaultMessage": "!!!Support", | 5477 | "defaultMessage": "!!!Support", |
5434 | "end": { | 5478 | "end": { |
5435 | "column": 3, | 5479 | "column": 3, |
5436 | "line": 147 | 5480 | "line": 151 |
5437 | }, | 5481 | }, |
5438 | "file": "src/lib/Menu.js", | 5482 | "file": "src/lib/Menu.js", |
5439 | "id": "menu.help.support", | 5483 | "id": "menu.help.support", |
5440 | "start": { | 5484 | "start": { |
5441 | "column": 11, | 5485 | "column": 11, |
5442 | "line": 144 | 5486 | "line": 148 |
5443 | } | 5487 | } |
5444 | }, | 5488 | }, |
5445 | { | 5489 | { |
5446 | "defaultMessage": "!!!Copy Debug Information", | 5490 | "defaultMessage": "!!!Copy Debug Information", |
5447 | "end": { | 5491 | "end": { |
5448 | "column": 3, | 5492 | "column": 3, |
5449 | "line": 151 | 5493 | "line": 155 |
5450 | }, | 5494 | }, |
5451 | "file": "src/lib/Menu.js", | 5495 | "file": "src/lib/Menu.js", |
5452 | "id": "menu.help.debugInfo", | 5496 | "id": "menu.help.debugInfo", |
5453 | "start": { | 5497 | "start": { |
5454 | "column": 13, | 5498 | "column": 13, |
5455 | "line": 148 | 5499 | "line": 152 |
5456 | } | 5500 | } |
5457 | }, | 5501 | }, |
5458 | { | 5502 | { |
5459 | "defaultMessage": "!!!Ferdi Debug Information", | 5503 | "defaultMessage": "!!!Ferdi Debug Information", |
5460 | "end": { | 5504 | "end": { |
5461 | "column": 3, | 5505 | "column": 3, |
5462 | "line": 155 | 5506 | "line": 159 |
5463 | }, | 5507 | }, |
5464 | "file": "src/lib/Menu.js", | 5508 | "file": "src/lib/Menu.js", |
5465 | "id": "menu.help.debugInfoCopiedHeadline", | 5509 | "id": "menu.help.debugInfoCopiedHeadline", |
5466 | "start": { | 5510 | "start": { |
5467 | "column": 27, | 5511 | "column": 27, |
5468 | "line": 152 | 5512 | "line": 156 |
5469 | } | 5513 | } |
5470 | }, | 5514 | }, |
5471 | { | 5515 | { |
5472 | "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.", | 5516 | "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.", |
5473 | "end": { | 5517 | "end": { |
5474 | "column": 3, | 5518 | "column": 3, |
5475 | "line": 159 | 5519 | "line": 163 |
5476 | }, | 5520 | }, |
5477 | "file": "src/lib/Menu.js", | 5521 | "file": "src/lib/Menu.js", |
5478 | "id": "menu.help.debugInfoCopiedBody", | 5522 | "id": "menu.help.debugInfoCopiedBody", |
5479 | "start": { | 5523 | "start": { |
5480 | "column": 23, | 5524 | "column": 23, |
5481 | "line": 156 | 5525 | "line": 160 |
5482 | } | 5526 | } |
5483 | }, | 5527 | }, |
5484 | { | 5528 | { |
5485 | "defaultMessage": "!!!Terms of Service", | 5529 | "defaultMessage": "!!!Terms of Service", |
5486 | "end": { | 5530 | "end": { |
5487 | "column": 3, | 5531 | "column": 3, |
5488 | "line": 163 | 5532 | "line": 167 |
5489 | }, | 5533 | }, |
5490 | "file": "src/lib/Menu.js", | 5534 | "file": "src/lib/Menu.js", |
5491 | "id": "menu.help.tos", | 5535 | "id": "menu.help.tos", |
5492 | "start": { | 5536 | "start": { |
5493 | "column": 7, | 5537 | "column": 7, |
5494 | "line": 160 | 5538 | "line": 164 |
5495 | } | 5539 | } |
5496 | }, | 5540 | }, |
5497 | { | 5541 | { |
5498 | "defaultMessage": "!!!Privacy Statement", | 5542 | "defaultMessage": "!!!Privacy Statement", |
5499 | "end": { | 5543 | "end": { |
5500 | "column": 3, | 5544 | "column": 3, |
5501 | "line": 167 | 5545 | "line": 171 |
5502 | }, | 5546 | }, |
5503 | "file": "src/lib/Menu.js", | 5547 | "file": "src/lib/Menu.js", |
5504 | "id": "menu.help.privacy", | 5548 | "id": "menu.help.privacy", |
5505 | "start": { | 5549 | "start": { |
5506 | "column": 11, | 5550 | "column": 11, |
5507 | "line": 164 | 5551 | "line": 168 |
5508 | } | 5552 | } |
5509 | }, | 5553 | }, |
5510 | { | 5554 | { |
5511 | "defaultMessage": "!!!File", | 5555 | "defaultMessage": "!!!File", |
5512 | "end": { | 5556 | "end": { |
5513 | "column": 3, | 5557 | "column": 3, |
5514 | "line": 171 | 5558 | "line": 175 |
5515 | }, | 5559 | }, |
5516 | "file": "src/lib/Menu.js", | 5560 | "file": "src/lib/Menu.js", |
5517 | "id": "menu.file", | 5561 | "id": "menu.file", |
5518 | "start": { | 5562 | "start": { |
5519 | "column": 8, | 5563 | "column": 8, |
5520 | "line": 168 | 5564 | "line": 172 |
5521 | } | 5565 | } |
5522 | }, | 5566 | }, |
5523 | { | 5567 | { |
5524 | "defaultMessage": "!!!View", | 5568 | "defaultMessage": "!!!View", |
5525 | "end": { | 5569 | "end": { |
5526 | "column": 3, | 5570 | "column": 3, |
5527 | "line": 175 | 5571 | "line": 179 |
5528 | }, | 5572 | }, |
5529 | "file": "src/lib/Menu.js", | 5573 | "file": "src/lib/Menu.js", |
5530 | "id": "menu.view", | 5574 | "id": "menu.view", |
5531 | "start": { | 5575 | "start": { |
5532 | "column": 8, | 5576 | "column": 8, |
5533 | "line": 172 | 5577 | "line": 176 |
5534 | } | 5578 | } |
5535 | }, | 5579 | }, |
5536 | { | 5580 | { |
5537 | "defaultMessage": "!!!Services", | 5581 | "defaultMessage": "!!!Services", |
5538 | "end": { | 5582 | "end": { |
5539 | "column": 3, | 5583 | "column": 3, |
5540 | "line": 179 | 5584 | "line": 183 |
5541 | }, | 5585 | }, |
5542 | "file": "src/lib/Menu.js", | 5586 | "file": "src/lib/Menu.js", |
5543 | "id": "menu.services", | 5587 | "id": "menu.services", |
5544 | "start": { | 5588 | "start": { |
5545 | "column": 12, | 5589 | "column": 12, |
5546 | "line": 176 | 5590 | "line": 180 |
5547 | } | 5591 | } |
5548 | }, | 5592 | }, |
5549 | { | 5593 | { |
5550 | "defaultMessage": "!!!Window", | 5594 | "defaultMessage": "!!!Window", |
5551 | "end": { | 5595 | "end": { |
5552 | "column": 3, | 5596 | "column": 3, |
5553 | "line": 183 | 5597 | "line": 187 |
5554 | }, | 5598 | }, |
5555 | "file": "src/lib/Menu.js", | 5599 | "file": "src/lib/Menu.js", |
5556 | "id": "menu.window", | 5600 | "id": "menu.window", |
5557 | "start": { | 5601 | "start": { |
5558 | "column": 10, | 5602 | "column": 10, |
5559 | "line": 180 | 5603 | "line": 184 |
5560 | } | 5604 | } |
5561 | }, | 5605 | }, |
5562 | { | 5606 | { |
5563 | "defaultMessage": "!!!Help", | 5607 | "defaultMessage": "!!!Help", |
5564 | "end": { | 5608 | "end": { |
5565 | "column": 3, | 5609 | "column": 3, |
5566 | "line": 187 | 5610 | "line": 191 |
5567 | }, | 5611 | }, |
5568 | "file": "src/lib/Menu.js", | 5612 | "file": "src/lib/Menu.js", |
5569 | "id": "menu.help", | 5613 | "id": "menu.help", |
5570 | "start": { | 5614 | "start": { |
5571 | "column": 8, | 5615 | "column": 8, |
5572 | "line": 184 | 5616 | "line": 188 |
5573 | } | 5617 | } |
5574 | }, | 5618 | }, |
5575 | { | 5619 | { |
5576 | "defaultMessage": "!!!About Ferdi", | 5620 | "defaultMessage": "!!!About Ferdi", |
5577 | "end": { | 5621 | "end": { |
5578 | "column": 3, | 5622 | "column": 3, |
5579 | "line": 191 | 5623 | "line": 195 |
5580 | }, | 5624 | }, |
5581 | "file": "src/lib/Menu.js", | 5625 | "file": "src/lib/Menu.js", |
5582 | "id": "menu.app.about", | 5626 | "id": "menu.app.about", |
5583 | "start": { | 5627 | "start": { |
5584 | "column": 9, | 5628 | "column": 9, |
5585 | "line": 188 | 5629 | "line": 192 |
5586 | } | 5630 | } |
5587 | }, | 5631 | }, |
5588 | { | 5632 | { |
5589 | "defaultMessage": "!!!What's new?", | 5633 | "defaultMessage": "!!!What's new?", |
5590 | "end": { | 5634 | "end": { |
5591 | "column": 3, | 5635 | "column": 3, |
5592 | "line": 195 | 5636 | "line": 199 |
5593 | }, | 5637 | }, |
5594 | "file": "src/lib/Menu.js", | 5638 | "file": "src/lib/Menu.js", |
5595 | "id": "menu.app.announcement", | 5639 | "id": "menu.app.announcement", |
5596 | "start": { | 5640 | "start": { |
5597 | "column": 16, | 5641 | "column": 16, |
5598 | "line": 192 | 5642 | "line": 196 |
5599 | } | 5643 | } |
5600 | }, | 5644 | }, |
5601 | { | 5645 | { |
5602 | "defaultMessage": "!!!Settings", | 5646 | "defaultMessage": "!!!Settings", |
5603 | "end": { | 5647 | "end": { |
5604 | "column": 3, | 5648 | "column": 3, |
5605 | "line": 199 | 5649 | "line": 203 |
5606 | }, | 5650 | }, |
5607 | "file": "src/lib/Menu.js", | 5651 | "file": "src/lib/Menu.js", |
5608 | "id": "menu.app.settings", | 5652 | "id": "menu.app.settings", |
5609 | "start": { | 5653 | "start": { |
5610 | "column": 12, | 5654 | "column": 12, |
5611 | "line": 196 | 5655 | "line": 200 |
5612 | } | 5656 | } |
5613 | }, | 5657 | }, |
5614 | { | 5658 | { |
5615 | "defaultMessage": "!!!Check for updates", | 5659 | "defaultMessage": "!!!Check for updates", |
5616 | "end": { | 5660 | "end": { |
5617 | "column": 3, | 5661 | "column": 3, |
5618 | "line": 203 | 5662 | "line": 207 |
5619 | }, | 5663 | }, |
5620 | "file": "src/lib/Menu.js", | 5664 | "file": "src/lib/Menu.js", |
5621 | "id": "menu.app.checkForUpdates", | 5665 | "id": "menu.app.checkForUpdates", |
5622 | "start": { | 5666 | "start": { |
5623 | "column": 19, | 5667 | "column": 19, |
5624 | "line": 200 | 5668 | "line": 204 |
5625 | } | 5669 | } |
5626 | }, | 5670 | }, |
5627 | { | 5671 | { |
5628 | "defaultMessage": "!!!Hide", | 5672 | "defaultMessage": "!!!Hide", |
5629 | "end": { | 5673 | "end": { |
5630 | "column": 3, | 5674 | "column": 3, |
5631 | "line": 207 | 5675 | "line": 211 |
5632 | }, | 5676 | }, |
5633 | "file": "src/lib/Menu.js", | 5677 | "file": "src/lib/Menu.js", |
5634 | "id": "menu.app.hide", | 5678 | "id": "menu.app.hide", |
5635 | "start": { | 5679 | "start": { |
5636 | "column": 8, | 5680 | "column": 8, |
5637 | "line": 204 | 5681 | "line": 208 |
5638 | } | 5682 | } |
5639 | }, | 5683 | }, |
5640 | { | 5684 | { |
5641 | "defaultMessage": "!!!Hide Others", | 5685 | "defaultMessage": "!!!Hide Others", |
5642 | "end": { | 5686 | "end": { |
5643 | "column": 3, | 5687 | "column": 3, |
5644 | "line": 211 | 5688 | "line": 215 |
5645 | }, | 5689 | }, |
5646 | "file": "src/lib/Menu.js", | 5690 | "file": "src/lib/Menu.js", |
5647 | "id": "menu.app.hideOthers", | 5691 | "id": "menu.app.hideOthers", |
5648 | "start": { | 5692 | "start": { |
5649 | "column": 14, | 5693 | "column": 14, |
5650 | "line": 208 | 5694 | "line": 212 |
5651 | } | 5695 | } |
5652 | }, | 5696 | }, |
5653 | { | 5697 | { |
5654 | "defaultMessage": "!!!Unhide", | 5698 | "defaultMessage": "!!!Unhide", |
5655 | "end": { | 5699 | "end": { |
5656 | "column": 3, | 5700 | "column": 3, |
5657 | "line": 215 | 5701 | "line": 219 |
5658 | }, | 5702 | }, |
5659 | "file": "src/lib/Menu.js", | 5703 | "file": "src/lib/Menu.js", |
5660 | "id": "menu.app.unhide", | 5704 | "id": "menu.app.unhide", |
5661 | "start": { | 5705 | "start": { |
5662 | "column": 10, | 5706 | "column": 10, |
5663 | "line": 212 | 5707 | "line": 216 |
5664 | } | 5708 | } |
5665 | }, | 5709 | }, |
5666 | { | 5710 | { |
5667 | "defaultMessage": "!!!Auto-hide menu bar", | 5711 | "defaultMessage": "!!!Auto-hide menu bar", |
5668 | "end": { | 5712 | "end": { |
5669 | "column": 3, | 5713 | "column": 3, |
5670 | "line": 219 | 5714 | "line": 223 |
5671 | }, | 5715 | }, |
5672 | "file": "src/lib/Menu.js", | 5716 | "file": "src/lib/Menu.js", |
5673 | "id": "menu.app.autohideMenuBar", | 5717 | "id": "menu.app.autohideMenuBar", |
5674 | "start": { | 5718 | "start": { |
5675 | "column": 19, | 5719 | "column": 19, |
5676 | "line": 216 | 5720 | "line": 220 |
5677 | } | 5721 | } |
5678 | }, | 5722 | }, |
5679 | { | 5723 | { |
5680 | "defaultMessage": "!!!Quit", | 5724 | "defaultMessage": "!!!Quit", |
5681 | "end": { | 5725 | "end": { |
5682 | "column": 3, | 5726 | "column": 3, |
5683 | "line": 223 | 5727 | "line": 227 |
5684 | }, | 5728 | }, |
5685 | "file": "src/lib/Menu.js", | 5729 | "file": "src/lib/Menu.js", |
5686 | "id": "menu.app.quit", | 5730 | "id": "menu.app.quit", |
5687 | "start": { | 5731 | "start": { |
5688 | "column": 8, | 5732 | "column": 8, |
5689 | "line": 220 | 5733 | "line": 224 |
5690 | } | 5734 | } |
5691 | }, | 5735 | }, |
5692 | { | 5736 | { |
5693 | "defaultMessage": "!!!Add New Service...", | 5737 | "defaultMessage": "!!!Add New Service...", |
5694 | "end": { | 5738 | "end": { |
5695 | "column": 3, | 5739 | "column": 3, |
5696 | "line": 227 | 5740 | "line": 231 |
5697 | }, | 5741 | }, |
5698 | "file": "src/lib/Menu.js", | 5742 | "file": "src/lib/Menu.js", |
5699 | "id": "menu.services.addNewService", | 5743 | "id": "menu.services.addNewService", |
5700 | "start": { | 5744 | "start": { |
5701 | "column": 17, | 5745 | "column": 17, |
5702 | "line": 224 | 5746 | "line": 228 |
5703 | } | 5747 | } |
5704 | }, | 5748 | }, |
5705 | { | 5749 | { |
5706 | "defaultMessage": "!!!Add New Workspace...", | 5750 | "defaultMessage": "!!!Add New Workspace...", |
5707 | "end": { | 5751 | "end": { |
5708 | "column": 3, | 5752 | "column": 3, |
5709 | "line": 231 | 5753 | "line": 235 |
5710 | }, | 5754 | }, |
5711 | "file": "src/lib/Menu.js", | 5755 | "file": "src/lib/Menu.js", |
5712 | "id": "menu.workspaces.addNewWorkspace", | 5756 | "id": "menu.workspaces.addNewWorkspace", |
5713 | "start": { | 5757 | "start": { |
5714 | "column": 19, | 5758 | "column": 19, |
5715 | "line": 228 | 5759 | "line": 232 |
5716 | } | 5760 | } |
5717 | }, | 5761 | }, |
5718 | { | 5762 | { |
5719 | "defaultMessage": "!!!Open workspace drawer", | 5763 | "defaultMessage": "!!!Open workspace drawer", |
5720 | "end": { | 5764 | "end": { |
5721 | "column": 3, | 5765 | "column": 3, |
5722 | "line": 235 | 5766 | "line": 239 |
5723 | }, | 5767 | }, |
5724 | "file": "src/lib/Menu.js", | 5768 | "file": "src/lib/Menu.js", |
5725 | "id": "menu.workspaces.openWorkspaceDrawer", | 5769 | "id": "menu.workspaces.openWorkspaceDrawer", |
5726 | "start": { | 5770 | "start": { |
5727 | "column": 23, | 5771 | "column": 23, |
5728 | "line": 232 | 5772 | "line": 236 |
5729 | } | 5773 | } |
5730 | }, | 5774 | }, |
5731 | { | 5775 | { |
5732 | "defaultMessage": "!!!Close workspace drawer", | 5776 | "defaultMessage": "!!!Close workspace drawer", |
5733 | "end": { | 5777 | "end": { |
5734 | "column": 3, | 5778 | "column": 3, |
5735 | "line": 239 | 5779 | "line": 243 |
5736 | }, | 5780 | }, |
5737 | "file": "src/lib/Menu.js", | 5781 | "file": "src/lib/Menu.js", |
5738 | "id": "menu.workspaces.closeWorkspaceDrawer", | 5782 | "id": "menu.workspaces.closeWorkspaceDrawer", |
5739 | "start": { | 5783 | "start": { |
5740 | "column": 24, | 5784 | "column": 24, |
5741 | "line": 236 | 5785 | "line": 240 |
5742 | } | 5786 | } |
5743 | }, | 5787 | }, |
5744 | { | 5788 | { |
5745 | "defaultMessage": "!!!Activate next service...", | 5789 | "defaultMessage": "!!!Activate next service...", |
5746 | "end": { | 5790 | "end": { |
5747 | "column": 3, | 5791 | "column": 3, |
5748 | "line": 243 | 5792 | "line": 247 |
5749 | }, | 5793 | }, |
5750 | "file": "src/lib/Menu.js", | 5794 | "file": "src/lib/Menu.js", |
5751 | "id": "menu.services.setNextServiceActive", | 5795 | "id": "menu.services.setNextServiceActive", |
5752 | "start": { | 5796 | "start": { |
5753 | "column": 23, | 5797 | "column": 23, |
5754 | "line": 240 | 5798 | "line": 244 |
5755 | } | 5799 | } |
5756 | }, | 5800 | }, |
5757 | { | 5801 | { |
5758 | "defaultMessage": "!!!Activate previous service...", | 5802 | "defaultMessage": "!!!Activate previous service...", |
5759 | "end": { | 5803 | "end": { |
5760 | "column": 3, | 5804 | "column": 3, |
5761 | "line": 247 | 5805 | "line": 251 |
5762 | }, | 5806 | }, |
5763 | "file": "src/lib/Menu.js", | 5807 | "file": "src/lib/Menu.js", |
5764 | "id": "menu.services.activatePreviousService", | 5808 | "id": "menu.services.activatePreviousService", |
5765 | "start": { | 5809 | "start": { |
5766 | "column": 27, | 5810 | "column": 27, |
5767 | "line": 244 | 5811 | "line": 248 |
5768 | } | 5812 | } |
5769 | }, | 5813 | }, |
5770 | { | 5814 | { |
5771 | "defaultMessage": "!!!Disable notifications & audio", | 5815 | "defaultMessage": "!!!Disable notifications & audio", |
5772 | "end": { | 5816 | "end": { |
5773 | "column": 3, | 5817 | "column": 3, |
5774 | "line": 251 | 5818 | "line": 255 |
5775 | }, | 5819 | }, |
5776 | "file": "src/lib/Menu.js", | 5820 | "file": "src/lib/Menu.js", |
5777 | "id": "sidebar.muteApp", | 5821 | "id": "sidebar.muteApp", |
5778 | "start": { | 5822 | "start": { |
5779 | "column": 11, | 5823 | "column": 11, |
5780 | "line": 248 | 5824 | "line": 252 |
5781 | } | 5825 | } |
5782 | }, | 5826 | }, |
5783 | { | 5827 | { |
5784 | "defaultMessage": "!!!Enable notifications & audio", | 5828 | "defaultMessage": "!!!Enable notifications & audio", |
5785 | "end": { | 5829 | "end": { |
5786 | "column": 3, | 5830 | "column": 3, |
5787 | "line": 255 | 5831 | "line": 259 |
5788 | }, | 5832 | }, |
5789 | "file": "src/lib/Menu.js", | 5833 | "file": "src/lib/Menu.js", |
5790 | "id": "sidebar.unmuteApp", | 5834 | "id": "sidebar.unmuteApp", |
5791 | "start": { | 5835 | "start": { |
5792 | "column": 13, | 5836 | "column": 13, |
5793 | "line": 252 | 5837 | "line": 256 |
5794 | } | 5838 | } |
5795 | }, | 5839 | }, |
5796 | { | 5840 | { |
5797 | "defaultMessage": "!!!Workspaces", | 5841 | "defaultMessage": "!!!Workspaces", |
5798 | "end": { | 5842 | "end": { |
5799 | "column": 3, | 5843 | "column": 3, |
5800 | "line": 259 | 5844 | "line": 263 |
5801 | }, | 5845 | }, |
5802 | "file": "src/lib/Menu.js", | 5846 | "file": "src/lib/Menu.js", |
5803 | "id": "menu.workspaces", | 5847 | "id": "menu.workspaces", |
5804 | "start": { | 5848 | "start": { |
5805 | "column": 14, | 5849 | "column": 14, |
5806 | "line": 256 | 5850 | "line": 260 |
5807 | } | 5851 | } |
5808 | }, | 5852 | }, |
5809 | { | 5853 | { |
5810 | "defaultMessage": "!!!Default", | 5854 | "defaultMessage": "!!!Default", |
5811 | "end": { | 5855 | "end": { |
5812 | "column": 3, | 5856 | "column": 3, |
5813 | "line": 263 | 5857 | "line": 267 |
5814 | }, | 5858 | }, |
5815 | "file": "src/lib/Menu.js", | 5859 | "file": "src/lib/Menu.js", |
5816 | "id": "menu.workspaces.defaultWorkspace", | 5860 | "id": "menu.workspaces.defaultWorkspace", |
5817 | "start": { | 5861 | "start": { |
5818 | "column": 20, | 5862 | "column": 20, |
5819 | "line": 260 | 5863 | "line": 264 |
5820 | } | 5864 | } |
5821 | }, | 5865 | }, |
5822 | { | 5866 | { |
5823 | "defaultMessage": "!!!Todos", | 5867 | "defaultMessage": "!!!Todos", |
5824 | "end": { | 5868 | "end": { |
5825 | "column": 3, | 5869 | "column": 3, |
5826 | "line": 267 | 5870 | "line": 271 |
5827 | }, | 5871 | }, |
5828 | "file": "src/lib/Menu.js", | 5872 | "file": "src/lib/Menu.js", |
5829 | "id": "menu.todos", | 5873 | "id": "menu.todos", |
5830 | "start": { | 5874 | "start": { |
5831 | "column": 9, | 5875 | "column": 9, |
5832 | "line": 264 | 5876 | "line": 268 |
5833 | } | 5877 | } |
5834 | }, | 5878 | }, |
5835 | { | 5879 | { |
5836 | "defaultMessage": "!!!Open Todos drawer", | 5880 | "defaultMessage": "!!!Open Todos drawer", |
5837 | "end": { | 5881 | "end": { |
5838 | "column": 3, | 5882 | "column": 3, |
5839 | "line": 271 | 5883 | "line": 275 |
5840 | }, | 5884 | }, |
5841 | "file": "src/lib/Menu.js", | 5885 | "file": "src/lib/Menu.js", |
5842 | "id": "menu.Todoss.openTodosDrawer", | 5886 | "id": "menu.Todoss.openTodosDrawer", |
5843 | "start": { | 5887 | "start": { |
5844 | "column": 19, | 5888 | "column": 19, |
5845 | "line": 268 | 5889 | "line": 272 |
5846 | } | 5890 | } |
5847 | }, | 5891 | }, |
5848 | { | 5892 | { |
5849 | "defaultMessage": "!!!Close Todos drawer", | 5893 | "defaultMessage": "!!!Close Todos drawer", |
5850 | "end": { | 5894 | "end": { |
5851 | "column": 3, | 5895 | "column": 3, |
5852 | "line": 275 | 5896 | "line": 279 |
5853 | }, | 5897 | }, |
5854 | "file": "src/lib/Menu.js", | 5898 | "file": "src/lib/Menu.js", |
5855 | "id": "menu.Todoss.closeTodosDrawer", | 5899 | "id": "menu.Todoss.closeTodosDrawer", |
5856 | "start": { | 5900 | "start": { |
5857 | "column": 20, | 5901 | "column": 20, |
5858 | "line": 272 | 5902 | "line": 276 |
5859 | } | 5903 | } |
5860 | }, | 5904 | }, |
5861 | { | 5905 | { |
5862 | "defaultMessage": "!!!Enable Todos", | 5906 | "defaultMessage": "!!!Enable Todos", |
5863 | "end": { | 5907 | "end": { |
5864 | "column": 3, | 5908 | "column": 3, |
5865 | "line": 279 | 5909 | "line": 283 |
5866 | }, | 5910 | }, |
5867 | "file": "src/lib/Menu.js", | 5911 | "file": "src/lib/Menu.js", |
5868 | "id": "menu.todos.enableTodos", | 5912 | "id": "menu.todos.enableTodos", |
5869 | "start": { | 5913 | "start": { |
5870 | "column": 15, | 5914 | "column": 15, |
5871 | "line": 276 | 5915 | "line": 280 |
5872 | } | 5916 | } |
5873 | } | 5917 | } |
5874 | ], | 5918 | ], |
diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json index acf8724a6..f809ac51f 100644 --- a/src/i18n/locales/en-US.json +++ b/src/i18n/locales/en-US.json | |||
@@ -9,6 +9,8 @@ | |||
9 | "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line", | 9 | "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line", |
10 | "feature.delayApp.upgrade.action": "Get a Ferdi Supporter License", | 10 | "feature.delayApp.upgrade.action": "Get a Ferdi Supporter License", |
11 | "feature.delayApp.upgrade.actionShort": "Upgrade account", | 11 | "feature.delayApp.upgrade.actionShort": "Upgrade account", |
12 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", | ||
13 | "feature.quickSwitch.search": "Search...", | ||
12 | "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.", | 14 | "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.", |
13 | "feature.shareFranz.action.email": "Send as email", | 15 | "feature.shareFranz.action.email": "Send as email", |
14 | "feature.shareFranz.action.facebook": "Share on Facebook", | 16 | "feature.shareFranz.action.facebook": "Share on Facebook", |
@@ -109,6 +111,7 @@ | |||
109 | "menu.view.exitFullScreen": "Exit Full Screen", | 111 | "menu.view.exitFullScreen": "Exit Full Screen", |
110 | "menu.view.forward": "Forward", | 112 | "menu.view.forward": "Forward", |
111 | "menu.view.lockFerdi": "Lock Ferdi", | 113 | "menu.view.lockFerdi": "Lock Ferdi", |
114 | "menu.view.openQuickSwitch": "Open Quick Switch", | ||
112 | "menu.view.reloadFranz": "Reload Ferdi", | 115 | "menu.view.reloadFranz": "Reload Ferdi", |
113 | "menu.view.reloadService": "Reload Service", | 116 | "menu.view.reloadService": "Reload Service", |
114 | "menu.view.resetZoom": "Actual Size", | 117 | "menu.view.resetZoom": "Actual Size", |
@@ -409,4 +412,4 @@ | |||
409 | "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>", | 412 | "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>", |
410 | "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings", | 413 | "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings", |
411 | "workspaces.switchingIndicator.switchingTo": "Switching to" | 414 | "workspaces.switchingIndicator.switchingTo": "Switching to" |
412 | } \ No newline at end of file | 415 | } |
diff --git a/src/i18n/locales/ua.json b/src/i18n/locales/ua.json index 4dcfdc6e8..dfd9b6fa4 100644 --- a/src/i18n/locales/ua.json +++ b/src/i18n/locales/ua.json | |||
@@ -60,7 +60,7 @@ | |||
60 | "infobar.buttonInstallUpdate": "Перезавантажити і встановити оновлення", | 60 | "infobar.buttonInstallUpdate": "Перезавантажити і встановити оновлення", |
61 | "infobar.requiredRequestsFailed": "Не вдалося завантажити сервіси та інформацію користувача", | 61 | "infobar.requiredRequestsFailed": "Не вдалося завантажити сервіси та інформацію користувача", |
62 | "sidebar.settings": "Налаштування", | 62 | "sidebar.settings": "Налаштування", |
63 | "sidebar.addNewService": "!!!Add new service", | 63 | "sidebar.addNewService": "Add new service", |
64 | "services.welcome": "Ласкаво просимо в Ferdi", | 64 | "services.welcome": "Ласкаво просимо в Ferdi", |
65 | "services.getStarted": "Почати", | 65 | "services.getStarted": "Почати", |
66 | "settings.account.headline": "Акаунт", | 66 | "settings.account.headline": "Акаунт", |
diff --git a/src/i18n/locales/whitelist_en-US.json b/src/i18n/locales/whitelist_en-US.json index 32960f8ce..fe51488c7 100644 --- a/src/i18n/locales/whitelist_en-US.json +++ b/src/i18n/locales/whitelist_en-US.json | |||
@@ -1,2 +1 @@ | |||
1 | [ | [] | |
2 | ] \ No newline at end of file | ||
diff --git a/src/i18n/messages/src/components/layout/AppLayout.json b/src/i18n/messages/src/components/layout/AppLayout.json index 3b8e047b4..0625487b4 100644 --- a/src/i18n/messages/src/components/layout/AppLayout.json +++ b/src/i18n/messages/src/components/layout/AppLayout.json | |||
@@ -4,11 +4,11 @@ | |||
4 | "defaultMessage": "!!!Your services have been updated.", | 4 | "defaultMessage": "!!!Your services have been updated.", |
5 | "file": "src/components/layout/AppLayout.js", | 5 | "file": "src/components/layout/AppLayout.js", |
6 | "start": { | 6 | "start": { |
7 | "line": 27, | 7 | "line": 28, |
8 | "column": 19 | 8 | "column": 19 |
9 | }, | 9 | }, |
10 | "end": { | 10 | "end": { |
11 | "line": 30, | 11 | "line": 31, |
12 | "column": 3 | 12 | "column": 3 |
13 | } | 13 | } |
14 | }, | 14 | }, |
@@ -17,11 +17,11 @@ | |||
17 | "defaultMessage": "!!!Reload services", | 17 | "defaultMessage": "!!!Reload services", |
18 | "file": "src/components/layout/AppLayout.js", | 18 | "file": "src/components/layout/AppLayout.js", |
19 | "start": { | 19 | "start": { |
20 | "line": 31, | 20 | "line": 32, |
21 | "column": 24 | 21 | "column": 24 |
22 | }, | 22 | }, |
23 | "end": { | 23 | "end": { |
24 | "line": 34, | 24 | "line": 35, |
25 | "column": 3 | 25 | "column": 3 |
26 | } | 26 | } |
27 | }, | 27 | }, |
@@ -30,11 +30,11 @@ | |||
30 | "defaultMessage": "!!!Could not load services and user information", | 30 | "defaultMessage": "!!!Could not load services and user information", |
31 | "file": "src/components/layout/AppLayout.js", | 31 | "file": "src/components/layout/AppLayout.js", |
32 | "start": { | 32 | "start": { |
33 | "line": 35, | 33 | "line": 36, |
34 | "column": 26 | 34 | "column": 26 |
35 | }, | 35 | }, |
36 | "end": { | 36 | "end": { |
37 | "line": 38, | 37 | "line": 39, |
38 | "column": 3 | 38 | "column": 3 |
39 | } | 39 | } |
40 | }, | 40 | }, |
@@ -43,11 +43,11 @@ | |||
43 | "defaultMessage": "!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.", | 43 | "defaultMessage": "!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.", |
44 | "file": "src/components/layout/AppLayout.js", | 44 | "file": "src/components/layout/AppLayout.js", |
45 | "start": { | 45 | "start": { |
46 | "line": 39, | 46 | "line": 40, |
47 | "column": 21 | 47 | "column": 21 |
48 | }, | 48 | }, |
49 | "end": { | 49 | "end": { |
50 | "line": 42, | 50 | "line": 43, |
51 | "column": 3 | 51 | "column": 3 |
52 | } | 52 | } |
53 | } | 53 | } |
diff --git a/src/i18n/messages/src/features/quickSwitch/Component.json b/src/i18n/messages/src/features/quickSwitch/Component.json new file mode 100644 index 000000000..248925a37 --- /dev/null +++ b/src/i18n/messages/src/features/quickSwitch/Component.json | |||
@@ -0,0 +1,28 @@ | |||
1 | [ | ||
2 | { | ||
3 | "id": "feature.quickSwitch.search", | ||
4 | "defaultMessage": "!!!Search...", | ||
5 | "file": "src/features/quickSwitch/Component.js", | ||
6 | "start": { | ||
7 | "line": 14, | ||
8 | "column": 10 | ||
9 | }, | ||
10 | "end": { | ||
11 | "line": 17, | ||
12 | "column": 3 | ||
13 | } | ||
14 | }, | ||
15 | { | ||
16 | "id": "feature.quickSwitch.info", | ||
17 | "defaultMessage": "!!!Select a service with TAB, ↑ and ↓. Open a service with ENTER.", | ||
18 | "file": "src/features/quickSwitch/Component.js", | ||
19 | "start": { | ||
20 | "line": 18, | ||
21 | "column": 8 | ||
22 | }, | ||
23 | "end": { | ||
24 | "line": 21, | ||
25 | "column": 3 | ||
26 | } | ||
27 | } | ||
28 | ] \ No newline at end of file | ||
diff --git a/src/i18n/messages/src/lib/Menu.json b/src/i18n/messages/src/lib/Menu.json index 521022edd..c09148b2f 100644 --- a/src/i18n/messages/src/lib/Menu.json +++ b/src/i18n/messages/src/lib/Menu.json | |||
@@ -182,15 +182,28 @@ | |||
182 | } | 182 | } |
183 | }, | 183 | }, |
184 | { | 184 | { |
185 | "id": "menu.view.openQuickSwitch", | ||
186 | "defaultMessage": "!!!Open Quick Switch", | ||
187 | "file": "src/lib/Menu.js", | ||
188 | "start": { | ||
189 | "line": 72, | ||
190 | "column": 19 | ||
191 | }, | ||
192 | "end": { | ||
193 | "line": 75, | ||
194 | "column": 3 | ||
195 | } | ||
196 | }, | ||
197 | { | ||
185 | "id": "menu.view.back", | 198 | "id": "menu.view.back", |
186 | "defaultMessage": "!!!Back", | 199 | "defaultMessage": "!!!Back", |
187 | "file": "src/lib/Menu.js", | 200 | "file": "src/lib/Menu.js", |
188 | "start": { | 201 | "start": { |
189 | "line": 72, | 202 | "line": 76, |
190 | "column": 8 | 203 | "column": 8 |
191 | }, | 204 | }, |
192 | "end": { | 205 | "end": { |
193 | "line": 75, | 206 | "line": 79, |
194 | "column": 3 | 207 | "column": 3 |
195 | } | 208 | } |
196 | }, | 209 | }, |
@@ -199,11 +212,11 @@ | |||
199 | "defaultMessage": "!!!Forward", | 212 | "defaultMessage": "!!!Forward", |
200 | "file": "src/lib/Menu.js", | 213 | "file": "src/lib/Menu.js", |
201 | "start": { | 214 | "start": { |
202 | "line": 76, | 215 | "line": 80, |
203 | "column": 11 | 216 | "column": 11 |
204 | }, | 217 | }, |
205 | "end": { | 218 | "end": { |
206 | "line": 79, | 219 | "line": 83, |
207 | "column": 3 | 220 | "column": 3 |
208 | } | 221 | } |
209 | }, | 222 | }, |
@@ -212,11 +225,11 @@ | |||
212 | "defaultMessage": "!!!Actual Size", | 225 | "defaultMessage": "!!!Actual Size", |
213 | "file": "src/lib/Menu.js", | 226 | "file": "src/lib/Menu.js", |
214 | "start": { | 227 | "start": { |
215 | "line": 80, | 228 | "line": 84, |
216 | "column": 13 | 229 | "column": 13 |
217 | }, | 230 | }, |
218 | "end": { | 231 | "end": { |
219 | "line": 83, | 232 | "line": 87, |
220 | "column": 3 | 233 | "column": 3 |
221 | } | 234 | } |
222 | }, | 235 | }, |
@@ -225,11 +238,11 @@ | |||
225 | "defaultMessage": "!!!Zoom In", | 238 | "defaultMessage": "!!!Zoom In", |
226 | "file": "src/lib/Menu.js", | 239 | "file": "src/lib/Menu.js", |
227 | "start": { | 240 | "start": { |
228 | "line": 84, | 241 | "line": 88, |
229 | "column": 10 | 242 | "column": 10 |
230 | }, | 243 | }, |
231 | "end": { | 244 | "end": { |
232 | "line": 87, | 245 | "line": 91, |
233 | "column": 3 | 246 | "column": 3 |
234 | } | 247 | } |
235 | }, | 248 | }, |
@@ -238,11 +251,11 @@ | |||
238 | "defaultMessage": "!!!Zoom Out", | 251 | "defaultMessage": "!!!Zoom Out", |
239 | "file": "src/lib/Menu.js", | 252 | "file": "src/lib/Menu.js", |
240 | "start": { | 253 | "start": { |
241 | "line": 88, | 254 | "line": 92, |
242 | "column": 11 | 255 | "column": 11 |
243 | }, | 256 | }, |
244 | "end": { | 257 | "end": { |
245 | "line": 91, | 258 | "line": 95, |
246 | "column": 3 | 259 | "column": 3 |
247 | } | 260 | } |
248 | }, | 261 | }, |
@@ -251,11 +264,11 @@ | |||
251 | "defaultMessage": "!!!Enter Full Screen", | 264 | "defaultMessage": "!!!Enter Full Screen", |
252 | "file": "src/lib/Menu.js", | 265 | "file": "src/lib/Menu.js", |
253 | "start": { | 266 | "start": { |
254 | "line": 92, | 267 | "line": 96, |
255 | "column": 19 | 268 | "column": 19 |
256 | }, | 269 | }, |
257 | "end": { | 270 | "end": { |
258 | "line": 95, | 271 | "line": 99, |
259 | "column": 3 | 272 | "column": 3 |
260 | } | 273 | } |
261 | }, | 274 | }, |
@@ -264,11 +277,11 @@ | |||
264 | "defaultMessage": "!!!Exit Full Screen", | 277 | "defaultMessage": "!!!Exit Full Screen", |
265 | "file": "src/lib/Menu.js", | 278 | "file": "src/lib/Menu.js", |
266 | "start": { | 279 | "start": { |
267 | "line": 96, | 280 | "line": 100, |
268 | "column": 18 | 281 | "column": 18 |
269 | }, | 282 | }, |
270 | "end": { | 283 | "end": { |
271 | "line": 99, | 284 | "line": 103, |
272 | "column": 3 | 285 | "column": 3 |
273 | } | 286 | } |
274 | }, | 287 | }, |
@@ -277,11 +290,11 @@ | |||
277 | "defaultMessage": "!!!Toggle Full Screen", | 290 | "defaultMessage": "!!!Toggle Full Screen", |
278 | "file": "src/lib/Menu.js", | 291 | "file": "src/lib/Menu.js", |
279 | "start": { | 292 | "start": { |
280 | "line": 100, | 293 | "line": 104, |
281 | "column": 20 | 294 | "column": 20 |
282 | }, | 295 | }, |
283 | "end": { | 296 | "end": { |
284 | "line": 103, | 297 | "line": 107, |
285 | "column": 3 | 298 | "column": 3 |
286 | } | 299 | } |
287 | }, | 300 | }, |
@@ -290,11 +303,11 @@ | |||
290 | "defaultMessage": "!!!Toggle Developer Tools", | 303 | "defaultMessage": "!!!Toggle Developer Tools", |
291 | "file": "src/lib/Menu.js", | 304 | "file": "src/lib/Menu.js", |
292 | "start": { | 305 | "start": { |
293 | "line": 104, | 306 | "line": 108, |
294 | "column": 18 | 307 | "column": 18 |
295 | }, | 308 | }, |
296 | "end": { | 309 | "end": { |
297 | "line": 107, | 310 | "line": 111, |
298 | "column": 3 | 311 | "column": 3 |
299 | } | 312 | } |
300 | }, | 313 | }, |
@@ -303,11 +316,11 @@ | |||
303 | "defaultMessage": "!!!Toggle Todos Developer Tools", | 316 | "defaultMessage": "!!!Toggle Todos Developer Tools", |
304 | "file": "src/lib/Menu.js", | 317 | "file": "src/lib/Menu.js", |
305 | "start": { | 318 | "start": { |
306 | "line": 108, | 319 | "line": 112, |
307 | "column": 23 | 320 | "column": 23 |
308 | }, | 321 | }, |
309 | "end": { | 322 | "end": { |
310 | "line": 111, | 323 | "line": 115, |
311 | "column": 3 | 324 | "column": 3 |
312 | } | 325 | } |
313 | }, | 326 | }, |
@@ -316,11 +329,11 @@ | |||
316 | "defaultMessage": "!!!Toggle Service Developer Tools", | 329 | "defaultMessage": "!!!Toggle Service Developer Tools", |
317 | "file": "src/lib/Menu.js", | 330 | "file": "src/lib/Menu.js", |
318 | "start": { | 331 | "start": { |
319 | "line": 112, | 332 | "line": 116, |
320 | "column": 25 | 333 | "column": 25 |
321 | }, | 334 | }, |
322 | "end": { | 335 | "end": { |
323 | "line": 115, | 336 | "line": 119, |
324 | "column": 3 | 337 | "column": 3 |
325 | } | 338 | } |
326 | }, | 339 | }, |
@@ -329,11 +342,11 @@ | |||
329 | "defaultMessage": "!!!Reload Service", | 342 | "defaultMessage": "!!!Reload Service", |
330 | "file": "src/lib/Menu.js", | 343 | "file": "src/lib/Menu.js", |
331 | "start": { | 344 | "start": { |
332 | "line": 116, | 345 | "line": 120, |
333 | "column": 17 | 346 | "column": 17 |
334 | }, | 347 | }, |
335 | "end": { | 348 | "end": { |
336 | "line": 119, | 349 | "line": 123, |
337 | "column": 3 | 350 | "column": 3 |
338 | } | 351 | } |
339 | }, | 352 | }, |
@@ -342,11 +355,11 @@ | |||
342 | "defaultMessage": "!!!Reload Ferdi", | 355 | "defaultMessage": "!!!Reload Ferdi", |
343 | "file": "src/lib/Menu.js", | 356 | "file": "src/lib/Menu.js", |
344 | "start": { | 357 | "start": { |
345 | "line": 120, | 358 | "line": 124, |
346 | "column": 15 | 359 | "column": 15 |
347 | }, | 360 | }, |
348 | "end": { | 361 | "end": { |
349 | "line": 123, | 362 | "line": 127, |
350 | "column": 3 | 363 | "column": 3 |
351 | } | 364 | } |
352 | }, | 365 | }, |
@@ -355,11 +368,11 @@ | |||
355 | "defaultMessage": "!!!Lock Ferdi", | 368 | "defaultMessage": "!!!Lock Ferdi", |
356 | "file": "src/lib/Menu.js", | 369 | "file": "src/lib/Menu.js", |
357 | "start": { | 370 | "start": { |
358 | "line": 124, | 371 | "line": 128, |
359 | "column": 13 | 372 | "column": 13 |
360 | }, | 373 | }, |
361 | "end": { | 374 | "end": { |
362 | "line": 127, | 375 | "line": 131, |
363 | "column": 3 | 376 | "column": 3 |
364 | } | 377 | } |
365 | }, | 378 | }, |
@@ -368,11 +381,11 @@ | |||
368 | "defaultMessage": "!!!Minimize", | 381 | "defaultMessage": "!!!Minimize", |
369 | "file": "src/lib/Menu.js", | 382 | "file": "src/lib/Menu.js", |
370 | "start": { | 383 | "start": { |
371 | "line": 128, | 384 | "line": 132, |
372 | "column": 12 | 385 | "column": 12 |
373 | }, | 386 | }, |
374 | "end": { | 387 | "end": { |
375 | "line": 131, | 388 | "line": 135, |
376 | "column": 3 | 389 | "column": 3 |
377 | } | 390 | } |
378 | }, | 391 | }, |
@@ -381,11 +394,11 @@ | |||
381 | "defaultMessage": "!!!Close", | 394 | "defaultMessage": "!!!Close", |
382 | "file": "src/lib/Menu.js", | 395 | "file": "src/lib/Menu.js", |
383 | "start": { | 396 | "start": { |
384 | "line": 132, | 397 | "line": 136, |
385 | "column": 9 | 398 | "column": 9 |
386 | }, | 399 | }, |
387 | "end": { | 400 | "end": { |
388 | "line": 135, | 401 | "line": 139, |
389 | "column": 3 | 402 | "column": 3 |
390 | } | 403 | } |
391 | }, | 404 | }, |
@@ -394,11 +407,11 @@ | |||
394 | "defaultMessage": "!!!Learn More", | 407 | "defaultMessage": "!!!Learn More", |
395 | "file": "src/lib/Menu.js", | 408 | "file": "src/lib/Menu.js", |
396 | "start": { | 409 | "start": { |
397 | "line": 136, | 410 | "line": 140, |
398 | "column": 13 | 411 | "column": 13 |
399 | }, | 412 | }, |
400 | "end": { | 413 | "end": { |
401 | "line": 139, | 414 | "line": 143, |
402 | "column": 3 | 415 | "column": 3 |
403 | } | 416 | } |
404 | }, | 417 | }, |
@@ -407,11 +420,11 @@ | |||
407 | "defaultMessage": "!!!Changelog", | 420 | "defaultMessage": "!!!Changelog", |
408 | "file": "src/lib/Menu.js", | 421 | "file": "src/lib/Menu.js", |
409 | "start": { | 422 | "start": { |
410 | "line": 140, | 423 | "line": 144, |
411 | "column": 13 | 424 | "column": 13 |
412 | }, | 425 | }, |
413 | "end": { | 426 | "end": { |
414 | "line": 143, | 427 | "line": 147, |
415 | "column": 3 | 428 | "column": 3 |
416 | } | 429 | } |
417 | }, | 430 | }, |
@@ -420,11 +433,11 @@ | |||
420 | "defaultMessage": "!!!Support", | 433 | "defaultMessage": "!!!Support", |
421 | "file": "src/lib/Menu.js", | 434 | "file": "src/lib/Menu.js", |
422 | "start": { | 435 | "start": { |
423 | "line": 144, | 436 | "line": 148, |
424 | "column": 11 | 437 | "column": 11 |
425 | }, | 438 | }, |
426 | "end": { | 439 | "end": { |
427 | "line": 147, | 440 | "line": 151, |
428 | "column": 3 | 441 | "column": 3 |
429 | } | 442 | } |
430 | }, | 443 | }, |
@@ -433,11 +446,11 @@ | |||
433 | "defaultMessage": "!!!Copy Debug Information", | 446 | "defaultMessage": "!!!Copy Debug Information", |
434 | "file": "src/lib/Menu.js", | 447 | "file": "src/lib/Menu.js", |
435 | "start": { | 448 | "start": { |
436 | "line": 148, | 449 | "line": 152, |
437 | "column": 13 | 450 | "column": 13 |
438 | }, | 451 | }, |
439 | "end": { | 452 | "end": { |
440 | "line": 151, | 453 | "line": 155, |
441 | "column": 3 | 454 | "column": 3 |
442 | } | 455 | } |
443 | }, | 456 | }, |
@@ -446,11 +459,11 @@ | |||
446 | "defaultMessage": "!!!Ferdi Debug Information", | 459 | "defaultMessage": "!!!Ferdi Debug Information", |
447 | "file": "src/lib/Menu.js", | 460 | "file": "src/lib/Menu.js", |
448 | "start": { | 461 | "start": { |
449 | "line": 152, | 462 | "line": 156, |
450 | "column": 27 | 463 | "column": 27 |
451 | }, | 464 | }, |
452 | "end": { | 465 | "end": { |
453 | "line": 155, | 466 | "line": 159, |
454 | "column": 3 | 467 | "column": 3 |
455 | } | 468 | } |
456 | }, | 469 | }, |
@@ -459,11 +472,11 @@ | |||
459 | "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.", | 472 | "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.", |
460 | "file": "src/lib/Menu.js", | 473 | "file": "src/lib/Menu.js", |
461 | "start": { | 474 | "start": { |
462 | "line": 156, | 475 | "line": 160, |
463 | "column": 23 | 476 | "column": 23 |
464 | }, | 477 | }, |
465 | "end": { | 478 | "end": { |
466 | "line": 159, | 479 | "line": 163, |
467 | "column": 3 | 480 | "column": 3 |
468 | } | 481 | } |
469 | }, | 482 | }, |
@@ -472,11 +485,11 @@ | |||
472 | "defaultMessage": "!!!Terms of Service", | 485 | "defaultMessage": "!!!Terms of Service", |
473 | "file": "src/lib/Menu.js", | 486 | "file": "src/lib/Menu.js", |
474 | "start": { | 487 | "start": { |
475 | "line": 160, | 488 | "line": 164, |
476 | "column": 7 | 489 | "column": 7 |
477 | }, | 490 | }, |
478 | "end": { | 491 | "end": { |
479 | "line": 163, | 492 | "line": 167, |
480 | "column": 3 | 493 | "column": 3 |
481 | } | 494 | } |
482 | }, | 495 | }, |
@@ -485,11 +498,11 @@ | |||
485 | "defaultMessage": "!!!Privacy Statement", | 498 | "defaultMessage": "!!!Privacy Statement", |
486 | "file": "src/lib/Menu.js", | 499 | "file": "src/lib/Menu.js", |
487 | "start": { | 500 | "start": { |
488 | "line": 164, | 501 | "line": 168, |
489 | "column": 11 | 502 | "column": 11 |
490 | }, | 503 | }, |
491 | "end": { | 504 | "end": { |
492 | "line": 167, | 505 | "line": 171, |
493 | "column": 3 | 506 | "column": 3 |
494 | } | 507 | } |
495 | }, | 508 | }, |
@@ -498,11 +511,11 @@ | |||
498 | "defaultMessage": "!!!File", | 511 | "defaultMessage": "!!!File", |
499 | "file": "src/lib/Menu.js", | 512 | "file": "src/lib/Menu.js", |
500 | "start": { | 513 | "start": { |
501 | "line": 168, | 514 | "line": 172, |
502 | "column": 8 | 515 | "column": 8 |
503 | }, | 516 | }, |
504 | "end": { | 517 | "end": { |
505 | "line": 171, | 518 | "line": 175, |
506 | "column": 3 | 519 | "column": 3 |
507 | } | 520 | } |
508 | }, | 521 | }, |
@@ -511,11 +524,11 @@ | |||
511 | "defaultMessage": "!!!View", | 524 | "defaultMessage": "!!!View", |
512 | "file": "src/lib/Menu.js", | 525 | "file": "src/lib/Menu.js", |
513 | "start": { | 526 | "start": { |
514 | "line": 172, | 527 | "line": 176, |
515 | "column": 8 | 528 | "column": 8 |
516 | }, | 529 | }, |
517 | "end": { | 530 | "end": { |
518 | "line": 175, | 531 | "line": 179, |
519 | "column": 3 | 532 | "column": 3 |
520 | } | 533 | } |
521 | }, | 534 | }, |
@@ -524,11 +537,11 @@ | |||
524 | "defaultMessage": "!!!Services", | 537 | "defaultMessage": "!!!Services", |
525 | "file": "src/lib/Menu.js", | 538 | "file": "src/lib/Menu.js", |
526 | "start": { | 539 | "start": { |
527 | "line": 176, | 540 | "line": 180, |
528 | "column": 12 | 541 | "column": 12 |
529 | }, | 542 | }, |
530 | "end": { | 543 | "end": { |
531 | "line": 179, | 544 | "line": 183, |
532 | "column": 3 | 545 | "column": 3 |
533 | } | 546 | } |
534 | }, | 547 | }, |
@@ -537,11 +550,11 @@ | |||
537 | "defaultMessage": "!!!Window", | 550 | "defaultMessage": "!!!Window", |
538 | "file": "src/lib/Menu.js", | 551 | "file": "src/lib/Menu.js", |
539 | "start": { | 552 | "start": { |
540 | "line": 180, | 553 | "line": 184, |
541 | "column": 10 | 554 | "column": 10 |
542 | }, | 555 | }, |
543 | "end": { | 556 | "end": { |
544 | "line": 183, | 557 | "line": 187, |
545 | "column": 3 | 558 | "column": 3 |
546 | } | 559 | } |
547 | }, | 560 | }, |
@@ -550,11 +563,11 @@ | |||
550 | "defaultMessage": "!!!Help", | 563 | "defaultMessage": "!!!Help", |
551 | "file": "src/lib/Menu.js", | 564 | "file": "src/lib/Menu.js", |
552 | "start": { | 565 | "start": { |
553 | "line": 184, | 566 | "line": 188, |
554 | "column": 8 | 567 | "column": 8 |
555 | }, | 568 | }, |
556 | "end": { | 569 | "end": { |
557 | "line": 187, | 570 | "line": 191, |
558 | "column": 3 | 571 | "column": 3 |
559 | } | 572 | } |
560 | }, | 573 | }, |
@@ -563,11 +576,11 @@ | |||
563 | "defaultMessage": "!!!About Ferdi", | 576 | "defaultMessage": "!!!About Ferdi", |
564 | "file": "src/lib/Menu.js", | 577 | "file": "src/lib/Menu.js", |
565 | "start": { | 578 | "start": { |
566 | "line": 188, | 579 | "line": 192, |
567 | "column": 9 | 580 | "column": 9 |
568 | }, | 581 | }, |
569 | "end": { | 582 | "end": { |
570 | "line": 191, | 583 | "line": 195, |
571 | "column": 3 | 584 | "column": 3 |
572 | } | 585 | } |
573 | }, | 586 | }, |
@@ -576,11 +589,11 @@ | |||
576 | "defaultMessage": "!!!What's new?", | 589 | "defaultMessage": "!!!What's new?", |
577 | "file": "src/lib/Menu.js", | 590 | "file": "src/lib/Menu.js", |
578 | "start": { | 591 | "start": { |
579 | "line": 192, | 592 | "line": 196, |
580 | "column": 16 | 593 | "column": 16 |
581 | }, | 594 | }, |
582 | "end": { | 595 | "end": { |
583 | "line": 195, | 596 | "line": 199, |
584 | "column": 3 | 597 | "column": 3 |
585 | } | 598 | } |
586 | }, | 599 | }, |
@@ -589,11 +602,11 @@ | |||
589 | "defaultMessage": "!!!Settings", | 602 | "defaultMessage": "!!!Settings", |
590 | "file": "src/lib/Menu.js", | 603 | "file": "src/lib/Menu.js", |
591 | "start": { | 604 | "start": { |
592 | "line": 196, | 605 | "line": 200, |
593 | "column": 12 | 606 | "column": 12 |
594 | }, | 607 | }, |
595 | "end": { | 608 | "end": { |
596 | "line": 199, | 609 | "line": 203, |
597 | "column": 3 | 610 | "column": 3 |
598 | } | 611 | } |
599 | }, | 612 | }, |
@@ -602,11 +615,11 @@ | |||
602 | "defaultMessage": "!!!Check for updates", | 615 | "defaultMessage": "!!!Check for updates", |
603 | "file": "src/lib/Menu.js", | 616 | "file": "src/lib/Menu.js", |
604 | "start": { | 617 | "start": { |
605 | "line": 200, | 618 | "line": 204, |
606 | "column": 19 | 619 | "column": 19 |
607 | }, | 620 | }, |
608 | "end": { | 621 | "end": { |
609 | "line": 203, | 622 | "line": 207, |
610 | "column": 3 | 623 | "column": 3 |
611 | } | 624 | } |
612 | }, | 625 | }, |
@@ -615,11 +628,11 @@ | |||
615 | "defaultMessage": "!!!Hide", | 628 | "defaultMessage": "!!!Hide", |
616 | "file": "src/lib/Menu.js", | 629 | "file": "src/lib/Menu.js", |
617 | "start": { | 630 | "start": { |
618 | "line": 204, | 631 | "line": 208, |
619 | "column": 8 | 632 | "column": 8 |
620 | }, | 633 | }, |
621 | "end": { | 634 | "end": { |
622 | "line": 207, | 635 | "line": 211, |
623 | "column": 3 | 636 | "column": 3 |
624 | } | 637 | } |
625 | }, | 638 | }, |
@@ -628,11 +641,11 @@ | |||
628 | "defaultMessage": "!!!Hide Others", | 641 | "defaultMessage": "!!!Hide Others", |
629 | "file": "src/lib/Menu.js", | 642 | "file": "src/lib/Menu.js", |
630 | "start": { | 643 | "start": { |
631 | "line": 208, | 644 | "line": 212, |
632 | "column": 14 | 645 | "column": 14 |
633 | }, | 646 | }, |
634 | "end": { | 647 | "end": { |
635 | "line": 211, | 648 | "line": 215, |
636 | "column": 3 | 649 | "column": 3 |
637 | } | 650 | } |
638 | }, | 651 | }, |
@@ -641,11 +654,11 @@ | |||
641 | "defaultMessage": "!!!Unhide", | 654 | "defaultMessage": "!!!Unhide", |
642 | "file": "src/lib/Menu.js", | 655 | "file": "src/lib/Menu.js", |
643 | "start": { | 656 | "start": { |
644 | "line": 212, | 657 | "line": 216, |
645 | "column": 10 | 658 | "column": 10 |
646 | }, | 659 | }, |
647 | "end": { | 660 | "end": { |
648 | "line": 215, | 661 | "line": 219, |
649 | "column": 3 | 662 | "column": 3 |
650 | } | 663 | } |
651 | }, | 664 | }, |
@@ -654,11 +667,11 @@ | |||
654 | "defaultMessage": "!!!Auto-hide menu bar", | 667 | "defaultMessage": "!!!Auto-hide menu bar", |
655 | "file": "src/lib/Menu.js", | 668 | "file": "src/lib/Menu.js", |
656 | "start": { | 669 | "start": { |
657 | "line": 216, | 670 | "line": 220, |
658 | "column": 19 | 671 | "column": 19 |
659 | }, | 672 | }, |
660 | "end": { | 673 | "end": { |
661 | "line": 219, | 674 | "line": 223, |
662 | "column": 3 | 675 | "column": 3 |
663 | } | 676 | } |
664 | }, | 677 | }, |
@@ -667,11 +680,11 @@ | |||
667 | "defaultMessage": "!!!Quit", | 680 | "defaultMessage": "!!!Quit", |
668 | "file": "src/lib/Menu.js", | 681 | "file": "src/lib/Menu.js", |
669 | "start": { | 682 | "start": { |
670 | "line": 220, | 683 | "line": 224, |
671 | "column": 8 | 684 | "column": 8 |
672 | }, | 685 | }, |
673 | "end": { | 686 | "end": { |
674 | "line": 223, | 687 | "line": 227, |
675 | "column": 3 | 688 | "column": 3 |
676 | } | 689 | } |
677 | }, | 690 | }, |
@@ -680,11 +693,11 @@ | |||
680 | "defaultMessage": "!!!Add New Service...", | 693 | "defaultMessage": "!!!Add New Service...", |
681 | "file": "src/lib/Menu.js", | 694 | "file": "src/lib/Menu.js", |
682 | "start": { | 695 | "start": { |
683 | "line": 224, | 696 | "line": 228, |
684 | "column": 17 | 697 | "column": 17 |
685 | }, | 698 | }, |
686 | "end": { | 699 | "end": { |
687 | "line": 227, | 700 | "line": 231, |
688 | "column": 3 | 701 | "column": 3 |
689 | } | 702 | } |
690 | }, | 703 | }, |
@@ -693,11 +706,11 @@ | |||
693 | "defaultMessage": "!!!Add New Workspace...", | 706 | "defaultMessage": "!!!Add New Workspace...", |
694 | "file": "src/lib/Menu.js", | 707 | "file": "src/lib/Menu.js", |
695 | "start": { | 708 | "start": { |
696 | "line": 228, | 709 | "line": 232, |
697 | "column": 19 | 710 | "column": 19 |
698 | }, | 711 | }, |
699 | "end": { | 712 | "end": { |
700 | "line": 231, | 713 | "line": 235, |
701 | "column": 3 | 714 | "column": 3 |
702 | } | 715 | } |
703 | }, | 716 | }, |
@@ -706,11 +719,11 @@ | |||
706 | "defaultMessage": "!!!Open workspace drawer", | 719 | "defaultMessage": "!!!Open workspace drawer", |
707 | "file": "src/lib/Menu.js", | 720 | "file": "src/lib/Menu.js", |
708 | "start": { | 721 | "start": { |
709 | "line": 232, | 722 | "line": 236, |
710 | "column": 23 | 723 | "column": 23 |
711 | }, | 724 | }, |
712 | "end": { | 725 | "end": { |
713 | "line": 235, | 726 | "line": 239, |
714 | "column": 3 | 727 | "column": 3 |
715 | } | 728 | } |
716 | }, | 729 | }, |
@@ -719,11 +732,11 @@ | |||
719 | "defaultMessage": "!!!Close workspace drawer", | 732 | "defaultMessage": "!!!Close workspace drawer", |
720 | "file": "src/lib/Menu.js", | 733 | "file": "src/lib/Menu.js", |
721 | "start": { | 734 | "start": { |
722 | "line": 236, | 735 | "line": 240, |
723 | "column": 24 | 736 | "column": 24 |
724 | }, | 737 | }, |
725 | "end": { | 738 | "end": { |
726 | "line": 239, | 739 | "line": 243, |
727 | "column": 3 | 740 | "column": 3 |
728 | } | 741 | } |
729 | }, | 742 | }, |
@@ -732,11 +745,11 @@ | |||
732 | "defaultMessage": "!!!Activate next service...", | 745 | "defaultMessage": "!!!Activate next service...", |
733 | "file": "src/lib/Menu.js", | 746 | "file": "src/lib/Menu.js", |
734 | "start": { | 747 | "start": { |
735 | "line": 240, | 748 | "line": 244, |
736 | "column": 23 | 749 | "column": 23 |
737 | }, | 750 | }, |
738 | "end": { | 751 | "end": { |
739 | "line": 243, | 752 | "line": 247, |
740 | "column": 3 | 753 | "column": 3 |
741 | } | 754 | } |
742 | }, | 755 | }, |
@@ -745,11 +758,11 @@ | |||
745 | "defaultMessage": "!!!Activate previous service...", | 758 | "defaultMessage": "!!!Activate previous service...", |
746 | "file": "src/lib/Menu.js", | 759 | "file": "src/lib/Menu.js", |
747 | "start": { | 760 | "start": { |
748 | "line": 244, | 761 | "line": 248, |
749 | "column": 27 | 762 | "column": 27 |
750 | }, | 763 | }, |
751 | "end": { | 764 | "end": { |
752 | "line": 247, | 765 | "line": 251, |
753 | "column": 3 | 766 | "column": 3 |
754 | } | 767 | } |
755 | }, | 768 | }, |
@@ -758,11 +771,11 @@ | |||
758 | "defaultMessage": "!!!Disable notifications & audio", | 771 | "defaultMessage": "!!!Disable notifications & audio", |
759 | "file": "src/lib/Menu.js", | 772 | "file": "src/lib/Menu.js", |
760 | "start": { | 773 | "start": { |
761 | "line": 248, | 774 | "line": 252, |
762 | "column": 11 | 775 | "column": 11 |
763 | }, | 776 | }, |
764 | "end": { | 777 | "end": { |
765 | "line": 251, | 778 | "line": 255, |
766 | "column": 3 | 779 | "column": 3 |
767 | } | 780 | } |
768 | }, | 781 | }, |
@@ -771,11 +784,11 @@ | |||
771 | "defaultMessage": "!!!Enable notifications & audio", | 784 | "defaultMessage": "!!!Enable notifications & audio", |
772 | "file": "src/lib/Menu.js", | 785 | "file": "src/lib/Menu.js", |
773 | "start": { | 786 | "start": { |
774 | "line": 252, | 787 | "line": 256, |
775 | "column": 13 | 788 | "column": 13 |
776 | }, | 789 | }, |
777 | "end": { | 790 | "end": { |
778 | "line": 255, | 791 | "line": 259, |
779 | "column": 3 | 792 | "column": 3 |
780 | } | 793 | } |
781 | }, | 794 | }, |
@@ -784,11 +797,11 @@ | |||
784 | "defaultMessage": "!!!Workspaces", | 797 | "defaultMessage": "!!!Workspaces", |
785 | "file": "src/lib/Menu.js", | 798 | "file": "src/lib/Menu.js", |
786 | "start": { | 799 | "start": { |
787 | "line": 256, | 800 | "line": 260, |
788 | "column": 14 | 801 | "column": 14 |
789 | }, | 802 | }, |
790 | "end": { | 803 | "end": { |
791 | "line": 259, | 804 | "line": 263, |
792 | "column": 3 | 805 | "column": 3 |
793 | } | 806 | } |
794 | }, | 807 | }, |
@@ -797,11 +810,11 @@ | |||
797 | "defaultMessage": "!!!Default", | 810 | "defaultMessage": "!!!Default", |
798 | "file": "src/lib/Menu.js", | 811 | "file": "src/lib/Menu.js", |
799 | "start": { | 812 | "start": { |
800 | "line": 260, | 813 | "line": 264, |
801 | "column": 20 | 814 | "column": 20 |
802 | }, | 815 | }, |
803 | "end": { | 816 | "end": { |
804 | "line": 263, | 817 | "line": 267, |
805 | "column": 3 | 818 | "column": 3 |
806 | } | 819 | } |
807 | }, | 820 | }, |
@@ -810,11 +823,11 @@ | |||
810 | "defaultMessage": "!!!Todos", | 823 | "defaultMessage": "!!!Todos", |
811 | "file": "src/lib/Menu.js", | 824 | "file": "src/lib/Menu.js", |
812 | "start": { | 825 | "start": { |
813 | "line": 264, | 826 | "line": 268, |
814 | "column": 9 | 827 | "column": 9 |
815 | }, | 828 | }, |
816 | "end": { | 829 | "end": { |
817 | "line": 267, | 830 | "line": 271, |
818 | "column": 3 | 831 | "column": 3 |
819 | } | 832 | } |
820 | }, | 833 | }, |
@@ -823,11 +836,11 @@ | |||
823 | "defaultMessage": "!!!Open Todos drawer", | 836 | "defaultMessage": "!!!Open Todos drawer", |
824 | "file": "src/lib/Menu.js", | 837 | "file": "src/lib/Menu.js", |
825 | "start": { | 838 | "start": { |
826 | "line": 268, | 839 | "line": 272, |
827 | "column": 19 | 840 | "column": 19 |
828 | }, | 841 | }, |
829 | "end": { | 842 | "end": { |
830 | "line": 271, | 843 | "line": 275, |
831 | "column": 3 | 844 | "column": 3 |
832 | } | 845 | } |
833 | }, | 846 | }, |
@@ -836,11 +849,11 @@ | |||
836 | "defaultMessage": "!!!Close Todos drawer", | 849 | "defaultMessage": "!!!Close Todos drawer", |
837 | "file": "src/lib/Menu.js", | 850 | "file": "src/lib/Menu.js", |
838 | "start": { | 851 | "start": { |
839 | "line": 272, | 852 | "line": 276, |
840 | "column": 20 | 853 | "column": 20 |
841 | }, | 854 | }, |
842 | "end": { | 855 | "end": { |
843 | "line": 275, | 856 | "line": 279, |
844 | "column": 3 | 857 | "column": 3 |
845 | } | 858 | } |
846 | }, | 859 | }, |
@@ -849,11 +862,11 @@ | |||
849 | "defaultMessage": "!!!Enable Todos", | 862 | "defaultMessage": "!!!Enable Todos", |
850 | "file": "src/lib/Menu.js", | 863 | "file": "src/lib/Menu.js", |
851 | "start": { | 864 | "start": { |
852 | "line": 276, | 865 | "line": 280, |
853 | "column": 15 | 866 | "column": 15 |
854 | }, | 867 | }, |
855 | "end": { | 868 | "end": { |
856 | "line": 279, | 869 | "line": 283, |
857 | "column": 3 | 870 | "column": 3 |
858 | } | 871 | } |
859 | } | 872 | } |
diff --git a/src/lib/Menu.js b/src/lib/Menu.js index 2898fcad1..5b04346b5 100644 --- a/src/lib/Menu.js +++ b/src/lib/Menu.js | |||
@@ -69,6 +69,10 @@ const menuItems = defineMessages({ | |||
69 | id: 'menu.edit.emojiSymbols', | 69 | id: 'menu.edit.emojiSymbols', |
70 | defaultMessage: '!!!Emoji & Symbols', | 70 | defaultMessage: '!!!Emoji & Symbols', |
71 | }, | 71 | }, |
72 | openQuickSwitch: { | ||
73 | id: 'menu.view.openQuickSwitch', | ||
74 | defaultMessage: '!!!Open Quick Switch', | ||
75 | }, | ||
72 | back: { | 76 | back: { |
73 | id: 'menu.view.back', | 77 | id: 'menu.view.back', |
74 | defaultMessage: '!!!Back', | 78 | defaultMessage: '!!!Back', |
@@ -336,6 +340,16 @@ const _templateFactory = intl => [ | |||
336 | type: 'separator', | 340 | type: 'separator', |
337 | }, | 341 | }, |
338 | { | 342 | { |
343 | label: intl.formatMessage(menuItems.openQuickSwitch), | ||
344 | accelerator: 'CmdOrCtrl+P', | ||
345 | click() { | ||
346 | window.ferdi.features.quickSwitch.state.isModalVisible = true; | ||
347 | }, | ||
348 | }, | ||
349 | { | ||
350 | type: 'separator', | ||
351 | }, | ||
352 | { | ||
339 | label: intl.formatMessage(menuItems.back), | 353 | label: intl.formatMessage(menuItems.back), |
340 | accelerator: 'CmdOrCtrl+Left', | 354 | accelerator: 'CmdOrCtrl+Left', |
341 | click() { | 355 | click() { |
diff --git a/src/stores/FeaturesStore.js b/src/stores/FeaturesStore.js index cf28b6bec..c39b6d7f3 100644 --- a/src/stores/FeaturesStore.js +++ b/src/stores/FeaturesStore.js | |||
@@ -13,6 +13,7 @@ import spellchecker from '../features/spellchecker'; | |||
13 | import serviceProxy from '../features/serviceProxy'; | 13 | import serviceProxy from '../features/serviceProxy'; |
14 | import basicAuth from '../features/basicAuth'; | 14 | import basicAuth from '../features/basicAuth'; |
15 | import workspaces from '../features/workspaces'; | 15 | import workspaces from '../features/workspaces'; |
16 | import quickSwitch from '../features/quickSwitch'; | ||
16 | import shareFranz from '../features/shareFranz'; | 17 | import shareFranz from '../features/shareFranz'; |
17 | import announcements from '../features/announcements'; | 18 | import announcements from '../features/announcements'; |
18 | import settingsWS from '../features/settingsWS'; | 19 | import settingsWS from '../features/settingsWS'; |
@@ -75,6 +76,7 @@ export default class FeaturesStore extends Store { | |||
75 | serviceProxy(this.stores, this.actions); | 76 | serviceProxy(this.stores, this.actions); |
76 | basicAuth(this.stores, this.actions); | 77 | basicAuth(this.stores, this.actions); |
77 | workspaces(this.stores, this.actions); | 78 | workspaces(this.stores, this.actions); |
79 | quickSwitch(this.stores, this.actions); | ||
78 | shareFranz(this.stores, this.actions); | 80 | shareFranz(this.stores, this.actions); |
79 | announcements(this.stores, this.actions); | 81 | announcements(this.stores, this.actions); |
80 | settingsWS(this.stores, this.actions); | 82 | settingsWS(this.stores, this.actions); |