diff options
25 files changed, 632 insertions, 324 deletions
diff --git a/electron-builder.yml b/electron-builder.yml index b2c243e49..df7d2223a 100644 --- a/electron-builder.yml +++ b/electron-builder.yml | |||
@@ -11,6 +11,7 @@ mac: | |||
11 | gatekeeperAssess: false | 11 | gatekeeperAssess: false |
12 | category: public.app-category.productivity | 12 | category: public.app-category.productivity |
13 | icon: ./build-helpers/images/icon.icns | 13 | icon: ./build-helpers/images/icon.icns |
14 | darkModeSupport: true | ||
14 | 15 | ||
15 | afterSign: ./build-helpers/notarize.js | 16 | afterSign: ./build-helpers/notarize.js |
16 | 17 | ||
diff --git a/package.json b/package.json index eb5e0de6c..838be1299 100644 --- a/package.json +++ b/package.json | |||
@@ -2,7 +2,7 @@ | |||
2 | "name": "ferdi", | 2 | "name": "ferdi", |
3 | "productName": "Ferdi", | 3 | "productName": "Ferdi", |
4 | "appId": "com.kytwb.ferdi", | 4 | "appId": "com.kytwb.ferdi", |
5 | "version": "5.3.4-beta.7", | 5 | "version": "5.4.0-beta.1", |
6 | "description": "Messaging app for WhatsApp, Slack, Telegram, HipChat, Hangouts and many many more.", | 6 | "description": "Messaging app for WhatsApp, Slack, Telegram, HipChat, Hangouts and many many more.", |
7 | "copyright": "kytwb", | 7 | "copyright": "kytwb", |
8 | "main": "index.js", | 8 | "main": "index.js", |
diff --git a/packages/theme/src/themes/dark/index.ts b/packages/theme/src/themes/dark/index.ts index e94f54c55..67d0cfb71 100644 --- a/packages/theme/src/themes/dark/index.ts +++ b/packages/theme/src/themes/dark/index.ts | |||
@@ -66,6 +66,7 @@ export const selectSearchColor = inputBackground; | |||
66 | 66 | ||
67 | // Modal | 67 | // Modal |
68 | export const colorModalOverlayBackground = color(legacyStyles.darkThemeBlack).alpha(0.8).rgb().string(); | 68 | export const colorModalOverlayBackground = color(legacyStyles.darkThemeBlack).alpha(0.8).rgb().string(); |
69 | export const colorModalBackground = colorContentBackground; | ||
69 | 70 | ||
70 | // Services | 71 | // Services |
71 | export const services = merge({}, defaultStyles.services, { | 72 | export const services = merge({}, defaultStyles.services, { |
diff --git a/packages/theme/src/themes/default/index.ts b/packages/theme/src/themes/default/index.ts index 79a6d676f..1862fef6f 100644 --- a/packages/theme/src/themes/default/index.ts +++ b/packages/theme/src/themes/default/index.ts | |||
@@ -145,6 +145,7 @@ export const badgeBorderRadius = 50; | |||
145 | 145 | ||
146 | // Modal | 146 | // Modal |
147 | export const colorModalOverlayBackground = color('#000').alpha(0.5).rgb().string(); | 147 | export const colorModalOverlayBackground = color('#000').alpha(0.5).rgb().string(); |
148 | export const colorModalBackground = colorContentBackground; | ||
148 | 149 | ||
149 | // Services | 150 | // Services |
150 | export const services = { | 151 | export const services = { |
diff --git a/src/components/services/content/ServiceView.js b/src/components/services/content/ServiceView.js index f6686548d..e5f095952 100644 --- a/src/components/services/content/ServiceView.js +++ b/src/components/services/content/ServiceView.js | |||
@@ -13,6 +13,7 @@ import ServiceDisabled from './ServiceDisabled'; | |||
13 | import ServiceWebview from './ServiceWebview'; | 13 | import ServiceWebview from './ServiceWebview'; |
14 | import SettingsStore from '../../../stores/SettingsStore'; | 14 | import SettingsStore from '../../../stores/SettingsStore'; |
15 | import WebControlsScreen from '../../../features/webControls/containers/WebControlsScreen'; | 15 | import WebControlsScreen from '../../../features/webControls/containers/WebControlsScreen'; |
16 | import { CUSTOM_WEBSITE_ID } from '../../../features/webControls/constants'; | ||
16 | 17 | ||
17 | export default @observer @inject('stores') class ServiceView extends Component { | 18 | export default @observer @inject('stores') class ServiceView extends Component { |
18 | static propTypes = { | 19 | static propTypes = { |
@@ -179,15 +180,17 @@ export default @observer @inject('stores') class ServiceView extends Component { | |||
179 | </Fragment> | 180 | </Fragment> |
180 | ) : ( | 181 | ) : ( |
181 | <> | 182 | <> |
182 | {service.recipe.id === 'franz-custom-website' && ( | ||
183 | <WebControlsScreen service={service} /> | ||
184 | )} | ||
185 | {!this.state.hibernate ? ( | 183 | {!this.state.hibernate ? ( |
186 | <ServiceWebview | 184 | <> |
187 | service={service} | 185 | {service.recipe.id === CUSTOM_WEBSITE_ID && ( |
188 | setWebviewReference={setWebviewReference} | 186 | <WebControlsScreen service={service} /> |
189 | detachService={detachService} | 187 | )} |
190 | /> | 188 | <ServiceWebview |
189 | service={service} | ||
190 | setWebviewReference={setWebviewReference} | ||
191 | detachService={detachService} | ||
192 | /> | ||
193 | </> | ||
191 | ) : ( | 194 | ) : ( |
192 | <div> | 195 | <div> |
193 | <span role="img" aria-label="Sleeping Emoji">😴</span> | 196 | <span role="img" aria-label="Sleeping Emoji">😴</span> |
diff --git a/src/components/services/content/ServiceWebview.js b/src/components/services/content/ServiceWebview.js index 03d6d5bcc..e6ebb6afb 100644 --- a/src/components/services/content/ServiceWebview.js +++ b/src/components/services/content/ServiceWebview.js | |||
@@ -38,6 +38,13 @@ class ServiceWebview extends Component { | |||
38 | detachService({ service }); | 38 | detachService({ service }); |
39 | } | 39 | } |
40 | 40 | ||
41 | refocusWebview = () => { | ||
42 | const { webview } = this; | ||
43 | if (!webview) return; | ||
44 | webview.view.blur(); | ||
45 | webview.view.focus(); | ||
46 | }; | ||
47 | |||
41 | render() { | 48 | render() { |
42 | const { | 49 | const { |
43 | service, | 50 | service, |
@@ -46,7 +53,12 @@ class ServiceWebview extends Component { | |||
46 | 53 | ||
47 | return ( | 54 | return ( |
48 | <ElectronWebView | 55 | <ElectronWebView |
49 | ref={(webview) => { this.webview = webview; }} | 56 | ref={(webview) => { |
57 | this.webview = webview; | ||
58 | if (webview && webview.view) { | ||
59 | webview.view.addEventListener('did-stop-loading', this.refocusWebview); | ||
60 | } | ||
61 | }} | ||
50 | autosize | 62 | autosize |
51 | src={service.url} | 63 | src={service.url} |
52 | preload="./webview/recipe.js" | 64 | preload="./webview/recipe.js" |
diff --git a/src/components/services/content/Services.js b/src/components/services/content/Services.js index 1afbaabc4..edff29ae8 100644 --- a/src/components/services/content/Services.js +++ b/src/components/services/content/Services.js | |||
@@ -64,16 +64,24 @@ export default @observer @injectSheet(styles) class Services extends Component { | |||
64 | 64 | ||
65 | state = { | 65 | state = { |
66 | showConfetti: true, | 66 | showConfetti: true, |
67 | } | 67 | }; |
68 | |||
69 | _confettiTimeout = null; | ||
68 | 70 | ||
69 | componentDidMount() { | 71 | componentDidMount() { |
70 | window.setTimeout(() => { | 72 | this._confettiTimeout = window.setTimeout(() => { |
71 | this.setState({ | 73 | this.setState({ |
72 | showConfetti: false, | 74 | showConfetti: false, |
73 | }); | 75 | }); |
74 | }, ms('8s')); | 76 | }, ms('8s')); |
75 | } | 77 | } |
76 | 78 | ||
79 | componentWillUnmount() { | ||
80 | if (this._confettiTimeout) { | ||
81 | clearTimeout(this._confettiTimeout); | ||
82 | } | ||
83 | } | ||
84 | |||
77 | render() { | 85 | render() { |
78 | const { | 86 | const { |
79 | services, | 87 | services, |
diff --git a/src/components/ui/Modal/styles.js b/src/components/ui/Modal/styles.js index 49b970c97..c2bebf9bb 100644 --- a/src/components/ui/Modal/styles.js +++ b/src/components/ui/Modal/styles.js | |||
@@ -13,7 +13,7 @@ export default theme => ({ | |||
13 | display: 'flex', | 13 | display: 'flex', |
14 | }, | 14 | }, |
15 | modal: { | 15 | modal: { |
16 | background: '#FFF', | 16 | background: theme.colorModalBackground, |
17 | maxWidth: '90%', | 17 | maxWidth: '90%', |
18 | height: 'auto', | 18 | height: 'auto', |
19 | margin: 'auto auto', | 19 | margin: 'auto auto', |
diff --git a/src/features/delayApp/index.js b/src/features/delayApp/index.js index a80ea4c72..5cc6c9506 100644 --- a/src/features/delayApp/index.js +++ b/src/features/delayApp/index.js | |||
@@ -57,12 +57,12 @@ export default function init(stores) { | |||
57 | 57 | ||
58 | setVisibility(true); | 58 | setVisibility(true); |
59 | 59 | ||
60 | timeLastDelay = moment(); | ||
61 | shownAfterLaunch = true; | ||
62 | 60 | ||
63 | setTimeout(() => { | 61 | setTimeout(() => { |
64 | debug('Resetting app delay'); | 62 | debug('Resetting app delay'); |
65 | 63 | ||
64 | shownAfterLaunch = true; | ||
65 | timeLastDelay = moment(); | ||
66 | setVisibility(false); | 66 | setVisibility(false); |
67 | }, config.delayDuration + 1000); // timer needs to be able to hit 0 | 67 | }, config.delayDuration + 1000); // timer needs to be able to hit 0 |
68 | } else { | 68 | } else { |
diff --git a/src/features/webControls/components/WebControls.js b/src/features/webControls/components/WebControls.js index 03f601a17..c6331073b 100644 --- a/src/features/webControls/components/WebControls.js +++ b/src/features/webControls/components/WebControls.js | |||
@@ -3,11 +3,35 @@ import PropTypes from 'prop-types'; | |||
3 | import { observer } from 'mobx-react'; | 3 | import { observer } from 'mobx-react'; |
4 | import injectSheet from 'react-jss'; | 4 | import injectSheet from 'react-jss'; |
5 | import { Icon } from '@meetfranz/ui'; | 5 | import { Icon } from '@meetfranz/ui'; |
6 | import { defineMessages, intlShape } from 'react-intl'; | ||
6 | 7 | ||
7 | import { | 8 | import { |
8 | mdiReload, mdiArrowRight, mdiArrowLeft, mdiHomeOutline, | 9 | mdiReload, mdiArrowRight, mdiArrowLeft, mdiHomeOutline, mdiEarth, |
9 | } from '@mdi/js'; | 10 | } from '@mdi/js'; |
10 | 11 | ||
12 | const messages = defineMessages({ | ||
13 | goHome: { | ||
14 | id: 'webControls.goHome', | ||
15 | defaultMessage: '!!!Home', | ||
16 | }, | ||
17 | openInBrowser: { | ||
18 | id: 'webControls.openInBrowser', | ||
19 | defaultMessage: '!!!Open in Browser', | ||
20 | }, | ||
21 | back: { | ||
22 | id: 'webControls.back', | ||
23 | defaultMessage: '!!!Back', | ||
24 | }, | ||
25 | forward: { | ||
26 | id: 'webControls.forward', | ||
27 | defaultMessage: '!!!Forward', | ||
28 | }, | ||
29 | reload: { | ||
30 | id: 'webControls.reload', | ||
31 | defaultMessage: '!!!Reload', | ||
32 | }, | ||
33 | }); | ||
34 | |||
11 | const styles = theme => ({ | 35 | const styles = theme => ({ |
12 | root: { | 36 | root: { |
13 | background: theme.colorBackground, | 37 | background: theme.colorBackground, |
@@ -18,7 +42,7 @@ const styles = theme => ({ | |||
18 | display: 'flex', | 42 | display: 'flex', |
19 | flexDirection: 'row', | 43 | flexDirection: 'row', |
20 | alignItems: 'center', | 44 | alignItems: 'center', |
21 | padding: [0, 20], | 45 | padding: [0, 10], |
22 | 46 | ||
23 | '& + div': { | 47 | '& + div': { |
24 | height: 'calc(100% - 50px)', | 48 | height: 'calc(100% - 50px)', |
@@ -45,7 +69,7 @@ const styles = theme => ({ | |||
45 | input: { | 69 | input: { |
46 | marginBottom: 0, | 70 | marginBottom: 0, |
47 | height: 'auto', | 71 | height: 'auto', |
48 | marginLeft: 10, | 72 | margin: [0, 10], |
49 | flex: 1, | 73 | flex: 1, |
50 | border: 0, | 74 | border: 0, |
51 | padding: [4, 10], | 75 | padding: [4, 10], |
@@ -68,10 +92,15 @@ class WebControls extends Component { | |||
68 | canGoForward: PropTypes.bool.isRequired, | 92 | canGoForward: PropTypes.bool.isRequired, |
69 | goForward: PropTypes.func.isRequired, | 93 | goForward: PropTypes.func.isRequired, |
70 | reload: PropTypes.func.isRequired, | 94 | reload: PropTypes.func.isRequired, |
95 | openInBrowser: PropTypes.func.isRequired, | ||
71 | url: PropTypes.string.isRequired, | 96 | url: PropTypes.string.isRequired, |
72 | navigate: PropTypes.func.isRequired, | 97 | navigate: PropTypes.func.isRequired, |
73 | } | 98 | } |
74 | 99 | ||
100 | static contextTypes = { | ||
101 | intl: intlShape, | ||
102 | }; | ||
103 | |||
75 | static getDerivedStateFromProps(props, state) { | 104 | static getDerivedStateFromProps(props, state) { |
76 | const { url } = props; | 105 | const { url } = props; |
77 | const { editUrl } = state; | 106 | const { editUrl } = state; |
@@ -100,6 +129,7 @@ class WebControls extends Component { | |||
100 | canGoForward, | 129 | canGoForward, |
101 | goForward, | 130 | goForward, |
102 | reload, | 131 | reload, |
132 | openInBrowser, | ||
103 | url, | 133 | url, |
104 | navigate, | 134 | navigate, |
105 | } = this.props; | 135 | } = this.props; |
@@ -109,12 +139,16 @@ class WebControls extends Component { | |||
109 | editUrl, | 139 | editUrl, |
110 | } = this.state; | 140 | } = this.state; |
111 | 141 | ||
142 | const { intl } = this.context; | ||
143 | |||
112 | return ( | 144 | return ( |
113 | <div className={classes.root}> | 145 | <div className={classes.root}> |
114 | <button | 146 | <button |
115 | onClick={goHome} | 147 | onClick={goHome} |
116 | type="button" | 148 | type="button" |
117 | className={classes.button} | 149 | className={classes.button} |
150 | data-tip={intl.formatMessage(messages.goHome)} | ||
151 | data-place="bottom" | ||
118 | > | 152 | > |
119 | <Icon | 153 | <Icon |
120 | icon={mdiHomeOutline} | 154 | icon={mdiHomeOutline} |
@@ -126,6 +160,8 @@ class WebControls extends Component { | |||
126 | type="button" | 160 | type="button" |
127 | className={classes.button} | 161 | className={classes.button} |
128 | disabled={!canGoBack} | 162 | disabled={!canGoBack} |
163 | data-tip={intl.formatMessage(messages.back)} | ||
164 | data-place="bottom" | ||
129 | > | 165 | > |
130 | <Icon | 166 | <Icon |
131 | icon={mdiArrowLeft} | 167 | icon={mdiArrowLeft} |
@@ -137,6 +173,8 @@ class WebControls extends Component { | |||
137 | type="button" | 173 | type="button" |
138 | className={classes.button} | 174 | className={classes.button} |
139 | disabled={!canGoForward} | 175 | disabled={!canGoForward} |
176 | data-tip={intl.formatMessage(messages.forward)} | ||
177 | data-place="bottom" | ||
140 | > | 178 | > |
141 | <Icon | 179 | <Icon |
142 | icon={mdiArrowRight} | 180 | icon={mdiArrowRight} |
@@ -147,6 +185,8 @@ class WebControls extends Component { | |||
147 | onClick={reload} | 185 | onClick={reload} |
148 | type="button" | 186 | type="button" |
149 | className={classes.button} | 187 | className={classes.button} |
188 | data-tip={intl.formatMessage(messages.reload)} | ||
189 | data-place="bottom" | ||
150 | > | 190 | > |
151 | <Icon | 191 | <Icon |
152 | icon={mdiReload} | 192 | icon={mdiReload} |
@@ -160,6 +200,7 @@ class WebControls extends Component { | |||
160 | inputUrl: event.target.value, | 200 | inputUrl: event.target.value, |
161 | })} | 201 | })} |
162 | onFocus={(event) => { | 202 | onFocus={(event) => { |
203 | console.log('on focus event'); | ||
163 | event.target.select(); | 204 | event.target.select(); |
164 | this.setState({ | 205 | this.setState({ |
165 | editUrl: true, | 206 | editUrl: true, |
@@ -182,6 +223,18 @@ class WebControls extends Component { | |||
182 | }} | 223 | }} |
183 | ref={this.inputRef} | 224 | ref={this.inputRef} |
184 | /> | 225 | /> |
226 | <button | ||
227 | onClick={openInBrowser} | ||
228 | type="button" | ||
229 | className={classes.button} | ||
230 | data-tip={intl.formatMessage(messages.openInBrowser)} | ||
231 | data-place="bottom" | ||
232 | > | ||
233 | <Icon | ||
234 | icon={mdiEarth} | ||
235 | className={classes.icon} | ||
236 | /> | ||
237 | </button> | ||
185 | </div> | 238 | </div> |
186 | ); | 239 | ); |
187 | } | 240 | } |
diff --git a/src/features/webControls/constants.js b/src/features/webControls/constants.js new file mode 100644 index 000000000..270a3568e --- /dev/null +++ b/src/features/webControls/constants.js | |||
@@ -0,0 +1 @@ | |||
export const CUSTOM_WEBSITE_ID = 'franz-custom-website'; | |||
diff --git a/src/features/webControls/containers/WebControlsScreen.js b/src/features/webControls/containers/WebControlsScreen.js index 1452d5a3d..cada01a6f 100644 --- a/src/features/webControls/containers/WebControlsScreen.js +++ b/src/features/webControls/containers/WebControlsScreen.js | |||
@@ -9,7 +9,6 @@ import Service from '../../../models/Service'; | |||
9 | 9 | ||
10 | const URL_EVENTS = [ | 10 | const URL_EVENTS = [ |
11 | 'load-commit', | 11 | 'load-commit', |
12 | // 'dom-ready', | ||
13 | 'will-navigate', | 12 | 'will-navigate', |
14 | 'did-navigate', | 13 | 'did-navigate', |
15 | 'did-navigate-in-page', | 14 | 'did-navigate-in-page', |
@@ -97,11 +96,20 @@ class WebControlsScreen extends Component { | |||
97 | this.url = url; | 96 | this.url = url; |
98 | } | 97 | } |
99 | 98 | ||
99 | openInBrowser() { | ||
100 | const { openExternalUrl } = this.props.actions.app; | ||
101 | |||
102 | if (!this.webview) return; | ||
103 | |||
104 | openExternalUrl({ url: this.url }); | ||
105 | } | ||
106 | |||
100 | render() { | 107 | render() { |
101 | return ( | 108 | return ( |
102 | <WebControls | 109 | <WebControls |
103 | goHome={() => this.goHome()} | 110 | goHome={() => this.goHome()} |
104 | reload={() => this.reload()} | 111 | reload={() => this.reload()} |
112 | openInBrowser={() => this.openInBrowser()} | ||
105 | canGoBack={this.canGoBack} | 113 | canGoBack={this.canGoBack} |
106 | goBack={() => this.goBack()} | 114 | goBack={() => this.goBack()} |
107 | canGoForward={this.canGoForward} | 115 | canGoForward={this.canGoForward} |
@@ -121,6 +129,9 @@ WebControlsScreen.wrappedComponent.propTypes = { | |||
121 | services: PropTypes.instanceOf(ServicesStore).isRequired, | 129 | services: PropTypes.instanceOf(ServicesStore).isRequired, |
122 | }).isRequired, | 130 | }).isRequired, |
123 | actions: PropTypes.shape({ | 131 | actions: PropTypes.shape({ |
132 | app: PropTypes.shape({ | ||
133 | openExternalUrl: PropTypes.func.isRequired, | ||
134 | }).isRequired, | ||
124 | service: PropTypes.shape({ | 135 | service: PropTypes.shape({ |
125 | reloadActive: PropTypes.func.isRequired, | 136 | reloadActive: PropTypes.func.isRequired, |
126 | }).isRequired, | 137 | }).isRequired, |
diff --git a/src/features/workspaces/components/WorkspaceDrawer.js b/src/features/workspaces/components/WorkspaceDrawer.js index f4ee89a14..e991b9909 100644 --- a/src/features/workspaces/components/WorkspaceDrawer.js +++ b/src/features/workspaces/components/WorkspaceDrawer.js | |||
@@ -199,8 +199,9 @@ class WorkspaceDrawer extends Component { | |||
199 | }} | 199 | }} |
200 | services={getServicesForWorkspace(null)} | 200 | services={getServicesForWorkspace(null)} |
201 | isActive={actualWorkspace == null} | 201 | isActive={actualWorkspace == null} |
202 | shortcutIndex={0} | ||
202 | /> | 203 | /> |
203 | {workspaces.map(workspace => ( | 204 | {workspaces.map((workspace, index) => ( |
204 | <WorkspaceDrawerItem | 205 | <WorkspaceDrawerItem |
205 | key={workspace.id} | 206 | key={workspace.id} |
206 | name={workspace.name} | 207 | name={workspace.name} |
@@ -212,6 +213,7 @@ class WorkspaceDrawer extends Component { | |||
212 | }} | 213 | }} |
213 | onContextMenuEditClick={() => workspaceActions.edit({ workspace })} | 214 | onContextMenuEditClick={() => workspaceActions.edit({ workspace })} |
214 | services={getServicesForWorkspace(workspace)} | 215 | services={getServicesForWorkspace(workspace)} |
216 | shortcutIndex={index + 1} | ||
215 | /> | 217 | /> |
216 | ))} | 218 | ))} |
217 | <div | 219 | <div |
diff --git a/src/features/workspaces/components/WorkspaceDrawerItem.js b/src/features/workspaces/components/WorkspaceDrawerItem.js index 59a2144d3..18f424d8a 100644 --- a/src/features/workspaces/components/WorkspaceDrawerItem.js +++ b/src/features/workspaces/components/WorkspaceDrawerItem.js | |||
@@ -5,6 +5,7 @@ import { observer } from 'mobx-react'; | |||
5 | import injectSheet from 'react-jss'; | 5 | import injectSheet from 'react-jss'; |
6 | import classnames from 'classnames'; | 6 | import classnames from 'classnames'; |
7 | import { defineMessages, intlShape } from 'react-intl'; | 7 | import { defineMessages, intlShape } from 'react-intl'; |
8 | import { ctrlKey } from '../../../environment'; | ||
8 | 9 | ||
9 | const { Menu } = remote; | 10 | const { Menu } = remote; |
10 | 11 | ||
@@ -69,6 +70,7 @@ class WorkspaceDrawerItem extends Component { | |||
69 | onClick: PropTypes.func.isRequired, | 70 | onClick: PropTypes.func.isRequired, |
70 | services: PropTypes.arrayOf(PropTypes.string).isRequired, | 71 | services: PropTypes.arrayOf(PropTypes.string).isRequired, |
71 | onContextMenuEditClick: PropTypes.func, | 72 | onContextMenuEditClick: PropTypes.func, |
73 | shortcutIndex: PropTypes.number.isRequired, | ||
72 | }; | 74 | }; |
73 | 75 | ||
74 | static defaultProps = { | 76 | static defaultProps = { |
@@ -87,6 +89,7 @@ class WorkspaceDrawerItem extends Component { | |||
87 | onClick, | 89 | onClick, |
88 | onContextMenuEditClick, | 90 | onContextMenuEditClick, |
89 | services, | 91 | services, |
92 | shortcutIndex, | ||
90 | } = this.props; | 93 | } = this.props; |
91 | const { intl } = this.context; | 94 | const { intl } = this.context; |
92 | 95 | ||
@@ -112,6 +115,7 @@ class WorkspaceDrawerItem extends Component { | |||
112 | onContextMenu={() => ( | 115 | onContextMenu={() => ( |
113 | onContextMenuEditClick && contextMenu.popup(remote.getCurrentWindow()) | 116 | onContextMenuEditClick && contextMenu.popup(remote.getCurrentWindow()) |
114 | )} | 117 | )} |
118 | data-tip={`${shortcutIndex <= 9 ? `(${ctrlKey}+Alt+${shortcutIndex})` : ''}`} | ||
115 | > | 119 | > |
116 | <span | 120 | <span |
117 | className={classnames([ | 121 | className={classnames([ |
diff --git a/src/i18n/locales/defaultMessages.json b/src/i18n/locales/defaultMessages.json index f5b268cba..1e8944ead 100644 --- a/src/i18n/locales/defaultMessages.json +++ b/src/i18n/locales/defaultMessages.json | |||
@@ -4532,6 +4532,76 @@ | |||
4532 | { | 4532 | { |
4533 | "descriptors": [ | 4533 | "descriptors": [ |
4534 | { | 4534 | { |
4535 | "defaultMessage": "!!!Home", | ||
4536 | "end": { | ||
4537 | "column": 3, | ||
4538 | "line": 16 | ||
4539 | }, | ||
4540 | "file": "src/features/webControls/components/WebControls.js", | ||
4541 | "id": "webControls.goHome", | ||
4542 | "start": { | ||
4543 | "column": 10, | ||
4544 | "line": 13 | ||
4545 | } | ||
4546 | }, | ||
4547 | { | ||
4548 | "defaultMessage": "!!!Open in Browser", | ||
4549 | "end": { | ||
4550 | "column": 3, | ||
4551 | "line": 20 | ||
4552 | }, | ||
4553 | "file": "src/features/webControls/components/WebControls.js", | ||
4554 | "id": "webControls.openInBrowser", | ||
4555 | "start": { | ||
4556 | "column": 17, | ||
4557 | "line": 17 | ||
4558 | } | ||
4559 | }, | ||
4560 | { | ||
4561 | "defaultMessage": "!!!Back", | ||
4562 | "end": { | ||
4563 | "column": 3, | ||
4564 | "line": 24 | ||
4565 | }, | ||
4566 | "file": "src/features/webControls/components/WebControls.js", | ||
4567 | "id": "webControls.back", | ||
4568 | "start": { | ||
4569 | "column": 8, | ||
4570 | "line": 21 | ||
4571 | } | ||
4572 | }, | ||
4573 | { | ||
4574 | "defaultMessage": "!!!Forward", | ||
4575 | "end": { | ||
4576 | "column": 3, | ||
4577 | "line": 28 | ||
4578 | }, | ||
4579 | "file": "src/features/webControls/components/WebControls.js", | ||
4580 | "id": "webControls.forward", | ||
4581 | "start": { | ||
4582 | "column": 11, | ||
4583 | "line": 25 | ||
4584 | } | ||
4585 | }, | ||
4586 | { | ||
4587 | "defaultMessage": "!!!Reload", | ||
4588 | "end": { | ||
4589 | "column": 3, | ||
4590 | "line": 32 | ||
4591 | }, | ||
4592 | "file": "src/features/webControls/components/WebControls.js", | ||
4593 | "id": "webControls.reload", | ||
4594 | "start": { | ||
4595 | "column": 10, | ||
4596 | "line": 29 | ||
4597 | } | ||
4598 | } | ||
4599 | ], | ||
4600 | "path": "src/features/webControls/components/WebControls.json" | ||
4601 | }, | ||
4602 | { | ||
4603 | "descriptors": [ | ||
4604 | { | ||
4535 | "defaultMessage": "!!!Create workspace", | 4605 | "defaultMessage": "!!!Create workspace", |
4536 | "end": { | 4606 | "end": { |
4537 | "column": 3, | 4607 | "column": 3, |
@@ -4797,26 +4867,26 @@ | |||
4797 | "defaultMessage": "!!!No services added yet", | 4867 | "defaultMessage": "!!!No services added yet", |
4798 | "end": { | 4868 | "end": { |
4799 | "column": 3, | 4869 | "column": 3, |
4800 | "line": 15 | 4870 | "line": 16 |
4801 | }, | 4871 | }, |
4802 | "file": "src/features/workspaces/components/WorkspaceDrawerItem.js", | 4872 | "file": "src/features/workspaces/components/WorkspaceDrawerItem.js", |
4803 | "id": "workspaceDrawer.item.noServicesAddedYet", | 4873 | "id": "workspaceDrawer.item.noServicesAddedYet", |
4804 | "start": { | 4874 | "start": { |
4805 | "column": 22, | 4875 | "column": 22, |
4806 | "line": 12 | 4876 | "line": 13 |
4807 | } | 4877 | } |
4808 | }, | 4878 | }, |
4809 | { | 4879 | { |
4810 | "defaultMessage": "!!!edit", | 4880 | "defaultMessage": "!!!edit", |
4811 | "end": { | 4881 | "end": { |
4812 | "column": 3, | 4882 | "column": 3, |
4813 | "line": 19 | 4883 | "line": 20 |
4814 | }, | 4884 | }, |
4815 | "file": "src/features/workspaces/components/WorkspaceDrawerItem.js", | 4885 | "file": "src/features/workspaces/components/WorkspaceDrawerItem.js", |
4816 | "id": "workspaceDrawer.item.contextMenuEdit", | 4886 | "id": "workspaceDrawer.item.contextMenuEdit", |
4817 | "start": { | 4887 | "start": { |
4818 | "column": 19, | 4888 | "column": 19, |
4819 | "line": 16 | 4889 | "line": 17 |
4820 | } | 4890 | } |
4821 | } | 4891 | } |
4822 | ], | 4892 | ], |
@@ -5261,871 +5331,884 @@ | |||
5261 | "defaultMessage": "!!!Edit", | 5331 | "defaultMessage": "!!!Edit", |
5262 | "end": { | 5332 | "end": { |
5263 | "column": 3, | 5333 | "column": 3, |
5264 | "line": 19 | 5334 | "line": 20 |
5265 | }, | 5335 | }, |
5266 | "file": "src/lib/Menu.js", | 5336 | "file": "src/lib/Menu.js", |
5267 | "id": "menu.edit", | 5337 | "id": "menu.edit", |
5268 | "start": { | 5338 | "start": { |
5269 | "column": 8, | 5339 | "column": 8, |
5270 | "line": 16 | 5340 | "line": 17 |
5271 | } | 5341 | } |
5272 | }, | 5342 | }, |
5273 | { | 5343 | { |
5274 | "defaultMessage": "!!!Undo", | 5344 | "defaultMessage": "!!!Undo", |
5275 | "end": { | 5345 | "end": { |
5276 | "column": 3, | 5346 | "column": 3, |
5277 | "line": 23 | 5347 | "line": 24 |
5278 | }, | 5348 | }, |
5279 | "file": "src/lib/Menu.js", | 5349 | "file": "src/lib/Menu.js", |
5280 | "id": "menu.edit.undo", | 5350 | "id": "menu.edit.undo", |
5281 | "start": { | 5351 | "start": { |
5282 | "column": 8, | 5352 | "column": 8, |
5283 | "line": 20 | 5353 | "line": 21 |
5284 | } | 5354 | } |
5285 | }, | 5355 | }, |
5286 | { | 5356 | { |
5287 | "defaultMessage": "!!!Redo", | 5357 | "defaultMessage": "!!!Redo", |
5288 | "end": { | 5358 | "end": { |
5289 | "column": 3, | 5359 | "column": 3, |
5290 | "line": 27 | 5360 | "line": 28 |
5291 | }, | 5361 | }, |
5292 | "file": "src/lib/Menu.js", | 5362 | "file": "src/lib/Menu.js", |
5293 | "id": "menu.edit.redo", | 5363 | "id": "menu.edit.redo", |
5294 | "start": { | 5364 | "start": { |
5295 | "column": 8, | 5365 | "column": 8, |
5296 | "line": 24 | 5366 | "line": 25 |
5297 | } | 5367 | } |
5298 | }, | 5368 | }, |
5299 | { | 5369 | { |
5300 | "defaultMessage": "!!!Cut", | 5370 | "defaultMessage": "!!!Cut", |
5301 | "end": { | 5371 | "end": { |
5302 | "column": 3, | 5372 | "column": 3, |
5303 | "line": 31 | 5373 | "line": 32 |
5304 | }, | 5374 | }, |
5305 | "file": "src/lib/Menu.js", | 5375 | "file": "src/lib/Menu.js", |
5306 | "id": "menu.edit.cut", | 5376 | "id": "menu.edit.cut", |
5307 | "start": { | 5377 | "start": { |
5308 | "column": 7, | 5378 | "column": 7, |
5309 | "line": 28 | 5379 | "line": 29 |
5310 | } | 5380 | } |
5311 | }, | 5381 | }, |
5312 | { | 5382 | { |
5313 | "defaultMessage": "!!!Copy", | 5383 | "defaultMessage": "!!!Copy", |
5314 | "end": { | 5384 | "end": { |
5315 | "column": 3, | 5385 | "column": 3, |
5316 | "line": 35 | 5386 | "line": 36 |
5317 | }, | 5387 | }, |
5318 | "file": "src/lib/Menu.js", | 5388 | "file": "src/lib/Menu.js", |
5319 | "id": "menu.edit.copy", | 5389 | "id": "menu.edit.copy", |
5320 | "start": { | 5390 | "start": { |
5321 | "column": 8, | 5391 | "column": 8, |
5322 | "line": 32 | 5392 | "line": 33 |
5323 | } | 5393 | } |
5324 | }, | 5394 | }, |
5325 | { | 5395 | { |
5326 | "defaultMessage": "!!!Paste", | 5396 | "defaultMessage": "!!!Paste", |
5327 | "end": { | 5397 | "end": { |
5328 | "column": 3, | 5398 | "column": 3, |
5329 | "line": 39 | 5399 | "line": 40 |
5330 | }, | 5400 | }, |
5331 | "file": "src/lib/Menu.js", | 5401 | "file": "src/lib/Menu.js", |
5332 | "id": "menu.edit.paste", | 5402 | "id": "menu.edit.paste", |
5333 | "start": { | 5403 | "start": { |
5334 | "column": 9, | 5404 | "column": 9, |
5335 | "line": 36 | 5405 | "line": 37 |
5336 | } | 5406 | } |
5337 | }, | 5407 | }, |
5338 | { | 5408 | { |
5339 | "defaultMessage": "!!!Paste And Match Style", | 5409 | "defaultMessage": "!!!Paste And Match Style", |
5340 | "end": { | 5410 | "end": { |
5341 | "column": 3, | 5411 | "column": 3, |
5342 | "line": 43 | 5412 | "line": 44 |
5343 | }, | 5413 | }, |
5344 | "file": "src/lib/Menu.js", | 5414 | "file": "src/lib/Menu.js", |
5345 | "id": "menu.edit.pasteAndMatchStyle", | 5415 | "id": "menu.edit.pasteAndMatchStyle", |
5346 | "start": { | 5416 | "start": { |
5347 | "column": 22, | 5417 | "column": 22, |
5348 | "line": 40 | 5418 | "line": 41 |
5349 | } | 5419 | } |
5350 | }, | 5420 | }, |
5351 | { | 5421 | { |
5352 | "defaultMessage": "!!!Delete", | 5422 | "defaultMessage": "!!!Delete", |
5353 | "end": { | 5423 | "end": { |
5354 | "column": 3, | 5424 | "column": 3, |
5355 | "line": 47 | 5425 | "line": 48 |
5356 | }, | 5426 | }, |
5357 | "file": "src/lib/Menu.js", | 5427 | "file": "src/lib/Menu.js", |
5358 | "id": "menu.edit.delete", | 5428 | "id": "menu.edit.delete", |
5359 | "start": { | 5429 | "start": { |
5360 | "column": 10, | 5430 | "column": 10, |
5361 | "line": 44 | 5431 | "line": 45 |
5362 | } | 5432 | } |
5363 | }, | 5433 | }, |
5364 | { | 5434 | { |
5365 | "defaultMessage": "!!!Select All", | 5435 | "defaultMessage": "!!!Select All", |
5366 | "end": { | 5436 | "end": { |
5367 | "column": 3, | 5437 | "column": 3, |
5368 | "line": 51 | 5438 | "line": 52 |
5369 | }, | 5439 | }, |
5370 | "file": "src/lib/Menu.js", | 5440 | "file": "src/lib/Menu.js", |
5371 | "id": "menu.edit.selectAll", | 5441 | "id": "menu.edit.selectAll", |
5372 | "start": { | 5442 | "start": { |
5373 | "column": 13, | 5443 | "column": 13, |
5374 | "line": 48 | 5444 | "line": 49 |
5375 | } | 5445 | } |
5376 | }, | 5446 | }, |
5377 | { | 5447 | { |
5378 | "defaultMessage": "!!!Speech", | 5448 | "defaultMessage": "!!!Speech", |
5379 | "end": { | 5449 | "end": { |
5380 | "column": 3, | 5450 | "column": 3, |
5381 | "line": 55 | 5451 | "line": 56 |
5382 | }, | 5452 | }, |
5383 | "file": "src/lib/Menu.js", | 5453 | "file": "src/lib/Menu.js", |
5384 | "id": "menu.edit.speech", | 5454 | "id": "menu.edit.speech", |
5385 | "start": { | 5455 | "start": { |
5386 | "column": 10, | 5456 | "column": 10, |
5387 | "line": 52 | 5457 | "line": 53 |
5388 | } | 5458 | } |
5389 | }, | 5459 | }, |
5390 | { | 5460 | { |
5391 | "defaultMessage": "!!!Start Speaking", | 5461 | "defaultMessage": "!!!Start Speaking", |
5392 | "end": { | 5462 | "end": { |
5393 | "column": 3, | 5463 | "column": 3, |
5394 | "line": 59 | 5464 | "line": 60 |
5395 | }, | 5465 | }, |
5396 | "file": "src/lib/Menu.js", | 5466 | "file": "src/lib/Menu.js", |
5397 | "id": "menu.edit.startSpeaking", | 5467 | "id": "menu.edit.startSpeaking", |
5398 | "start": { | 5468 | "start": { |
5399 | "column": 17, | 5469 | "column": 17, |
5400 | "line": 56 | 5470 | "line": 57 |
5401 | } | 5471 | } |
5402 | }, | 5472 | }, |
5403 | { | 5473 | { |
5404 | "defaultMessage": "!!!Stop Speaking", | 5474 | "defaultMessage": "!!!Stop Speaking", |
5405 | "end": { | 5475 | "end": { |
5406 | "column": 3, | 5476 | "column": 3, |
5407 | "line": 63 | 5477 | "line": 64 |
5408 | }, | 5478 | }, |
5409 | "file": "src/lib/Menu.js", | 5479 | "file": "src/lib/Menu.js", |
5410 | "id": "menu.edit.stopSpeaking", | 5480 | "id": "menu.edit.stopSpeaking", |
5411 | "start": { | 5481 | "start": { |
5412 | "column": 16, | 5482 | "column": 16, |
5413 | "line": 60 | 5483 | "line": 61 |
5414 | } | 5484 | } |
5415 | }, | 5485 | }, |
5416 | { | 5486 | { |
5417 | "defaultMessage": "!!!Start Dictation", | 5487 | "defaultMessage": "!!!Start Dictation", |
5418 | "end": { | 5488 | "end": { |
5419 | "column": 3, | 5489 | "column": 3, |
5420 | "line": 67 | 5490 | "line": 68 |
5421 | }, | 5491 | }, |
5422 | "file": "src/lib/Menu.js", | 5492 | "file": "src/lib/Menu.js", |
5423 | "id": "menu.edit.startDictation", | 5493 | "id": "menu.edit.startDictation", |
5424 | "start": { | 5494 | "start": { |
5425 | "column": 18, | 5495 | "column": 18, |
5426 | "line": 64 | 5496 | "line": 65 |
5427 | } | 5497 | } |
5428 | }, | 5498 | }, |
5429 | { | 5499 | { |
5430 | "defaultMessage": "!!!Emoji & Symbols", | 5500 | "defaultMessage": "!!!Emoji & Symbols", |
5431 | "end": { | 5501 | "end": { |
5432 | "column": 3, | 5502 | "column": 3, |
5433 | "line": 71 | 5503 | "line": 72 |
5434 | }, | 5504 | }, |
5435 | "file": "src/lib/Menu.js", | 5505 | "file": "src/lib/Menu.js", |
5436 | "id": "menu.edit.emojiSymbols", | 5506 | "id": "menu.edit.emojiSymbols", |
5437 | "start": { | 5507 | "start": { |
5438 | "column": 16, | 5508 | "column": 16, |
5439 | "line": 68 | 5509 | "line": 69 |
5440 | } | 5510 | } |
5441 | }, | 5511 | }, |
5442 | { | 5512 | { |
5443 | "defaultMessage": "!!!Open Quick Switch", | 5513 | "defaultMessage": "!!!Open Quick Switch", |
5444 | "end": { | 5514 | "end": { |
5445 | "column": 3, | 5515 | "column": 3, |
5446 | "line": 75 | 5516 | "line": 76 |
5447 | }, | 5517 | }, |
5448 | "file": "src/lib/Menu.js", | 5518 | "file": "src/lib/Menu.js", |
5449 | "id": "menu.view.openQuickSwitch", | 5519 | "id": "menu.view.openQuickSwitch", |
5450 | "start": { | 5520 | "start": { |
5451 | "column": 19, | 5521 | "column": 19, |
5452 | "line": 72 | 5522 | "line": 73 |
5453 | } | 5523 | } |
5454 | }, | 5524 | }, |
5455 | { | 5525 | { |
5456 | "defaultMessage": "!!!Back", | 5526 | "defaultMessage": "!!!Back", |
5457 | "end": { | 5527 | "end": { |
5458 | "column": 3, | 5528 | "column": 3, |
5459 | "line": 79 | 5529 | "line": 80 |
5460 | }, | 5530 | }, |
5461 | "file": "src/lib/Menu.js", | 5531 | "file": "src/lib/Menu.js", |
5462 | "id": "menu.view.back", | 5532 | "id": "menu.view.back", |
5463 | "start": { | 5533 | "start": { |
5464 | "column": 8, | 5534 | "column": 8, |
5465 | "line": 76 | 5535 | "line": 77 |
5466 | } | 5536 | } |
5467 | }, | 5537 | }, |
5468 | { | 5538 | { |
5469 | "defaultMessage": "!!!Forward", | 5539 | "defaultMessage": "!!!Forward", |
5470 | "end": { | 5540 | "end": { |
5471 | "column": 3, | 5541 | "column": 3, |
5472 | "line": 83 | 5542 | "line": 84 |
5473 | }, | 5543 | }, |
5474 | "file": "src/lib/Menu.js", | 5544 | "file": "src/lib/Menu.js", |
5475 | "id": "menu.view.forward", | 5545 | "id": "menu.view.forward", |
5476 | "start": { | 5546 | "start": { |
5477 | "column": 11, | 5547 | "column": 11, |
5478 | "line": 80 | 5548 | "line": 81 |
5479 | } | 5549 | } |
5480 | }, | 5550 | }, |
5481 | { | 5551 | { |
5482 | "defaultMessage": "!!!Actual Size", | 5552 | "defaultMessage": "!!!Actual Size", |
5483 | "end": { | 5553 | "end": { |
5484 | "column": 3, | 5554 | "column": 3, |
5485 | "line": 87 | 5555 | "line": 88 |
5486 | }, | 5556 | }, |
5487 | "file": "src/lib/Menu.js", | 5557 | "file": "src/lib/Menu.js", |
5488 | "id": "menu.view.resetZoom", | 5558 | "id": "menu.view.resetZoom", |
5489 | "start": { | 5559 | "start": { |
5490 | "column": 13, | 5560 | "column": 13, |
5491 | "line": 84 | 5561 | "line": 85 |
5492 | } | 5562 | } |
5493 | }, | 5563 | }, |
5494 | { | 5564 | { |
5495 | "defaultMessage": "!!!Zoom In", | 5565 | "defaultMessage": "!!!Zoom In", |
5496 | "end": { | 5566 | "end": { |
5497 | "column": 3, | 5567 | "column": 3, |
5498 | "line": 91 | 5568 | "line": 92 |
5499 | }, | 5569 | }, |
5500 | "file": "src/lib/Menu.js", | 5570 | "file": "src/lib/Menu.js", |
5501 | "id": "menu.view.zoomIn", | 5571 | "id": "menu.view.zoomIn", |
5502 | "start": { | 5572 | "start": { |
5503 | "column": 10, | 5573 | "column": 10, |
5504 | "line": 88 | 5574 | "line": 89 |
5505 | } | 5575 | } |
5506 | }, | 5576 | }, |
5507 | { | 5577 | { |
5508 | "defaultMessage": "!!!Zoom Out", | 5578 | "defaultMessage": "!!!Zoom Out", |
5509 | "end": { | 5579 | "end": { |
5510 | "column": 3, | 5580 | "column": 3, |
5511 | "line": 95 | 5581 | "line": 96 |
5512 | }, | 5582 | }, |
5513 | "file": "src/lib/Menu.js", | 5583 | "file": "src/lib/Menu.js", |
5514 | "id": "menu.view.zoomOut", | 5584 | "id": "menu.view.zoomOut", |
5515 | "start": { | 5585 | "start": { |
5516 | "column": 11, | 5586 | "column": 11, |
5517 | "line": 92 | 5587 | "line": 93 |
5518 | } | 5588 | } |
5519 | }, | 5589 | }, |
5520 | { | 5590 | { |
5521 | "defaultMessage": "!!!Enter Full Screen", | 5591 | "defaultMessage": "!!!Enter Full Screen", |
5522 | "end": { | 5592 | "end": { |
5523 | "column": 3, | 5593 | "column": 3, |
5524 | "line": 99 | 5594 | "line": 100 |
5525 | }, | 5595 | }, |
5526 | "file": "src/lib/Menu.js", | 5596 | "file": "src/lib/Menu.js", |
5527 | "id": "menu.view.enterFullScreen", | 5597 | "id": "menu.view.enterFullScreen", |
5528 | "start": { | 5598 | "start": { |
5529 | "column": 19, | 5599 | "column": 19, |
5530 | "line": 96 | 5600 | "line": 97 |
5531 | } | 5601 | } |
5532 | }, | 5602 | }, |
5533 | { | 5603 | { |
5534 | "defaultMessage": "!!!Exit Full Screen", | 5604 | "defaultMessage": "!!!Exit Full Screen", |
5535 | "end": { | 5605 | "end": { |
5536 | "column": 3, | 5606 | "column": 3, |
5537 | "line": 103 | 5607 | "line": 104 |
5538 | }, | 5608 | }, |
5539 | "file": "src/lib/Menu.js", | 5609 | "file": "src/lib/Menu.js", |
5540 | "id": "menu.view.exitFullScreen", | 5610 | "id": "menu.view.exitFullScreen", |
5541 | "start": { | 5611 | "start": { |
5542 | "column": 18, | 5612 | "column": 18, |
5543 | "line": 100 | 5613 | "line": 101 |
5544 | } | 5614 | } |
5545 | }, | 5615 | }, |
5546 | { | 5616 | { |
5547 | "defaultMessage": "!!!Toggle Full Screen", | 5617 | "defaultMessage": "!!!Toggle Full Screen", |
5548 | "end": { | 5618 | "end": { |
5549 | "column": 3, | 5619 | "column": 3, |
5550 | "line": 107 | 5620 | "line": 108 |
5551 | }, | 5621 | }, |
5552 | "file": "src/lib/Menu.js", | 5622 | "file": "src/lib/Menu.js", |
5553 | "id": "menu.view.toggleFullScreen", | 5623 | "id": "menu.view.toggleFullScreen", |
5554 | "start": { | 5624 | "start": { |
5555 | "column": 20, | 5625 | "column": 20, |
5556 | "line": 104 | 5626 | "line": 105 |
5557 | } | 5627 | } |
5558 | }, | 5628 | }, |
5559 | { | 5629 | { |
5560 | "defaultMessage": "!!!Toggle Developer Tools", | 5630 | "defaultMessage": "!!!Toggle Developer Tools", |
5561 | "end": { | 5631 | "end": { |
5562 | "column": 3, | 5632 | "column": 3, |
5563 | "line": 111 | 5633 | "line": 112 |
5564 | }, | 5634 | }, |
5565 | "file": "src/lib/Menu.js", | 5635 | "file": "src/lib/Menu.js", |
5566 | "id": "menu.view.toggleDevTools", | 5636 | "id": "menu.view.toggleDevTools", |
5567 | "start": { | 5637 | "start": { |
5568 | "column": 18, | 5638 | "column": 18, |
5569 | "line": 108 | 5639 | "line": 109 |
5570 | } | 5640 | } |
5571 | }, | 5641 | }, |
5572 | { | 5642 | { |
5573 | "defaultMessage": "!!!Toggle Todos Developer Tools", | 5643 | "defaultMessage": "!!!Toggle Todos Developer Tools", |
5574 | "end": { | 5644 | "end": { |
5575 | "column": 3, | 5645 | "column": 3, |
5576 | "line": 115 | 5646 | "line": 116 |
5577 | }, | 5647 | }, |
5578 | "file": "src/lib/Menu.js", | 5648 | "file": "src/lib/Menu.js", |
5579 | "id": "menu.view.toggleTodosDevTools", | 5649 | "id": "menu.view.toggleTodosDevTools", |
5580 | "start": { | 5650 | "start": { |
5581 | "column": 23, | 5651 | "column": 23, |
5582 | "line": 112 | 5652 | "line": 113 |
5583 | } | 5653 | } |
5584 | }, | 5654 | }, |
5585 | { | 5655 | { |
5586 | "defaultMessage": "!!!Toggle Service Developer Tools", | 5656 | "defaultMessage": "!!!Toggle Service Developer Tools", |
5587 | "end": { | 5657 | "end": { |
5588 | "column": 3, | 5658 | "column": 3, |
5589 | "line": 119 | 5659 | "line": 120 |
5590 | }, | 5660 | }, |
5591 | "file": "src/lib/Menu.js", | 5661 | "file": "src/lib/Menu.js", |
5592 | "id": "menu.view.toggleServiceDevTools", | 5662 | "id": "menu.view.toggleServiceDevTools", |
5593 | "start": { | 5663 | "start": { |
5594 | "column": 25, | 5664 | "column": 25, |
5595 | "line": 116 | 5665 | "line": 117 |
5596 | } | 5666 | } |
5597 | }, | 5667 | }, |
5598 | { | 5668 | { |
5599 | "defaultMessage": "!!!Reload Service", | 5669 | "defaultMessage": "!!!Reload Service", |
5600 | "end": { | 5670 | "end": { |
5601 | "column": 3, | 5671 | "column": 3, |
5602 | "line": 123 | 5672 | "line": 124 |
5603 | }, | 5673 | }, |
5604 | "file": "src/lib/Menu.js", | 5674 | "file": "src/lib/Menu.js", |
5605 | "id": "menu.view.reloadService", | 5675 | "id": "menu.view.reloadService", |
5606 | "start": { | 5676 | "start": { |
5607 | "column": 17, | 5677 | "column": 17, |
5608 | "line": 120 | 5678 | "line": 121 |
5609 | } | 5679 | } |
5610 | }, | 5680 | }, |
5611 | { | 5681 | { |
5612 | "defaultMessage": "!!!Reload Ferdi", | 5682 | "defaultMessage": "!!!Reload Ferdi", |
5613 | "end": { | 5683 | "end": { |
5614 | "column": 3, | 5684 | "column": 3, |
5615 | "line": 127 | 5685 | "line": 128 |
5616 | }, | 5686 | }, |
5617 | "file": "src/lib/Menu.js", | 5687 | "file": "src/lib/Menu.js", |
5618 | "id": "menu.view.reloadFranz", | 5688 | "id": "menu.view.reloadFranz", |
5619 | "start": { | 5689 | "start": { |
5620 | "column": 15, | 5690 | "column": 15, |
5621 | "line": 124 | 5691 | "line": 125 |
5622 | } | 5692 | } |
5623 | }, | 5693 | }, |
5624 | { | 5694 | { |
5625 | "defaultMessage": "!!!Lock Ferdi", | 5695 | "defaultMessage": "!!!Lock Ferdi", |
5626 | "end": { | 5696 | "end": { |
5627 | "column": 3, | 5697 | "column": 3, |
5628 | "line": 131 | 5698 | "line": 132 |
5629 | }, | 5699 | }, |
5630 | "file": "src/lib/Menu.js", | 5700 | "file": "src/lib/Menu.js", |
5631 | "id": "menu.view.lockFerdi", | 5701 | "id": "menu.view.lockFerdi", |
5632 | "start": { | 5702 | "start": { |
5633 | "column": 13, | 5703 | "column": 13, |
5634 | "line": 128 | 5704 | "line": 129 |
5635 | } | 5705 | } |
5636 | }, | 5706 | }, |
5637 | { | 5707 | { |
5638 | "defaultMessage": "!!!Minimize", | 5708 | "defaultMessage": "!!!Minimize", |
5639 | "end": { | 5709 | "end": { |
5640 | "column": 3, | 5710 | "column": 3, |
5641 | "line": 135 | 5711 | "line": 136 |
5642 | }, | 5712 | }, |
5643 | "file": "src/lib/Menu.js", | 5713 | "file": "src/lib/Menu.js", |
5644 | "id": "menu.window.minimize", | 5714 | "id": "menu.window.minimize", |
5645 | "start": { | 5715 | "start": { |
5646 | "column": 12, | 5716 | "column": 12, |
5647 | "line": 132 | 5717 | "line": 133 |
5648 | } | 5718 | } |
5649 | }, | 5719 | }, |
5650 | { | 5720 | { |
5651 | "defaultMessage": "!!!Close", | 5721 | "defaultMessage": "!!!Close", |
5652 | "end": { | 5722 | "end": { |
5653 | "column": 3, | 5723 | "column": 3, |
5654 | "line": 139 | 5724 | "line": 140 |
5655 | }, | 5725 | }, |
5656 | "file": "src/lib/Menu.js", | 5726 | "file": "src/lib/Menu.js", |
5657 | "id": "menu.window.close", | 5727 | "id": "menu.window.close", |
5658 | "start": { | 5728 | "start": { |
5659 | "column": 9, | 5729 | "column": 9, |
5660 | "line": 136 | 5730 | "line": 137 |
5661 | } | 5731 | } |
5662 | }, | 5732 | }, |
5663 | { | 5733 | { |
5664 | "defaultMessage": "!!!Learn More", | 5734 | "defaultMessage": "!!!Learn More", |
5665 | "end": { | 5735 | "end": { |
5666 | "column": 3, | 5736 | "column": 3, |
5667 | "line": 143 | 5737 | "line": 144 |
5668 | }, | 5738 | }, |
5669 | "file": "src/lib/Menu.js", | 5739 | "file": "src/lib/Menu.js", |
5670 | "id": "menu.help.learnMore", | 5740 | "id": "menu.help.learnMore", |
5671 | "start": { | 5741 | "start": { |
5672 | "column": 13, | 5742 | "column": 13, |
5673 | "line": 140 | 5743 | "line": 141 |
5674 | } | 5744 | } |
5675 | }, | 5745 | }, |
5676 | { | 5746 | { |
5677 | "defaultMessage": "!!!Changelog", | 5747 | "defaultMessage": "!!!Changelog", |
5678 | "end": { | 5748 | "end": { |
5679 | "column": 3, | 5749 | "column": 3, |
5680 | "line": 147 | 5750 | "line": 148 |
5681 | }, | 5751 | }, |
5682 | "file": "src/lib/Menu.js", | 5752 | "file": "src/lib/Menu.js", |
5683 | "id": "menu.help.changelog", | 5753 | "id": "menu.help.changelog", |
5684 | "start": { | 5754 | "start": { |
5685 | "column": 13, | 5755 | "column": 13, |
5686 | "line": 144 | 5756 | "line": 145 |
5687 | } | 5757 | } |
5688 | }, | 5758 | }, |
5689 | { | 5759 | { |
5690 | "defaultMessage": "!!!Support", | 5760 | "defaultMessage": "!!!Support", |
5691 | "end": { | 5761 | "end": { |
5692 | "column": 3, | 5762 | "column": 3, |
5693 | "line": 151 | 5763 | "line": 152 |
5694 | }, | 5764 | }, |
5695 | "file": "src/lib/Menu.js", | 5765 | "file": "src/lib/Menu.js", |
5696 | "id": "menu.help.support", | 5766 | "id": "menu.help.support", |
5697 | "start": { | 5767 | "start": { |
5698 | "column": 11, | 5768 | "column": 11, |
5699 | "line": 148 | 5769 | "line": 149 |
5700 | } | 5770 | } |
5701 | }, | 5771 | }, |
5702 | { | 5772 | { |
5703 | "defaultMessage": "!!!Copy Debug Information", | 5773 | "defaultMessage": "!!!Copy Debug Information", |
5704 | "end": { | 5774 | "end": { |
5705 | "column": 3, | 5775 | "column": 3, |
5706 | "line": 155 | 5776 | "line": 156 |
5707 | }, | 5777 | }, |
5708 | "file": "src/lib/Menu.js", | 5778 | "file": "src/lib/Menu.js", |
5709 | "id": "menu.help.debugInfo", | 5779 | "id": "menu.help.debugInfo", |
5710 | "start": { | 5780 | "start": { |
5711 | "column": 13, | 5781 | "column": 13, |
5712 | "line": 152 | 5782 | "line": 153 |
5713 | } | 5783 | } |
5714 | }, | 5784 | }, |
5715 | { | 5785 | { |
5716 | "defaultMessage": "!!!Ferdi Debug Information", | 5786 | "defaultMessage": "!!!Ferdi Debug Information", |
5717 | "end": { | 5787 | "end": { |
5718 | "column": 3, | 5788 | "column": 3, |
5719 | "line": 159 | 5789 | "line": 160 |
5720 | }, | 5790 | }, |
5721 | "file": "src/lib/Menu.js", | 5791 | "file": "src/lib/Menu.js", |
5722 | "id": "menu.help.debugInfoCopiedHeadline", | 5792 | "id": "menu.help.debugInfoCopiedHeadline", |
5723 | "start": { | 5793 | "start": { |
5724 | "column": 27, | 5794 | "column": 27, |
5725 | "line": 156 | 5795 | "line": 157 |
5726 | } | 5796 | } |
5727 | }, | 5797 | }, |
5728 | { | 5798 | { |
5729 | "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.", | 5799 | "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.", |
5730 | "end": { | 5800 | "end": { |
5731 | "column": 3, | 5801 | "column": 3, |
5732 | "line": 163 | 5802 | "line": 164 |
5733 | }, | 5803 | }, |
5734 | "file": "src/lib/Menu.js", | 5804 | "file": "src/lib/Menu.js", |
5735 | "id": "menu.help.debugInfoCopiedBody", | 5805 | "id": "menu.help.debugInfoCopiedBody", |
5736 | "start": { | 5806 | "start": { |
5737 | "column": 23, | 5807 | "column": 23, |
5738 | "line": 160 | 5808 | "line": 161 |
5739 | } | 5809 | } |
5740 | }, | 5810 | }, |
5741 | { | 5811 | { |
5742 | "defaultMessage": "!!!Terms of Service", | 5812 | "defaultMessage": "!!!Terms of Service", |
5743 | "end": { | 5813 | "end": { |
5744 | "column": 3, | 5814 | "column": 3, |
5745 | "line": 167 | 5815 | "line": 168 |
5746 | }, | 5816 | }, |
5747 | "file": "src/lib/Menu.js", | 5817 | "file": "src/lib/Menu.js", |
5748 | "id": "menu.help.tos", | 5818 | "id": "menu.help.tos", |
5749 | "start": { | 5819 | "start": { |
5750 | "column": 7, | 5820 | "column": 7, |
5751 | "line": 164 | 5821 | "line": 165 |
5752 | } | 5822 | } |
5753 | }, | 5823 | }, |
5754 | { | 5824 | { |
5755 | "defaultMessage": "!!!Privacy Statement", | 5825 | "defaultMessage": "!!!Privacy Statement", |
5756 | "end": { | 5826 | "end": { |
5757 | "column": 3, | 5827 | "column": 3, |
5758 | "line": 171 | 5828 | "line": 172 |
5759 | }, | 5829 | }, |
5760 | "file": "src/lib/Menu.js", | 5830 | "file": "src/lib/Menu.js", |
5761 | "id": "menu.help.privacy", | 5831 | "id": "menu.help.privacy", |
5762 | "start": { | 5832 | "start": { |
5763 | "column": 11, | 5833 | "column": 11, |
5764 | "line": 168 | 5834 | "line": 169 |
5765 | } | 5835 | } |
5766 | }, | 5836 | }, |
5767 | { | 5837 | { |
5768 | "defaultMessage": "!!!File", | 5838 | "defaultMessage": "!!!File", |
5769 | "end": { | 5839 | "end": { |
5770 | "column": 3, | 5840 | "column": 3, |
5771 | "line": 175 | 5841 | "line": 176 |
5772 | }, | 5842 | }, |
5773 | "file": "src/lib/Menu.js", | 5843 | "file": "src/lib/Menu.js", |
5774 | "id": "menu.file", | 5844 | "id": "menu.file", |
5775 | "start": { | 5845 | "start": { |
5776 | "column": 8, | 5846 | "column": 8, |
5777 | "line": 172 | 5847 | "line": 173 |
5778 | } | 5848 | } |
5779 | }, | 5849 | }, |
5780 | { | 5850 | { |
5781 | "defaultMessage": "!!!View", | 5851 | "defaultMessage": "!!!View", |
5782 | "end": { | 5852 | "end": { |
5783 | "column": 3, | 5853 | "column": 3, |
5784 | "line": 179 | 5854 | "line": 180 |
5785 | }, | 5855 | }, |
5786 | "file": "src/lib/Menu.js", | 5856 | "file": "src/lib/Menu.js", |
5787 | "id": "menu.view", | 5857 | "id": "menu.view", |
5788 | "start": { | 5858 | "start": { |
5789 | "column": 8, | 5859 | "column": 8, |
5790 | "line": 176 | 5860 | "line": 177 |
5791 | } | 5861 | } |
5792 | }, | 5862 | }, |
5793 | { | 5863 | { |
5794 | "defaultMessage": "!!!Services", | 5864 | "defaultMessage": "!!!Services", |
5795 | "end": { | 5865 | "end": { |
5796 | "column": 3, | 5866 | "column": 3, |
5797 | "line": 183 | 5867 | "line": 184 |
5798 | }, | 5868 | }, |
5799 | "file": "src/lib/Menu.js", | 5869 | "file": "src/lib/Menu.js", |
5800 | "id": "menu.services", | 5870 | "id": "menu.services", |
5801 | "start": { | 5871 | "start": { |
5802 | "column": 12, | 5872 | "column": 12, |
5803 | "line": 180 | 5873 | "line": 181 |
5804 | } | 5874 | } |
5805 | }, | 5875 | }, |
5806 | { | 5876 | { |
5807 | "defaultMessage": "!!!Window", | 5877 | "defaultMessage": "!!!Window", |
5808 | "end": { | 5878 | "end": { |
5809 | "column": 3, | 5879 | "column": 3, |
5810 | "line": 187 | 5880 | "line": 188 |
5811 | }, | 5881 | }, |
5812 | "file": "src/lib/Menu.js", | 5882 | "file": "src/lib/Menu.js", |
5813 | "id": "menu.window", | 5883 | "id": "menu.window", |
5814 | "start": { | 5884 | "start": { |
5815 | "column": 10, | 5885 | "column": 10, |
5816 | "line": 184 | 5886 | "line": 185 |
5817 | } | 5887 | } |
5818 | }, | 5888 | }, |
5819 | { | 5889 | { |
5820 | "defaultMessage": "!!!Help", | 5890 | "defaultMessage": "!!!Help", |
5821 | "end": { | 5891 | "end": { |
5822 | "column": 3, | 5892 | "column": 3, |
5823 | "line": 191 | 5893 | "line": 192 |
5824 | }, | 5894 | }, |
5825 | "file": "src/lib/Menu.js", | 5895 | "file": "src/lib/Menu.js", |
5826 | "id": "menu.help", | 5896 | "id": "menu.help", |
5827 | "start": { | 5897 | "start": { |
5828 | "column": 8, | 5898 | "column": 8, |
5829 | "line": 188 | 5899 | "line": 189 |
5830 | } | 5900 | } |
5831 | }, | 5901 | }, |
5832 | { | 5902 | { |
5833 | "defaultMessage": "!!!About Ferdi", | 5903 | "defaultMessage": "!!!About Ferdi", |
5834 | "end": { | 5904 | "end": { |
5835 | "column": 3, | 5905 | "column": 3, |
5836 | "line": 195 | 5906 | "line": 196 |
5837 | }, | 5907 | }, |
5838 | "file": "src/lib/Menu.js", | 5908 | "file": "src/lib/Menu.js", |
5839 | "id": "menu.app.about", | 5909 | "id": "menu.app.about", |
5840 | "start": { | 5910 | "start": { |
5841 | "column": 9, | 5911 | "column": 9, |
5842 | "line": 192 | 5912 | "line": 193 |
5843 | } | 5913 | } |
5844 | }, | 5914 | }, |
5845 | { | 5915 | { |
5846 | "defaultMessage": "!!!What's new?", | 5916 | "defaultMessage": "!!!What's new?", |
5847 | "end": { | 5917 | "end": { |
5848 | "column": 3, | 5918 | "column": 3, |
5849 | "line": 199 | 5919 | "line": 200 |
5850 | }, | 5920 | }, |
5851 | "file": "src/lib/Menu.js", | 5921 | "file": "src/lib/Menu.js", |
5852 | "id": "menu.app.announcement", | 5922 | "id": "menu.app.announcement", |
5853 | "start": { | 5923 | "start": { |
5854 | "column": 16, | 5924 | "column": 16, |
5855 | "line": 196 | 5925 | "line": 197 |
5856 | } | 5926 | } |
5857 | }, | 5927 | }, |
5858 | { | 5928 | { |
5859 | "defaultMessage": "!!!Settings", | 5929 | "defaultMessage": "!!!Settings", |
5860 | "end": { | 5930 | "end": { |
5861 | "column": 3, | 5931 | "column": 3, |
5862 | "line": 203 | 5932 | "line": 204 |
5863 | }, | 5933 | }, |
5864 | "file": "src/lib/Menu.js", | 5934 | "file": "src/lib/Menu.js", |
5865 | "id": "menu.app.settings", | 5935 | "id": "menu.app.settings", |
5866 | "start": { | 5936 | "start": { |
5867 | "column": 12, | 5937 | "column": 12, |
5868 | "line": 200 | 5938 | "line": 201 |
5869 | } | 5939 | } |
5870 | }, | 5940 | }, |
5871 | { | 5941 | { |
5872 | "defaultMessage": "!!!Check for updates", | 5942 | "defaultMessage": "!!!Check for updates", |
5873 | "end": { | 5943 | "end": { |
5874 | "column": 3, | 5944 | "column": 3, |
5875 | "line": 207 | 5945 | "line": 208 |
5876 | }, | 5946 | }, |
5877 | "file": "src/lib/Menu.js", | 5947 | "file": "src/lib/Menu.js", |
5878 | "id": "menu.app.checkForUpdates", | 5948 | "id": "menu.app.checkForUpdates", |
5879 | "start": { | 5949 | "start": { |
5880 | "column": 19, | 5950 | "column": 19, |
5881 | "line": 204 | 5951 | "line": 205 |
5882 | } | 5952 | } |
5883 | }, | 5953 | }, |
5884 | { | 5954 | { |
5885 | "defaultMessage": "!!!Hide", | 5955 | "defaultMessage": "!!!Hide", |
5886 | "end": { | 5956 | "end": { |
5887 | "column": 3, | 5957 | "column": 3, |
5888 | "line": 211 | 5958 | "line": 212 |
5889 | }, | 5959 | }, |
5890 | "file": "src/lib/Menu.js", | 5960 | "file": "src/lib/Menu.js", |
5891 | "id": "menu.app.hide", | 5961 | "id": "menu.app.hide", |
5892 | "start": { | 5962 | "start": { |
5893 | "column": 8, | 5963 | "column": 8, |
5894 | "line": 208 | 5964 | "line": 209 |
5895 | } | 5965 | } |
5896 | }, | 5966 | }, |
5897 | { | 5967 | { |
5898 | "defaultMessage": "!!!Hide Others", | 5968 | "defaultMessage": "!!!Hide Others", |
5899 | "end": { | 5969 | "end": { |
5900 | "column": 3, | 5970 | "column": 3, |
5901 | "line": 215 | 5971 | "line": 216 |
5902 | }, | 5972 | }, |
5903 | "file": "src/lib/Menu.js", | 5973 | "file": "src/lib/Menu.js", |
5904 | "id": "menu.app.hideOthers", | 5974 | "id": "menu.app.hideOthers", |
5905 | "start": { | 5975 | "start": { |
5906 | "column": 14, | 5976 | "column": 14, |
5907 | "line": 212 | 5977 | "line": 213 |
5908 | } | 5978 | } |
5909 | }, | 5979 | }, |
5910 | { | 5980 | { |
5911 | "defaultMessage": "!!!Unhide", | 5981 | "defaultMessage": "!!!Unhide", |
5912 | "end": { | 5982 | "end": { |
5913 | "column": 3, | 5983 | "column": 3, |
5914 | "line": 219 | 5984 | "line": 220 |
5915 | }, | 5985 | }, |
5916 | "file": "src/lib/Menu.js", | 5986 | "file": "src/lib/Menu.js", |
5917 | "id": "menu.app.unhide", | 5987 | "id": "menu.app.unhide", |
5918 | "start": { | 5988 | "start": { |
5919 | "column": 10, | 5989 | "column": 10, |
5920 | "line": 216 | 5990 | "line": 217 |
5921 | } | 5991 | } |
5922 | }, | 5992 | }, |
5923 | { | 5993 | { |
5924 | "defaultMessage": "!!!Auto-hide menu bar", | 5994 | "defaultMessage": "!!!Auto-hide menu bar", |
5925 | "end": { | 5995 | "end": { |
5926 | "column": 3, | 5996 | "column": 3, |
5927 | "line": 223 | 5997 | "line": 224 |
5928 | }, | 5998 | }, |
5929 | "file": "src/lib/Menu.js", | 5999 | "file": "src/lib/Menu.js", |
5930 | "id": "menu.app.autohideMenuBar", | 6000 | "id": "menu.app.autohideMenuBar", |
5931 | "start": { | 6001 | "start": { |
5932 | "column": 19, | 6002 | "column": 19, |
5933 | "line": 220 | 6003 | "line": 221 |
5934 | } | 6004 | } |
5935 | }, | 6005 | }, |
5936 | { | 6006 | { |
5937 | "defaultMessage": "!!!Quit", | 6007 | "defaultMessage": "!!!Quit", |
5938 | "end": { | 6008 | "end": { |
5939 | "column": 3, | 6009 | "column": 3, |
5940 | "line": 227 | 6010 | "line": 228 |
5941 | }, | 6011 | }, |
5942 | "file": "src/lib/Menu.js", | 6012 | "file": "src/lib/Menu.js", |
5943 | "id": "menu.app.quit", | 6013 | "id": "menu.app.quit", |
5944 | "start": { | 6014 | "start": { |
5945 | "column": 8, | 6015 | "column": 8, |
5946 | "line": 224 | 6016 | "line": 225 |
5947 | } | 6017 | } |
5948 | }, | 6018 | }, |
5949 | { | 6019 | { |
5950 | "defaultMessage": "!!!Add New Service...", | 6020 | "defaultMessage": "!!!Add New Service...", |
5951 | "end": { | 6021 | "end": { |
5952 | "column": 3, | 6022 | "column": 3, |
5953 | "line": 231 | 6023 | "line": 232 |
5954 | }, | 6024 | }, |
5955 | "file": "src/lib/Menu.js", | 6025 | "file": "src/lib/Menu.js", |
5956 | "id": "menu.services.addNewService", | 6026 | "id": "menu.services.addNewService", |
5957 | "start": { | 6027 | "start": { |
5958 | "column": 17, | 6028 | "column": 17, |
5959 | "line": 228 | 6029 | "line": 229 |
5960 | } | 6030 | } |
5961 | }, | 6031 | }, |
5962 | { | 6032 | { |
5963 | "defaultMessage": "!!!Add New Workspace...", | 6033 | "defaultMessage": "!!!Add New Workspace...", |
5964 | "end": { | 6034 | "end": { |
5965 | "column": 3, | 6035 | "column": 3, |
5966 | "line": 235 | 6036 | "line": 236 |
5967 | }, | 6037 | }, |
5968 | "file": "src/lib/Menu.js", | 6038 | "file": "src/lib/Menu.js", |
5969 | "id": "menu.workspaces.addNewWorkspace", | 6039 | "id": "menu.workspaces.addNewWorkspace", |
5970 | "start": { | 6040 | "start": { |
5971 | "column": 19, | 6041 | "column": 19, |
5972 | "line": 232 | 6042 | "line": 233 |
5973 | } | 6043 | } |
5974 | }, | 6044 | }, |
5975 | { | 6045 | { |
5976 | "defaultMessage": "!!!Open workspace drawer", | 6046 | "defaultMessage": "!!!Open workspace drawer", |
5977 | "end": { | 6047 | "end": { |
5978 | "column": 3, | 6048 | "column": 3, |
5979 | "line": 239 | 6049 | "line": 240 |
5980 | }, | 6050 | }, |
5981 | "file": "src/lib/Menu.js", | 6051 | "file": "src/lib/Menu.js", |
5982 | "id": "menu.workspaces.openWorkspaceDrawer", | 6052 | "id": "menu.workspaces.openWorkspaceDrawer", |
5983 | "start": { | 6053 | "start": { |
5984 | "column": 23, | 6054 | "column": 23, |
5985 | "line": 236 | 6055 | "line": 237 |
5986 | } | 6056 | } |
5987 | }, | 6057 | }, |
5988 | { | 6058 | { |
5989 | "defaultMessage": "!!!Close workspace drawer", | 6059 | "defaultMessage": "!!!Close workspace drawer", |
5990 | "end": { | 6060 | "end": { |
5991 | "column": 3, | 6061 | "column": 3, |
5992 | "line": 243 | 6062 | "line": 244 |
5993 | }, | 6063 | }, |
5994 | "file": "src/lib/Menu.js", | 6064 | "file": "src/lib/Menu.js", |
5995 | "id": "menu.workspaces.closeWorkspaceDrawer", | 6065 | "id": "menu.workspaces.closeWorkspaceDrawer", |
5996 | "start": { | 6066 | "start": { |
5997 | "column": 24, | 6067 | "column": 24, |
5998 | "line": 240 | 6068 | "line": 241 |
5999 | } | 6069 | } |
6000 | }, | 6070 | }, |
6001 | { | 6071 | { |
6002 | "defaultMessage": "!!!Activate next service...", | 6072 | "defaultMessage": "!!!Activate next service...", |
6003 | "end": { | 6073 | "end": { |
6004 | "column": 3, | 6074 | "column": 3, |
6005 | "line": 247 | 6075 | "line": 248 |
6006 | }, | 6076 | }, |
6007 | "file": "src/lib/Menu.js", | 6077 | "file": "src/lib/Menu.js", |
6008 | "id": "menu.services.setNextServiceActive", | 6078 | "id": "menu.services.setNextServiceActive", |
6009 | "start": { | 6079 | "start": { |
6010 | "column": 23, | 6080 | "column": 23, |
6011 | "line": 244 | 6081 | "line": 245 |
6012 | } | 6082 | } |
6013 | }, | 6083 | }, |
6014 | { | 6084 | { |
6015 | "defaultMessage": "!!!Activate previous service...", | 6085 | "defaultMessage": "!!!Activate previous service...", |
6016 | "end": { | 6086 | "end": { |
6017 | "column": 3, | 6087 | "column": 3, |
6018 | "line": 251 | 6088 | "line": 252 |
6019 | }, | 6089 | }, |
6020 | "file": "src/lib/Menu.js", | 6090 | "file": "src/lib/Menu.js", |
6021 | "id": "menu.services.activatePreviousService", | 6091 | "id": "menu.services.activatePreviousService", |
6022 | "start": { | 6092 | "start": { |
6023 | "column": 27, | 6093 | "column": 27, |
6024 | "line": 248 | 6094 | "line": 249 |
6025 | } | 6095 | } |
6026 | }, | 6096 | }, |
6027 | { | 6097 | { |
6028 | "defaultMessage": "!!!Disable notifications & audio", | 6098 | "defaultMessage": "!!!Disable notifications & audio", |
6029 | "end": { | 6099 | "end": { |
6030 | "column": 3, | 6100 | "column": 3, |
6031 | "line": 255 | 6101 | "line": 256 |
6032 | }, | 6102 | }, |
6033 | "file": "src/lib/Menu.js", | 6103 | "file": "src/lib/Menu.js", |
6034 | "id": "sidebar.muteApp", | 6104 | "id": "sidebar.muteApp", |
6035 | "start": { | 6105 | "start": { |
6036 | "column": 11, | 6106 | "column": 11, |
6037 | "line": 252 | 6107 | "line": 253 |
6038 | } | 6108 | } |
6039 | }, | 6109 | }, |
6040 | { | 6110 | { |
6041 | "defaultMessage": "!!!Enable notifications & audio", | 6111 | "defaultMessage": "!!!Enable notifications & audio", |
6042 | "end": { | 6112 | "end": { |
6043 | "column": 3, | 6113 | "column": 3, |
6044 | "line": 259 | 6114 | "line": 260 |
6045 | }, | 6115 | }, |
6046 | "file": "src/lib/Menu.js", | 6116 | "file": "src/lib/Menu.js", |
6047 | "id": "sidebar.unmuteApp", | 6117 | "id": "sidebar.unmuteApp", |
6048 | "start": { | 6118 | "start": { |
6049 | "column": 13, | 6119 | "column": 13, |
6050 | "line": 256 | 6120 | "line": 257 |
6051 | } | 6121 | } |
6052 | }, | 6122 | }, |
6053 | { | 6123 | { |
6054 | "defaultMessage": "!!!Workspaces", | 6124 | "defaultMessage": "!!!Workspaces", |
6055 | "end": { | 6125 | "end": { |
6056 | "column": 3, | 6126 | "column": 3, |
6057 | "line": 263 | 6127 | "line": 264 |
6058 | }, | 6128 | }, |
6059 | "file": "src/lib/Menu.js", | 6129 | "file": "src/lib/Menu.js", |
6060 | "id": "menu.workspaces", | 6130 | "id": "menu.workspaces", |
6061 | "start": { | 6131 | "start": { |
6062 | "column": 14, | 6132 | "column": 14, |
6063 | "line": 260 | 6133 | "line": 261 |
6064 | } | 6134 | } |
6065 | }, | 6135 | }, |
6066 | { | 6136 | { |
6067 | "defaultMessage": "!!!Default", | 6137 | "defaultMessage": "!!!Default", |
6068 | "end": { | 6138 | "end": { |
6069 | "column": 3, | 6139 | "column": 3, |
6070 | "line": 267 | 6140 | "line": 268 |
6071 | }, | 6141 | }, |
6072 | "file": "src/lib/Menu.js", | 6142 | "file": "src/lib/Menu.js", |
6073 | "id": "menu.workspaces.defaultWorkspace", | 6143 | "id": "menu.workspaces.defaultWorkspace", |
6074 | "start": { | 6144 | "start": { |
6075 | "column": 20, | 6145 | "column": 20, |
6076 | "line": 264 | 6146 | "line": 265 |
6077 | } | 6147 | } |
6078 | }, | 6148 | }, |
6079 | { | 6149 | { |
6080 | "defaultMessage": "!!!Todos", | 6150 | "defaultMessage": "!!!Todos", |
6081 | "end": { | 6151 | "end": { |
6082 | "column": 3, | 6152 | "column": 3, |
6083 | "line": 271 | 6153 | "line": 272 |
6084 | }, | 6154 | }, |
6085 | "file": "src/lib/Menu.js", | 6155 | "file": "src/lib/Menu.js", |
6086 | "id": "menu.todos", | 6156 | "id": "menu.todos", |
6087 | "start": { | 6157 | "start": { |
6088 | "column": 9, | 6158 | "column": 9, |
6089 | "line": 268 | 6159 | "line": 269 |
6090 | } | 6160 | } |
6091 | }, | 6161 | }, |
6092 | { | 6162 | { |
6093 | "defaultMessage": "!!!Open Todos drawer", | 6163 | "defaultMessage": "!!!Open Todos drawer", |
6094 | "end": { | 6164 | "end": { |
6095 | "column": 3, | 6165 | "column": 3, |
6096 | "line": 275 | 6166 | "line": 276 |
6097 | }, | 6167 | }, |
6098 | "file": "src/lib/Menu.js", | 6168 | "file": "src/lib/Menu.js", |
6099 | "id": "menu.Todoss.openTodosDrawer", | 6169 | "id": "menu.Todoss.openTodosDrawer", |
6100 | "start": { | 6170 | "start": { |
6101 | "column": 19, | 6171 | "column": 19, |
6102 | "line": 272 | 6172 | "line": 273 |
6103 | } | 6173 | } |
6104 | }, | 6174 | }, |
6105 | { | 6175 | { |
6106 | "defaultMessage": "!!!Close Todos drawer", | 6176 | "defaultMessage": "!!!Close Todos drawer", |
6107 | "end": { | 6177 | "end": { |
6108 | "column": 3, | 6178 | "column": 3, |
6109 | "line": 279 | 6179 | "line": 280 |
6110 | }, | 6180 | }, |
6111 | "file": "src/lib/Menu.js", | 6181 | "file": "src/lib/Menu.js", |
6112 | "id": "menu.Todoss.closeTodosDrawer", | 6182 | "id": "menu.Todoss.closeTodosDrawer", |
6113 | "start": { | 6183 | "start": { |
6114 | "column": 20, | 6184 | "column": 20, |
6115 | "line": 276 | 6185 | "line": 277 |
6116 | } | 6186 | } |
6117 | }, | 6187 | }, |
6118 | { | 6188 | { |
6119 | "defaultMessage": "!!!Enable Todos", | 6189 | "defaultMessage": "!!!Enable Todos", |
6120 | "end": { | 6190 | "end": { |
6121 | "column": 3, | 6191 | "column": 3, |
6122 | "line": 283 | 6192 | "line": 284 |
6123 | }, | 6193 | }, |
6124 | "file": "src/lib/Menu.js", | 6194 | "file": "src/lib/Menu.js", |
6125 | "id": "menu.todos.enableTodos", | 6195 | "id": "menu.todos.enableTodos", |
6126 | "start": { | 6196 | "start": { |
6127 | "column": 15, | 6197 | "column": 15, |
6128 | "line": 280 | 6198 | "line": 281 |
6199 | } | ||
6200 | }, | ||
6201 | { | ||
6202 | "defaultMessage": "!!!Home", | ||
6203 | "end": { | ||
6204 | "column": 3, | ||
6205 | "line": 288 | ||
6206 | }, | ||
6207 | "file": "src/lib/Menu.js", | ||
6208 | "id": "menu.services.goHome", | ||
6209 | "start": { | ||
6210 | "column": 17, | ||
6211 | "line": 285 | ||
6129 | } | 6212 | } |
6130 | } | 6213 | } |
6131 | ], | 6214 | ], |
diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json index 319a55f28..140ca740b 100644 --- a/src/i18n/locales/en-US.json +++ b/src/i18n/locales/en-US.json | |||
@@ -102,6 +102,7 @@ | |||
102 | "menu.services": "Services", | 102 | "menu.services": "Services", |
103 | "menu.services.activatePreviousService": "Activate previous service", | 103 | "menu.services.activatePreviousService": "Activate previous service", |
104 | "menu.services.addNewService": "Add New Service...", | 104 | "menu.services.addNewService": "Add New Service...", |
105 | "menu.services.goHome": "Home", | ||
105 | "menu.services.setNextServiceActive": "Activate next service", | 106 | "menu.services.setNextServiceActive": "Activate next service", |
106 | "menu.todos": "Todos", | 107 | "menu.todos": "Todos", |
107 | "menu.todos.enableTodos": "Enable Todos", | 108 | "menu.todos.enableTodos": "Enable Todos", |
@@ -415,6 +416,11 @@ | |||
415 | "validation.oneRequired": "At least one is required", | 416 | "validation.oneRequired": "At least one is required", |
416 | "validation.required": "{field} is required", | 417 | "validation.required": "{field} is required", |
417 | "validation.url": "{field} is not a valid URL", | 418 | "validation.url": "{field} is not a valid URL", |
419 | "webControls.back": "Back", | ||
420 | "webControls.forward": "Forward", | ||
421 | "webControls.goHome": "Home", | ||
422 | "webControls.openInBrowser": "Open in Browser", | ||
423 | "webControls.reload": "Reload", | ||
418 | "welcome.loginButton": "Login to your account", | 424 | "welcome.loginButton": "Login to your account", |
419 | "welcome.signupButton": "Create a free account", | 425 | "welcome.signupButton": "Create a free account", |
420 | "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace", | 426 | "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace", |
diff --git a/src/i18n/locales/zh-HANT.json b/src/i18n/locales/zh-HANT.json index 7d2c353ea..9dc68c697 100644 --- a/src/i18n/locales/zh-HANT.json +++ b/src/i18n/locales/zh-HANT.json | |||
@@ -227,6 +227,7 @@ | |||
227 | "settings.app.form.enableSystemTray": "在系統匣上顯示", | 227 | "settings.app.form.enableSystemTray": "在系統匣上顯示", |
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.hibernate": "Enable service hibernation", |
230 | "settings.app.form.hibernationStrategy": "Hibernation strategy", | ||
230 | "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded", | 231 | "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded", |
231 | "settings.app.form.language": "語言", | 232 | "settings.app.form.language": "語言", |
232 | "settings.app.form.lockPassword": "Ferdi Lock password", | 233 | "settings.app.form.lockPassword": "Ferdi Lock password", |
@@ -247,6 +248,7 @@ | |||
247 | "settings.app.headlineGeneral": "一般", | 248 | "settings.app.headlineGeneral": "一般", |
248 | "settings.app.headlineLanguage": "語言", | 249 | "settings.app.headlineLanguage": "語言", |
249 | "settings.app.headlineUpdates": "æ›´æ–°", | 250 | "settings.app.headlineUpdates": "æ›´æ–°", |
251 | "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.", | ||
250 | "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.", | 252 | "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.", |
251 | "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.", | 253 | "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.", |
252 | "settings.app.lockedPassword": "Ferdi Lock Password", | 254 | "settings.app.lockedPassword": "Ferdi Lock Password", |
diff --git a/src/i18n/messages/src/features/webControls/components/WebControls.json b/src/i18n/messages/src/features/webControls/components/WebControls.json new file mode 100644 index 000000000..969437e98 --- /dev/null +++ b/src/i18n/messages/src/features/webControls/components/WebControls.json | |||
@@ -0,0 +1,67 @@ | |||
1 | [ | ||
2 | { | ||
3 | "id": "webControls.goHome", | ||
4 | "defaultMessage": "!!!Home", | ||
5 | "file": "src/features/webControls/components/WebControls.js", | ||
6 | "start": { | ||
7 | "line": 13, | ||
8 | "column": 10 | ||
9 | }, | ||
10 | "end": { | ||
11 | "line": 16, | ||
12 | "column": 3 | ||
13 | } | ||
14 | }, | ||
15 | { | ||
16 | "id": "webControls.openInBrowser", | ||
17 | "defaultMessage": "!!!Open in Browser", | ||
18 | "file": "src/features/webControls/components/WebControls.js", | ||
19 | "start": { | ||
20 | "line": 17, | ||
21 | "column": 17 | ||
22 | }, | ||
23 | "end": { | ||
24 | "line": 20, | ||
25 | "column": 3 | ||
26 | } | ||
27 | }, | ||
28 | { | ||
29 | "id": "webControls.back", | ||
30 | "defaultMessage": "!!!Back", | ||
31 | "file": "src/features/webControls/components/WebControls.js", | ||
32 | "start": { | ||
33 | "line": 21, | ||
34 | "column": 8 | ||
35 | }, | ||
36 | "end": { | ||
37 | "line": 24, | ||
38 | "column": 3 | ||
39 | } | ||
40 | }, | ||
41 | { | ||
42 | "id": "webControls.forward", | ||
43 | "defaultMessage": "!!!Forward", | ||
44 | "file": "src/features/webControls/components/WebControls.js", | ||
45 | "start": { | ||
46 | "line": 25, | ||
47 | "column": 11 | ||
48 | }, | ||
49 | "end": { | ||
50 | "line": 28, | ||
51 | "column": 3 | ||
52 | } | ||
53 | }, | ||
54 | { | ||
55 | "id": "webControls.reload", | ||
56 | "defaultMessage": "!!!Reload", | ||
57 | "file": "src/features/webControls/components/WebControls.js", | ||
58 | "start": { | ||
59 | "line": 29, | ||
60 | "column": 10 | ||
61 | }, | ||
62 | "end": { | ||
63 | "line": 32, | ||
64 | "column": 3 | ||
65 | } | ||
66 | } | ||
67 | ] \ No newline at end of file | ||
diff --git a/src/i18n/messages/src/features/workspaces/components/WorkspaceDrawerItem.json b/src/i18n/messages/src/features/workspaces/components/WorkspaceDrawerItem.json index 4ff190606..1b6664787 100644 --- a/src/i18n/messages/src/features/workspaces/components/WorkspaceDrawerItem.json +++ b/src/i18n/messages/src/features/workspaces/components/WorkspaceDrawerItem.json | |||
@@ -4,11 +4,11 @@ | |||
4 | "defaultMessage": "!!!No services added yet", | 4 | "defaultMessage": "!!!No services added yet", |
5 | "file": "src/features/workspaces/components/WorkspaceDrawerItem.js", | 5 | "file": "src/features/workspaces/components/WorkspaceDrawerItem.js", |
6 | "start": { | 6 | "start": { |
7 | "line": 12, | 7 | "line": 13, |
8 | "column": 22 | 8 | "column": 22 |
9 | }, | 9 | }, |
10 | "end": { | 10 | "end": { |
11 | "line": 15, | 11 | "line": 16, |
12 | "column": 3 | 12 | "column": 3 |
13 | } | 13 | } |
14 | }, | 14 | }, |
@@ -17,11 +17,11 @@ | |||
17 | "defaultMessage": "!!!edit", | 17 | "defaultMessage": "!!!edit", |
18 | "file": "src/features/workspaces/components/WorkspaceDrawerItem.js", | 18 | "file": "src/features/workspaces/components/WorkspaceDrawerItem.js", |
19 | "start": { | 19 | "start": { |
20 | "line": 16, | 20 | "line": 17, |
21 | "column": 19 | 21 | "column": 19 |
22 | }, | 22 | }, |
23 | "end": { | 23 | "end": { |
24 | "line": 19, | 24 | "line": 20, |
25 | "column": 3 | 25 | "column": 3 |
26 | } | 26 | } |
27 | } | 27 | } |
diff --git a/src/i18n/messages/src/lib/Menu.json b/src/i18n/messages/src/lib/Menu.json index c09148b2f..f69d951fd 100644 --- a/src/i18n/messages/src/lib/Menu.json +++ b/src/i18n/messages/src/lib/Menu.json | |||
@@ -4,11 +4,11 @@ | |||
4 | "defaultMessage": "!!!Edit", | 4 | "defaultMessage": "!!!Edit", |
5 | "file": "src/lib/Menu.js", | 5 | "file": "src/lib/Menu.js", |
6 | "start": { | 6 | "start": { |
7 | "line": 16, | 7 | "line": 17, |
8 | "column": 8 | 8 | "column": 8 |
9 | }, | 9 | }, |
10 | "end": { | 10 | "end": { |
11 | "line": 19, | 11 | "line": 20, |
12 | "column": 3 | 12 | "column": 3 |
13 | } | 13 | } |
14 | }, | 14 | }, |
@@ -17,11 +17,11 @@ | |||
17 | "defaultMessage": "!!!Undo", | 17 | "defaultMessage": "!!!Undo", |
18 | "file": "src/lib/Menu.js", | 18 | "file": "src/lib/Menu.js", |
19 | "start": { | 19 | "start": { |
20 | "line": 20, | 20 | "line": 21, |
21 | "column": 8 | 21 | "column": 8 |
22 | }, | 22 | }, |
23 | "end": { | 23 | "end": { |
24 | "line": 23, | 24 | "line": 24, |
25 | "column": 3 | 25 | "column": 3 |
26 | } | 26 | } |
27 | }, | 27 | }, |
@@ -30,11 +30,11 @@ | |||
30 | "defaultMessage": "!!!Redo", | 30 | "defaultMessage": "!!!Redo", |
31 | "file": "src/lib/Menu.js", | 31 | "file": "src/lib/Menu.js", |
32 | "start": { | 32 | "start": { |
33 | "line": 24, | 33 | "line": 25, |
34 | "column": 8 | 34 | "column": 8 |
35 | }, | 35 | }, |
36 | "end": { | 36 | "end": { |
37 | "line": 27, | 37 | "line": 28, |
38 | "column": 3 | 38 | "column": 3 |
39 | } | 39 | } |
40 | }, | 40 | }, |
@@ -43,11 +43,11 @@ | |||
43 | "defaultMessage": "!!!Cut", | 43 | "defaultMessage": "!!!Cut", |
44 | "file": "src/lib/Menu.js", | 44 | "file": "src/lib/Menu.js", |
45 | "start": { | 45 | "start": { |
46 | "line": 28, | 46 | "line": 29, |
47 | "column": 7 | 47 | "column": 7 |
48 | }, | 48 | }, |
49 | "end": { | 49 | "end": { |
50 | "line": 31, | 50 | "line": 32, |
51 | "column": 3 | 51 | "column": 3 |
52 | } | 52 | } |
53 | }, | 53 | }, |
@@ -56,11 +56,11 @@ | |||
56 | "defaultMessage": "!!!Copy", | 56 | "defaultMessage": "!!!Copy", |
57 | "file": "src/lib/Menu.js", | 57 | "file": "src/lib/Menu.js", |
58 | "start": { | 58 | "start": { |
59 | "line": 32, | 59 | "line": 33, |
60 | "column": 8 | 60 | "column": 8 |
61 | }, | 61 | }, |
62 | "end": { | 62 | "end": { |
63 | "line": 35, | 63 | "line": 36, |
64 | "column": 3 | 64 | "column": 3 |
65 | } | 65 | } |
66 | }, | 66 | }, |
@@ -69,11 +69,11 @@ | |||
69 | "defaultMessage": "!!!Paste", | 69 | "defaultMessage": "!!!Paste", |
70 | "file": "src/lib/Menu.js", | 70 | "file": "src/lib/Menu.js", |
71 | "start": { | 71 | "start": { |
72 | "line": 36, | 72 | "line": 37, |
73 | "column": 9 | 73 | "column": 9 |
74 | }, | 74 | }, |
75 | "end": { | 75 | "end": { |
76 | "line": 39, | 76 | "line": 40, |
77 | "column": 3 | 77 | "column": 3 |
78 | } | 78 | } |
79 | }, | 79 | }, |
@@ -82,11 +82,11 @@ | |||
82 | "defaultMessage": "!!!Paste And Match Style", | 82 | "defaultMessage": "!!!Paste And Match Style", |
83 | "file": "src/lib/Menu.js", | 83 | "file": "src/lib/Menu.js", |
84 | "start": { | 84 | "start": { |
85 | "line": 40, | 85 | "line": 41, |
86 | "column": 22 | 86 | "column": 22 |
87 | }, | 87 | }, |
88 | "end": { | 88 | "end": { |
89 | "line": 43, | 89 | "line": 44, |
90 | "column": 3 | 90 | "column": 3 |
91 | } | 91 | } |
92 | }, | 92 | }, |
@@ -95,11 +95,11 @@ | |||
95 | "defaultMessage": "!!!Delete", | 95 | "defaultMessage": "!!!Delete", |
96 | "file": "src/lib/Menu.js", | 96 | "file": "src/lib/Menu.js", |
97 | "start": { | 97 | "start": { |
98 | "line": 44, | 98 | "line": 45, |
99 | "column": 10 | 99 | "column": 10 |
100 | }, | 100 | }, |
101 | "end": { | 101 | "end": { |
102 | "line": 47, | 102 | "line": 48, |
103 | "column": 3 | 103 | "column": 3 |
104 | } | 104 | } |
105 | }, | 105 | }, |
@@ -108,11 +108,11 @@ | |||
108 | "defaultMessage": "!!!Select All", | 108 | "defaultMessage": "!!!Select All", |
109 | "file": "src/lib/Menu.js", | 109 | "file": "src/lib/Menu.js", |
110 | "start": { | 110 | "start": { |
111 | "line": 48, | 111 | "line": 49, |
112 | "column": 13 | 112 | "column": 13 |
113 | }, | 113 | }, |
114 | "end": { | 114 | "end": { |
115 | "line": 51, | 115 | "line": 52, |
116 | "column": 3 | 116 | "column": 3 |
117 | } | 117 | } |
118 | }, | 118 | }, |
@@ -121,11 +121,11 @@ | |||
121 | "defaultMessage": "!!!Speech", | 121 | "defaultMessage": "!!!Speech", |
122 | "file": "src/lib/Menu.js", | 122 | "file": "src/lib/Menu.js", |
123 | "start": { | 123 | "start": { |
124 | "line": 52, | 124 | "line": 53, |
125 | "column": 10 | 125 | "column": 10 |
126 | }, | 126 | }, |
127 | "end": { | 127 | "end": { |
128 | "line": 55, | 128 | "line": 56, |
129 | "column": 3 | 129 | "column": 3 |
130 | } | 130 | } |
131 | }, | 131 | }, |
@@ -134,11 +134,11 @@ | |||
134 | "defaultMessage": "!!!Start Speaking", | 134 | "defaultMessage": "!!!Start Speaking", |
135 | "file": "src/lib/Menu.js", | 135 | "file": "src/lib/Menu.js", |
136 | "start": { | 136 | "start": { |
137 | "line": 56, | 137 | "line": 57, |
138 | "column": 17 | 138 | "column": 17 |
139 | }, | 139 | }, |
140 | "end": { | 140 | "end": { |
141 | "line": 59, | 141 | "line": 60, |
142 | "column": 3 | 142 | "column": 3 |
143 | } | 143 | } |
144 | }, | 144 | }, |
@@ -147,11 +147,11 @@ | |||
147 | "defaultMessage": "!!!Stop Speaking", | 147 | "defaultMessage": "!!!Stop Speaking", |
148 | "file": "src/lib/Menu.js", | 148 | "file": "src/lib/Menu.js", |
149 | "start": { | 149 | "start": { |
150 | "line": 60, | 150 | "line": 61, |
151 | "column": 16 | 151 | "column": 16 |
152 | }, | 152 | }, |
153 | "end": { | 153 | "end": { |
154 | "line": 63, | 154 | "line": 64, |
155 | "column": 3 | 155 | "column": 3 |
156 | } | 156 | } |
157 | }, | 157 | }, |
@@ -160,11 +160,11 @@ | |||
160 | "defaultMessage": "!!!Start Dictation", | 160 | "defaultMessage": "!!!Start Dictation", |
161 | "file": "src/lib/Menu.js", | 161 | "file": "src/lib/Menu.js", |
162 | "start": { | 162 | "start": { |
163 | "line": 64, | 163 | "line": 65, |
164 | "column": 18 | 164 | "column": 18 |
165 | }, | 165 | }, |
166 | "end": { | 166 | "end": { |
167 | "line": 67, | 167 | "line": 68, |
168 | "column": 3 | 168 | "column": 3 |
169 | } | 169 | } |
170 | }, | 170 | }, |
@@ -173,11 +173,11 @@ | |||
173 | "defaultMessage": "!!!Emoji & Symbols", | 173 | "defaultMessage": "!!!Emoji & Symbols", |
174 | "file": "src/lib/Menu.js", | 174 | "file": "src/lib/Menu.js", |
175 | "start": { | 175 | "start": { |
176 | "line": 68, | 176 | "line": 69, |
177 | "column": 16 | 177 | "column": 16 |
178 | }, | 178 | }, |
179 | "end": { | 179 | "end": { |
180 | "line": 71, | 180 | "line": 72, |
181 | "column": 3 | 181 | "column": 3 |
182 | } | 182 | } |
183 | }, | 183 | }, |
@@ -186,11 +186,11 @@ | |||
186 | "defaultMessage": "!!!Open Quick Switch", | 186 | "defaultMessage": "!!!Open Quick Switch", |
187 | "file": "src/lib/Menu.js", | 187 | "file": "src/lib/Menu.js", |
188 | "start": { | 188 | "start": { |
189 | "line": 72, | 189 | "line": 73, |
190 | "column": 19 | 190 | "column": 19 |
191 | }, | 191 | }, |
192 | "end": { | 192 | "end": { |
193 | "line": 75, | 193 | "line": 76, |
194 | "column": 3 | 194 | "column": 3 |
195 | } | 195 | } |
196 | }, | 196 | }, |
@@ -199,11 +199,11 @@ | |||
199 | "defaultMessage": "!!!Back", | 199 | "defaultMessage": "!!!Back", |
200 | "file": "src/lib/Menu.js", | 200 | "file": "src/lib/Menu.js", |
201 | "start": { | 201 | "start": { |
202 | "line": 76, | 202 | "line": 77, |
203 | "column": 8 | 203 | "column": 8 |
204 | }, | 204 | }, |
205 | "end": { | 205 | "end": { |
206 | "line": 79, | 206 | "line": 80, |
207 | "column": 3 | 207 | "column": 3 |
208 | } | 208 | } |
209 | }, | 209 | }, |
@@ -212,11 +212,11 @@ | |||
212 | "defaultMessage": "!!!Forward", | 212 | "defaultMessage": "!!!Forward", |
213 | "file": "src/lib/Menu.js", | 213 | "file": "src/lib/Menu.js", |
214 | "start": { | 214 | "start": { |
215 | "line": 80, | 215 | "line": 81, |
216 | "column": 11 | 216 | "column": 11 |
217 | }, | 217 | }, |
218 | "end": { | 218 | "end": { |
219 | "line": 83, | 219 | "line": 84, |
220 | "column": 3 | 220 | "column": 3 |
221 | } | 221 | } |
222 | }, | 222 | }, |
@@ -225,11 +225,11 @@ | |||
225 | "defaultMessage": "!!!Actual Size", | 225 | "defaultMessage": "!!!Actual Size", |
226 | "file": "src/lib/Menu.js", | 226 | "file": "src/lib/Menu.js", |
227 | "start": { | 227 | "start": { |
228 | "line": 84, | 228 | "line": 85, |
229 | "column": 13 | 229 | "column": 13 |
230 | }, | 230 | }, |
231 | "end": { | 231 | "end": { |
232 | "line": 87, | 232 | "line": 88, |
233 | "column": 3 | 233 | "column": 3 |
234 | } | 234 | } |
235 | }, | 235 | }, |
@@ -238,11 +238,11 @@ | |||
238 | "defaultMessage": "!!!Zoom In", | 238 | "defaultMessage": "!!!Zoom In", |
239 | "file": "src/lib/Menu.js", | 239 | "file": "src/lib/Menu.js", |
240 | "start": { | 240 | "start": { |
241 | "line": 88, | 241 | "line": 89, |
242 | "column": 10 | 242 | "column": 10 |
243 | }, | 243 | }, |
244 | "end": { | 244 | "end": { |
245 | "line": 91, | 245 | "line": 92, |
246 | "column": 3 | 246 | "column": 3 |
247 | } | 247 | } |
248 | }, | 248 | }, |
@@ -251,11 +251,11 @@ | |||
251 | "defaultMessage": "!!!Zoom Out", | 251 | "defaultMessage": "!!!Zoom Out", |
252 | "file": "src/lib/Menu.js", | 252 | "file": "src/lib/Menu.js", |
253 | "start": { | 253 | "start": { |
254 | "line": 92, | 254 | "line": 93, |
255 | "column": 11 | 255 | "column": 11 |
256 | }, | 256 | }, |
257 | "end": { | 257 | "end": { |
258 | "line": 95, | 258 | "line": 96, |
259 | "column": 3 | 259 | "column": 3 |
260 | } | 260 | } |
261 | }, | 261 | }, |
@@ -264,11 +264,11 @@ | |||
264 | "defaultMessage": "!!!Enter Full Screen", | 264 | "defaultMessage": "!!!Enter Full Screen", |
265 | "file": "src/lib/Menu.js", | 265 | "file": "src/lib/Menu.js", |
266 | "start": { | 266 | "start": { |
267 | "line": 96, | 267 | "line": 97, |
268 | "column": 19 | 268 | "column": 19 |
269 | }, | 269 | }, |
270 | "end": { | 270 | "end": { |
271 | "line": 99, | 271 | "line": 100, |
272 | "column": 3 | 272 | "column": 3 |
273 | } | 273 | } |
274 | }, | 274 | }, |
@@ -277,11 +277,11 @@ | |||
277 | "defaultMessage": "!!!Exit Full Screen", | 277 | "defaultMessage": "!!!Exit Full Screen", |
278 | "file": "src/lib/Menu.js", | 278 | "file": "src/lib/Menu.js", |
279 | "start": { | 279 | "start": { |
280 | "line": 100, | 280 | "line": 101, |
281 | "column": 18 | 281 | "column": 18 |
282 | }, | 282 | }, |
283 | "end": { | 283 | "end": { |
284 | "line": 103, | 284 | "line": 104, |
285 | "column": 3 | 285 | "column": 3 |
286 | } | 286 | } |
287 | }, | 287 | }, |
@@ -290,11 +290,11 @@ | |||
290 | "defaultMessage": "!!!Toggle Full Screen", | 290 | "defaultMessage": "!!!Toggle Full Screen", |
291 | "file": "src/lib/Menu.js", | 291 | "file": "src/lib/Menu.js", |
292 | "start": { | 292 | "start": { |
293 | "line": 104, | 293 | "line": 105, |
294 | "column": 20 | 294 | "column": 20 |
295 | }, | 295 | }, |
296 | "end": { | 296 | "end": { |
297 | "line": 107, | 297 | "line": 108, |
298 | "column": 3 | 298 | "column": 3 |
299 | } | 299 | } |
300 | }, | 300 | }, |
@@ -303,11 +303,11 @@ | |||
303 | "defaultMessage": "!!!Toggle Developer Tools", | 303 | "defaultMessage": "!!!Toggle Developer Tools", |
304 | "file": "src/lib/Menu.js", | 304 | "file": "src/lib/Menu.js", |
305 | "start": { | 305 | "start": { |
306 | "line": 108, | 306 | "line": 109, |
307 | "column": 18 | 307 | "column": 18 |
308 | }, | 308 | }, |
309 | "end": { | 309 | "end": { |
310 | "line": 111, | 310 | "line": 112, |
311 | "column": 3 | 311 | "column": 3 |
312 | } | 312 | } |
313 | }, | 313 | }, |
@@ -316,11 +316,11 @@ | |||
316 | "defaultMessage": "!!!Toggle Todos Developer Tools", | 316 | "defaultMessage": "!!!Toggle Todos Developer Tools", |
317 | "file": "src/lib/Menu.js", | 317 | "file": "src/lib/Menu.js", |
318 | "start": { | 318 | "start": { |
319 | "line": 112, | 319 | "line": 113, |
320 | "column": 23 | 320 | "column": 23 |
321 | }, | 321 | }, |
322 | "end": { | 322 | "end": { |
323 | "line": 115, | 323 | "line": 116, |
324 | "column": 3 | 324 | "column": 3 |
325 | } | 325 | } |
326 | }, | 326 | }, |
@@ -329,11 +329,11 @@ | |||
329 | "defaultMessage": "!!!Toggle Service Developer Tools", | 329 | "defaultMessage": "!!!Toggle Service Developer Tools", |
330 | "file": "src/lib/Menu.js", | 330 | "file": "src/lib/Menu.js", |
331 | "start": { | 331 | "start": { |
332 | "line": 116, | 332 | "line": 117, |
333 | "column": 25 | 333 | "column": 25 |
334 | }, | 334 | }, |
335 | "end": { | 335 | "end": { |
336 | "line": 119, | 336 | "line": 120, |
337 | "column": 3 | 337 | "column": 3 |
338 | } | 338 | } |
339 | }, | 339 | }, |
@@ -342,11 +342,11 @@ | |||
342 | "defaultMessage": "!!!Reload Service", | 342 | "defaultMessage": "!!!Reload Service", |
343 | "file": "src/lib/Menu.js", | 343 | "file": "src/lib/Menu.js", |
344 | "start": { | 344 | "start": { |
345 | "line": 120, | 345 | "line": 121, |
346 | "column": 17 | 346 | "column": 17 |
347 | }, | 347 | }, |
348 | "end": { | 348 | "end": { |
349 | "line": 123, | 349 | "line": 124, |
350 | "column": 3 | 350 | "column": 3 |
351 | } | 351 | } |
352 | }, | 352 | }, |
@@ -355,11 +355,11 @@ | |||
355 | "defaultMessage": "!!!Reload Ferdi", | 355 | "defaultMessage": "!!!Reload Ferdi", |
356 | "file": "src/lib/Menu.js", | 356 | "file": "src/lib/Menu.js", |
357 | "start": { | 357 | "start": { |
358 | "line": 124, | 358 | "line": 125, |
359 | "column": 15 | 359 | "column": 15 |
360 | }, | 360 | }, |
361 | "end": { | 361 | "end": { |
362 | "line": 127, | 362 | "line": 128, |
363 | "column": 3 | 363 | "column": 3 |
364 | } | 364 | } |
365 | }, | 365 | }, |
@@ -368,11 +368,11 @@ | |||
368 | "defaultMessage": "!!!Lock Ferdi", | 368 | "defaultMessage": "!!!Lock Ferdi", |
369 | "file": "src/lib/Menu.js", | 369 | "file": "src/lib/Menu.js", |
370 | "start": { | 370 | "start": { |
371 | "line": 128, | 371 | "line": 129, |
372 | "column": 13 | 372 | "column": 13 |
373 | }, | 373 | }, |
374 | "end": { | 374 | "end": { |
375 | "line": 131, | 375 | "line": 132, |
376 | "column": 3 | 376 | "column": 3 |
377 | } | 377 | } |
378 | }, | 378 | }, |
@@ -381,11 +381,11 @@ | |||
381 | "defaultMessage": "!!!Minimize", | 381 | "defaultMessage": "!!!Minimize", |
382 | "file": "src/lib/Menu.js", | 382 | "file": "src/lib/Menu.js", |
383 | "start": { | 383 | "start": { |
384 | "line": 132, | 384 | "line": 133, |
385 | "column": 12 | 385 | "column": 12 |
386 | }, | 386 | }, |
387 | "end": { | 387 | "end": { |
388 | "line": 135, | 388 | "line": 136, |
389 | "column": 3 | 389 | "column": 3 |
390 | } | 390 | } |
391 | }, | 391 | }, |
@@ -394,11 +394,11 @@ | |||
394 | "defaultMessage": "!!!Close", | 394 | "defaultMessage": "!!!Close", |
395 | "file": "src/lib/Menu.js", | 395 | "file": "src/lib/Menu.js", |
396 | "start": { | 396 | "start": { |
397 | "line": 136, | 397 | "line": 137, |
398 | "column": 9 | 398 | "column": 9 |
399 | }, | 399 | }, |
400 | "end": { | 400 | "end": { |
401 | "line": 139, | 401 | "line": 140, |
402 | "column": 3 | 402 | "column": 3 |
403 | } | 403 | } |
404 | }, | 404 | }, |
@@ -407,11 +407,11 @@ | |||
407 | "defaultMessage": "!!!Learn More", | 407 | "defaultMessage": "!!!Learn More", |
408 | "file": "src/lib/Menu.js", | 408 | "file": "src/lib/Menu.js", |
409 | "start": { | 409 | "start": { |
410 | "line": 140, | 410 | "line": 141, |
411 | "column": 13 | 411 | "column": 13 |
412 | }, | 412 | }, |
413 | "end": { | 413 | "end": { |
414 | "line": 143, | 414 | "line": 144, |
415 | "column": 3 | 415 | "column": 3 |
416 | } | 416 | } |
417 | }, | 417 | }, |
@@ -420,11 +420,11 @@ | |||
420 | "defaultMessage": "!!!Changelog", | 420 | "defaultMessage": "!!!Changelog", |
421 | "file": "src/lib/Menu.js", | 421 | "file": "src/lib/Menu.js", |
422 | "start": { | 422 | "start": { |
423 | "line": 144, | 423 | "line": 145, |
424 | "column": 13 | 424 | "column": 13 |
425 | }, | 425 | }, |
426 | "end": { | 426 | "end": { |
427 | "line": 147, | 427 | "line": 148, |
428 | "column": 3 | 428 | "column": 3 |
429 | } | 429 | } |
430 | }, | 430 | }, |
@@ -433,11 +433,11 @@ | |||
433 | "defaultMessage": "!!!Support", | 433 | "defaultMessage": "!!!Support", |
434 | "file": "src/lib/Menu.js", | 434 | "file": "src/lib/Menu.js", |
435 | "start": { | 435 | "start": { |
436 | "line": 148, | 436 | "line": 149, |
437 | "column": 11 | 437 | "column": 11 |
438 | }, | 438 | }, |
439 | "end": { | 439 | "end": { |
440 | "line": 151, | 440 | "line": 152, |
441 | "column": 3 | 441 | "column": 3 |
442 | } | 442 | } |
443 | }, | 443 | }, |
@@ -446,11 +446,11 @@ | |||
446 | "defaultMessage": "!!!Copy Debug Information", | 446 | "defaultMessage": "!!!Copy Debug Information", |
447 | "file": "src/lib/Menu.js", | 447 | "file": "src/lib/Menu.js", |
448 | "start": { | 448 | "start": { |
449 | "line": 152, | 449 | "line": 153, |
450 | "column": 13 | 450 | "column": 13 |
451 | }, | 451 | }, |
452 | "end": { | 452 | "end": { |
453 | "line": 155, | 453 | "line": 156, |
454 | "column": 3 | 454 | "column": 3 |
455 | } | 455 | } |
456 | }, | 456 | }, |
@@ -459,11 +459,11 @@ | |||
459 | "defaultMessage": "!!!Ferdi Debug Information", | 459 | "defaultMessage": "!!!Ferdi Debug Information", |
460 | "file": "src/lib/Menu.js", | 460 | "file": "src/lib/Menu.js", |
461 | "start": { | 461 | "start": { |
462 | "line": 156, | 462 | "line": 157, |
463 | "column": 27 | 463 | "column": 27 |
464 | }, | 464 | }, |
465 | "end": { | 465 | "end": { |
466 | "line": 159, | 466 | "line": 160, |
467 | "column": 3 | 467 | "column": 3 |
468 | } | 468 | } |
469 | }, | 469 | }, |
@@ -472,11 +472,11 @@ | |||
472 | "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.", | 472 | "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.", |
473 | "file": "src/lib/Menu.js", | 473 | "file": "src/lib/Menu.js", |
474 | "start": { | 474 | "start": { |
475 | "line": 160, | 475 | "line": 161, |
476 | "column": 23 | 476 | "column": 23 |
477 | }, | 477 | }, |
478 | "end": { | 478 | "end": { |
479 | "line": 163, | 479 | "line": 164, |
480 | "column": 3 | 480 | "column": 3 |
481 | } | 481 | } |
482 | }, | 482 | }, |
@@ -485,11 +485,11 @@ | |||
485 | "defaultMessage": "!!!Terms of Service", | 485 | "defaultMessage": "!!!Terms of Service", |
486 | "file": "src/lib/Menu.js", | 486 | "file": "src/lib/Menu.js", |
487 | "start": { | 487 | "start": { |
488 | "line": 164, | 488 | "line": 165, |
489 | "column": 7 | 489 | "column": 7 |
490 | }, | 490 | }, |
491 | "end": { | 491 | "end": { |
492 | "line": 167, | 492 | "line": 168, |
493 | "column": 3 | 493 | "column": 3 |
494 | } | 494 | } |
495 | }, | 495 | }, |
@@ -498,11 +498,11 @@ | |||
498 | "defaultMessage": "!!!Privacy Statement", | 498 | "defaultMessage": "!!!Privacy Statement", |
499 | "file": "src/lib/Menu.js", | 499 | "file": "src/lib/Menu.js", |
500 | "start": { | 500 | "start": { |
501 | "line": 168, | 501 | "line": 169, |
502 | "column": 11 | 502 | "column": 11 |
503 | }, | 503 | }, |
504 | "end": { | 504 | "end": { |
505 | "line": 171, | 505 | "line": 172, |
506 | "column": 3 | 506 | "column": 3 |
507 | } | 507 | } |
508 | }, | 508 | }, |
@@ -511,11 +511,11 @@ | |||
511 | "defaultMessage": "!!!File", | 511 | "defaultMessage": "!!!File", |
512 | "file": "src/lib/Menu.js", | 512 | "file": "src/lib/Menu.js", |
513 | "start": { | 513 | "start": { |
514 | "line": 172, | 514 | "line": 173, |
515 | "column": 8 | 515 | "column": 8 |
516 | }, | 516 | }, |
517 | "end": { | 517 | "end": { |
518 | "line": 175, | 518 | "line": 176, |
519 | "column": 3 | 519 | "column": 3 |
520 | } | 520 | } |
521 | }, | 521 | }, |
@@ -524,11 +524,11 @@ | |||
524 | "defaultMessage": "!!!View", | 524 | "defaultMessage": "!!!View", |
525 | "file": "src/lib/Menu.js", | 525 | "file": "src/lib/Menu.js", |
526 | "start": { | 526 | "start": { |
527 | "line": 176, | 527 | "line": 177, |
528 | "column": 8 | 528 | "column": 8 |
529 | }, | 529 | }, |
530 | "end": { | 530 | "end": { |
531 | "line": 179, | 531 | "line": 180, |
532 | "column": 3 | 532 | "column": 3 |
533 | } | 533 | } |
534 | }, | 534 | }, |
@@ -537,11 +537,11 @@ | |||
537 | "defaultMessage": "!!!Services", | 537 | "defaultMessage": "!!!Services", |
538 | "file": "src/lib/Menu.js", | 538 | "file": "src/lib/Menu.js", |
539 | "start": { | 539 | "start": { |
540 | "line": 180, | 540 | "line": 181, |
541 | "column": 12 | 541 | "column": 12 |
542 | }, | 542 | }, |
543 | "end": { | 543 | "end": { |
544 | "line": 183, | 544 | "line": 184, |
545 | "column": 3 | 545 | "column": 3 |
546 | } | 546 | } |
547 | }, | 547 | }, |
@@ -550,11 +550,11 @@ | |||
550 | "defaultMessage": "!!!Window", | 550 | "defaultMessage": "!!!Window", |
551 | "file": "src/lib/Menu.js", | 551 | "file": "src/lib/Menu.js", |
552 | "start": { | 552 | "start": { |
553 | "line": 184, | 553 | "line": 185, |
554 | "column": 10 | 554 | "column": 10 |
555 | }, | 555 | }, |
556 | "end": { | 556 | "end": { |
557 | "line": 187, | 557 | "line": 188, |
558 | "column": 3 | 558 | "column": 3 |
559 | } | 559 | } |
560 | }, | 560 | }, |
@@ -563,11 +563,11 @@ | |||
563 | "defaultMessage": "!!!Help", | 563 | "defaultMessage": "!!!Help", |
564 | "file": "src/lib/Menu.js", | 564 | "file": "src/lib/Menu.js", |
565 | "start": { | 565 | "start": { |
566 | "line": 188, | 566 | "line": 189, |
567 | "column": 8 | 567 | "column": 8 |
568 | }, | 568 | }, |
569 | "end": { | 569 | "end": { |
570 | "line": 191, | 570 | "line": 192, |
571 | "column": 3 | 571 | "column": 3 |
572 | } | 572 | } |
573 | }, | 573 | }, |
@@ -576,11 +576,11 @@ | |||
576 | "defaultMessage": "!!!About Ferdi", | 576 | "defaultMessage": "!!!About Ferdi", |
577 | "file": "src/lib/Menu.js", | 577 | "file": "src/lib/Menu.js", |
578 | "start": { | 578 | "start": { |
579 | "line": 192, | 579 | "line": 193, |
580 | "column": 9 | 580 | "column": 9 |
581 | }, | 581 | }, |
582 | "end": { | 582 | "end": { |
583 | "line": 195, | 583 | "line": 196, |
584 | "column": 3 | 584 | "column": 3 |
585 | } | 585 | } |
586 | }, | 586 | }, |
@@ -589,11 +589,11 @@ | |||
589 | "defaultMessage": "!!!What's new?", | 589 | "defaultMessage": "!!!What's new?", |
590 | "file": "src/lib/Menu.js", | 590 | "file": "src/lib/Menu.js", |
591 | "start": { | 591 | "start": { |
592 | "line": 196, | 592 | "line": 197, |
593 | "column": 16 | 593 | "column": 16 |
594 | }, | 594 | }, |
595 | "end": { | 595 | "end": { |
596 | "line": 199, | 596 | "line": 200, |
597 | "column": 3 | 597 | "column": 3 |
598 | } | 598 | } |
599 | }, | 599 | }, |
@@ -602,11 +602,11 @@ | |||
602 | "defaultMessage": "!!!Settings", | 602 | "defaultMessage": "!!!Settings", |
603 | "file": "src/lib/Menu.js", | 603 | "file": "src/lib/Menu.js", |
604 | "start": { | 604 | "start": { |
605 | "line": 200, | 605 | "line": 201, |
606 | "column": 12 | 606 | "column": 12 |
607 | }, | 607 | }, |
608 | "end": { | 608 | "end": { |
609 | "line": 203, | 609 | "line": 204, |
610 | "column": 3 | 610 | "column": 3 |
611 | } | 611 | } |
612 | }, | 612 | }, |
@@ -615,11 +615,11 @@ | |||
615 | "defaultMessage": "!!!Check for updates", | 615 | "defaultMessage": "!!!Check for updates", |
616 | "file": "src/lib/Menu.js", | 616 | "file": "src/lib/Menu.js", |
617 | "start": { | 617 | "start": { |
618 | "line": 204, | 618 | "line": 205, |
619 | "column": 19 | 619 | "column": 19 |
620 | }, | 620 | }, |
621 | "end": { | 621 | "end": { |
622 | "line": 207, | 622 | "line": 208, |
623 | "column": 3 | 623 | "column": 3 |
624 | } | 624 | } |
625 | }, | 625 | }, |
@@ -628,11 +628,11 @@ | |||
628 | "defaultMessage": "!!!Hide", | 628 | "defaultMessage": "!!!Hide", |
629 | "file": "src/lib/Menu.js", | 629 | "file": "src/lib/Menu.js", |
630 | "start": { | 630 | "start": { |
631 | "line": 208, | 631 | "line": 209, |
632 | "column": 8 | 632 | "column": 8 |
633 | }, | 633 | }, |
634 | "end": { | 634 | "end": { |
635 | "line": 211, | 635 | "line": 212, |
636 | "column": 3 | 636 | "column": 3 |
637 | } | 637 | } |
638 | }, | 638 | }, |
@@ -641,11 +641,11 @@ | |||
641 | "defaultMessage": "!!!Hide Others", | 641 | "defaultMessage": "!!!Hide Others", |
642 | "file": "src/lib/Menu.js", | 642 | "file": "src/lib/Menu.js", |
643 | "start": { | 643 | "start": { |
644 | "line": 212, | 644 | "line": 213, |
645 | "column": 14 | 645 | "column": 14 |
646 | }, | 646 | }, |
647 | "end": { | 647 | "end": { |
648 | "line": 215, | 648 | "line": 216, |
649 | "column": 3 | 649 | "column": 3 |
650 | } | 650 | } |
651 | }, | 651 | }, |
@@ -654,11 +654,11 @@ | |||
654 | "defaultMessage": "!!!Unhide", | 654 | "defaultMessage": "!!!Unhide", |
655 | "file": "src/lib/Menu.js", | 655 | "file": "src/lib/Menu.js", |
656 | "start": { | 656 | "start": { |
657 | "line": 216, | 657 | "line": 217, |
658 | "column": 10 | 658 | "column": 10 |
659 | }, | 659 | }, |
660 | "end": { | 660 | "end": { |
661 | "line": 219, | 661 | "line": 220, |
662 | "column": 3 | 662 | "column": 3 |
663 | } | 663 | } |
664 | }, | 664 | }, |
@@ -667,11 +667,11 @@ | |||
667 | "defaultMessage": "!!!Auto-hide menu bar", | 667 | "defaultMessage": "!!!Auto-hide menu bar", |
668 | "file": "src/lib/Menu.js", | 668 | "file": "src/lib/Menu.js", |
669 | "start": { | 669 | "start": { |
670 | "line": 220, | 670 | "line": 221, |
671 | "column": 19 | 671 | "column": 19 |
672 | }, | 672 | }, |
673 | "end": { | 673 | "end": { |
674 | "line": 223, | 674 | "line": 224, |
675 | "column": 3 | 675 | "column": 3 |
676 | } | 676 | } |
677 | }, | 677 | }, |
@@ -680,11 +680,11 @@ | |||
680 | "defaultMessage": "!!!Quit", | 680 | "defaultMessage": "!!!Quit", |
681 | "file": "src/lib/Menu.js", | 681 | "file": "src/lib/Menu.js", |
682 | "start": { | 682 | "start": { |
683 | "line": 224, | 683 | "line": 225, |
684 | "column": 8 | 684 | "column": 8 |
685 | }, | 685 | }, |
686 | "end": { | 686 | "end": { |
687 | "line": 227, | 687 | "line": 228, |
688 | "column": 3 | 688 | "column": 3 |
689 | } | 689 | } |
690 | }, | 690 | }, |
@@ -693,11 +693,11 @@ | |||
693 | "defaultMessage": "!!!Add New Service...", | 693 | "defaultMessage": "!!!Add New Service...", |
694 | "file": "src/lib/Menu.js", | 694 | "file": "src/lib/Menu.js", |
695 | "start": { | 695 | "start": { |
696 | "line": 228, | 696 | "line": 229, |
697 | "column": 17 | 697 | "column": 17 |
698 | }, | 698 | }, |
699 | "end": { | 699 | "end": { |
700 | "line": 231, | 700 | "line": 232, |
701 | "column": 3 | 701 | "column": 3 |
702 | } | 702 | } |
703 | }, | 703 | }, |
@@ -706,11 +706,11 @@ | |||
706 | "defaultMessage": "!!!Add New Workspace...", | 706 | "defaultMessage": "!!!Add New Workspace...", |
707 | "file": "src/lib/Menu.js", | 707 | "file": "src/lib/Menu.js", |
708 | "start": { | 708 | "start": { |
709 | "line": 232, | 709 | "line": 233, |
710 | "column": 19 | 710 | "column": 19 |
711 | }, | 711 | }, |
712 | "end": { | 712 | "end": { |
713 | "line": 235, | 713 | "line": 236, |
714 | "column": 3 | 714 | "column": 3 |
715 | } | 715 | } |
716 | }, | 716 | }, |
@@ -719,11 +719,11 @@ | |||
719 | "defaultMessage": "!!!Open workspace drawer", | 719 | "defaultMessage": "!!!Open workspace drawer", |
720 | "file": "src/lib/Menu.js", | 720 | "file": "src/lib/Menu.js", |
721 | "start": { | 721 | "start": { |
722 | "line": 236, | 722 | "line": 237, |
723 | "column": 23 | 723 | "column": 23 |
724 | }, | 724 | }, |
725 | "end": { | 725 | "end": { |
726 | "line": 239, | 726 | "line": 240, |
727 | "column": 3 | 727 | "column": 3 |
728 | } | 728 | } |
729 | }, | 729 | }, |
@@ -732,11 +732,11 @@ | |||
732 | "defaultMessage": "!!!Close workspace drawer", | 732 | "defaultMessage": "!!!Close workspace drawer", |
733 | "file": "src/lib/Menu.js", | 733 | "file": "src/lib/Menu.js", |
734 | "start": { | 734 | "start": { |
735 | "line": 240, | 735 | "line": 241, |
736 | "column": 24 | 736 | "column": 24 |
737 | }, | 737 | }, |
738 | "end": { | 738 | "end": { |
739 | "line": 243, | 739 | "line": 244, |
740 | "column": 3 | 740 | "column": 3 |
741 | } | 741 | } |
742 | }, | 742 | }, |
@@ -745,11 +745,11 @@ | |||
745 | "defaultMessage": "!!!Activate next service...", | 745 | "defaultMessage": "!!!Activate next service...", |
746 | "file": "src/lib/Menu.js", | 746 | "file": "src/lib/Menu.js", |
747 | "start": { | 747 | "start": { |
748 | "line": 244, | 748 | "line": 245, |
749 | "column": 23 | 749 | "column": 23 |
750 | }, | 750 | }, |
751 | "end": { | 751 | "end": { |
752 | "line": 247, | 752 | "line": 248, |
753 | "column": 3 | 753 | "column": 3 |
754 | } | 754 | } |
755 | }, | 755 | }, |
@@ -758,11 +758,11 @@ | |||
758 | "defaultMessage": "!!!Activate previous service...", | 758 | "defaultMessage": "!!!Activate previous service...", |
759 | "file": "src/lib/Menu.js", | 759 | "file": "src/lib/Menu.js", |
760 | "start": { | 760 | "start": { |
761 | "line": 248, | 761 | "line": 249, |
762 | "column": 27 | 762 | "column": 27 |
763 | }, | 763 | }, |
764 | "end": { | 764 | "end": { |
765 | "line": 251, | 765 | "line": 252, |
766 | "column": 3 | 766 | "column": 3 |
767 | } | 767 | } |
768 | }, | 768 | }, |
@@ -771,11 +771,11 @@ | |||
771 | "defaultMessage": "!!!Disable notifications & audio", | 771 | "defaultMessage": "!!!Disable notifications & audio", |
772 | "file": "src/lib/Menu.js", | 772 | "file": "src/lib/Menu.js", |
773 | "start": { | 773 | "start": { |
774 | "line": 252, | 774 | "line": 253, |
775 | "column": 11 | 775 | "column": 11 |
776 | }, | 776 | }, |
777 | "end": { | 777 | "end": { |
778 | "line": 255, | 778 | "line": 256, |
779 | "column": 3 | 779 | "column": 3 |
780 | } | 780 | } |
781 | }, | 781 | }, |
@@ -784,11 +784,11 @@ | |||
784 | "defaultMessage": "!!!Enable notifications & audio", | 784 | "defaultMessage": "!!!Enable notifications & audio", |
785 | "file": "src/lib/Menu.js", | 785 | "file": "src/lib/Menu.js", |
786 | "start": { | 786 | "start": { |
787 | "line": 256, | 787 | "line": 257, |
788 | "column": 13 | 788 | "column": 13 |
789 | }, | 789 | }, |
790 | "end": { | 790 | "end": { |
791 | "line": 259, | 791 | "line": 260, |
792 | "column": 3 | 792 | "column": 3 |
793 | } | 793 | } |
794 | }, | 794 | }, |
@@ -797,11 +797,11 @@ | |||
797 | "defaultMessage": "!!!Workspaces", | 797 | "defaultMessage": "!!!Workspaces", |
798 | "file": "src/lib/Menu.js", | 798 | "file": "src/lib/Menu.js", |
799 | "start": { | 799 | "start": { |
800 | "line": 260, | 800 | "line": 261, |
801 | "column": 14 | 801 | "column": 14 |
802 | }, | 802 | }, |
803 | "end": { | 803 | "end": { |
804 | "line": 263, | 804 | "line": 264, |
805 | "column": 3 | 805 | "column": 3 |
806 | } | 806 | } |
807 | }, | 807 | }, |
@@ -810,11 +810,11 @@ | |||
810 | "defaultMessage": "!!!Default", | 810 | "defaultMessage": "!!!Default", |
811 | "file": "src/lib/Menu.js", | 811 | "file": "src/lib/Menu.js", |
812 | "start": { | 812 | "start": { |
813 | "line": 264, | 813 | "line": 265, |
814 | "column": 20 | 814 | "column": 20 |
815 | }, | 815 | }, |
816 | "end": { | 816 | "end": { |
817 | "line": 267, | 817 | "line": 268, |
818 | "column": 3 | 818 | "column": 3 |
819 | } | 819 | } |
820 | }, | 820 | }, |
@@ -823,11 +823,11 @@ | |||
823 | "defaultMessage": "!!!Todos", | 823 | "defaultMessage": "!!!Todos", |
824 | "file": "src/lib/Menu.js", | 824 | "file": "src/lib/Menu.js", |
825 | "start": { | 825 | "start": { |
826 | "line": 268, | 826 | "line": 269, |
827 | "column": 9 | 827 | "column": 9 |
828 | }, | 828 | }, |
829 | "end": { | 829 | "end": { |
830 | "line": 271, | 830 | "line": 272, |
831 | "column": 3 | 831 | "column": 3 |
832 | } | 832 | } |
833 | }, | 833 | }, |
@@ -836,11 +836,11 @@ | |||
836 | "defaultMessage": "!!!Open Todos drawer", | 836 | "defaultMessage": "!!!Open Todos drawer", |
837 | "file": "src/lib/Menu.js", | 837 | "file": "src/lib/Menu.js", |
838 | "start": { | 838 | "start": { |
839 | "line": 272, | 839 | "line": 273, |
840 | "column": 19 | 840 | "column": 19 |
841 | }, | 841 | }, |
842 | "end": { | 842 | "end": { |
843 | "line": 275, | 843 | "line": 276, |
844 | "column": 3 | 844 | "column": 3 |
845 | } | 845 | } |
846 | }, | 846 | }, |
@@ -849,11 +849,11 @@ | |||
849 | "defaultMessage": "!!!Close Todos drawer", | 849 | "defaultMessage": "!!!Close Todos drawer", |
850 | "file": "src/lib/Menu.js", | 850 | "file": "src/lib/Menu.js", |
851 | "start": { | 851 | "start": { |
852 | "line": 276, | 852 | "line": 277, |
853 | "column": 20 | 853 | "column": 20 |
854 | }, | 854 | }, |
855 | "end": { | 855 | "end": { |
856 | "line": 279, | 856 | "line": 280, |
857 | "column": 3 | 857 | "column": 3 |
858 | } | 858 | } |
859 | }, | 859 | }, |
@@ -862,11 +862,24 @@ | |||
862 | "defaultMessage": "!!!Enable Todos", | 862 | "defaultMessage": "!!!Enable Todos", |
863 | "file": "src/lib/Menu.js", | 863 | "file": "src/lib/Menu.js", |
864 | "start": { | 864 | "start": { |
865 | "line": 280, | 865 | "line": 281, |
866 | "column": 15 | 866 | "column": 15 |
867 | }, | 867 | }, |
868 | "end": { | 868 | "end": { |
869 | "line": 283, | 869 | "line": 284, |
870 | "column": 3 | ||
871 | } | ||
872 | }, | ||
873 | { | ||
874 | "id": "menu.services.goHome", | ||
875 | "defaultMessage": "!!!Home", | ||
876 | "file": "src/lib/Menu.js", | ||
877 | "start": { | ||
878 | "line": 285, | ||
879 | "column": 17 | ||
880 | }, | ||
881 | "end": { | ||
882 | "line": 288, | ||
870 | "column": 3 | 883 | "column": 3 |
871 | } | 884 | } |
872 | } | 885 | } |
diff --git a/src/index.js b/src/index.js index 449bbad19..2ee404c0b 100644 --- a/src/index.js +++ b/src/index.js | |||
@@ -336,22 +336,7 @@ app.on('login', (event, webContents, request, authInfo, callback) => { | |||
336 | debug('browser login event', authInfo); | 336 | debug('browser login event', authInfo); |
337 | event.preventDefault(); | 337 | event.preventDefault(); |
338 | 338 | ||
339 | if (authInfo.isProxy && authInfo.scheme === 'basic') { | 339 | if (!authInfo.isProxy && authInfo.scheme === 'basic') { |
340 | debug('Sending service echo ping'); | ||
341 | webContents.send('get-service-id'); | ||
342 | |||
343 | ipcMain.once('service-id', (e, id) => { | ||
344 | debug('Received service id', id); | ||
345 | |||
346 | const ps = proxySettings.get(id); | ||
347 | if (ps) { | ||
348 | debug('Sending proxy auth callback for service', id); | ||
349 | callback(ps.user, ps.password); | ||
350 | } else { | ||
351 | debug('No proxy auth config found for', id); | ||
352 | } | ||
353 | }); | ||
354 | } else if (authInfo.scheme === 'basic') { | ||
355 | debug('basic auth handler', authInfo); | 340 | debug('basic auth handler', authInfo); |
356 | basicAuthHandler(mainWindow, authInfo); | 341 | basicAuthHandler(mainWindow, authInfo); |
357 | } | 342 | } |
diff --git a/src/lib/Menu.js b/src/lib/Menu.js index 01aee6f5c..f223283f9 100644 --- a/src/lib/Menu.js +++ b/src/lib/Menu.js | |||
@@ -9,6 +9,7 @@ import { announcementActions } from '../features/announcements/actions'; | |||
9 | import { announcementsStore } from '../features/announcements'; | 9 | import { announcementsStore } from '../features/announcements'; |
10 | import { todosStore } from '../features/todos'; | 10 | import { todosStore } from '../features/todos'; |
11 | import { todoActions } from '../features/todos/actions'; | 11 | import { todoActions } from '../features/todos/actions'; |
12 | import { CUSTOM_WEBSITE_ID } from '../features/webControls/constants'; | ||
12 | 13 | ||
13 | const { app, Menu, dialog } = remote; | 14 | const { app, Menu, dialog } = remote; |
14 | 15 | ||
@@ -281,6 +282,10 @@ const menuItems = defineMessages({ | |||
281 | id: 'menu.todos.enableTodos', | 282 | id: 'menu.todos.enableTodos', |
282 | defaultMessage: '!!!Enable Todos', | 283 | defaultMessage: '!!!Enable Todos', |
283 | }, | 284 | }, |
285 | serviceGoHome: { | ||
286 | id: 'menu.services.goHome', | ||
287 | defaultMessage: '!!!Home', | ||
288 | }, | ||
284 | }); | 289 | }); |
285 | 290 | ||
286 | function getActiveWebview() { | 291 | function getActiveWebview() { |
@@ -767,8 +772,12 @@ export default class FranzMenu { | |||
767 | accelerator: `${cmdKey}+R`, | 772 | accelerator: `${cmdKey}+R`, |
768 | click: () => { | 773 | click: () => { |
769 | if (this.stores.user.isLoggedIn | 774 | if (this.stores.user.isLoggedIn |
770 | && this.stores.services.enabled.length > 0) { | 775 | && this.stores.services.enabled.length > 0) { |
771 | this.actions.service.reloadActive(); | 776 | if (this.stores.services.active.recipe.id === CUSTOM_WEBSITE_ID) { |
777 | this.stores.services.active.webview.reload(); | ||
778 | } else { | ||
779 | this.actions.service.reloadActive(); | ||
780 | } | ||
772 | } else { | 781 | } else { |
773 | window.location.reload(); | 782 | window.location.reload(); |
774 | } | 783 | } |
@@ -995,6 +1004,16 @@ export default class FranzMenu { | |||
995 | }, | 1004 | }, |
996 | }))); | 1005 | }))); |
997 | 1006 | ||
1007 | if (services.active && services.active.recipe.id === CUSTOM_WEBSITE_ID) { | ||
1008 | menu.push({ | ||
1009 | type: 'separator', | ||
1010 | }, { | ||
1011 | label: intl.formatMessage(menuItems.serviceGoHome), | ||
1012 | accelerator: `${cmdKey}+shift+H`, | ||
1013 | click: () => this.actions.service.reloadActive(), | ||
1014 | }); | ||
1015 | } | ||
1016 | |||
998 | return menu; | 1017 | return menu; |
999 | } | 1018 | } |
1000 | 1019 | ||
diff --git a/src/models/Service.js b/src/models/Service.js index 3ab6e2603..ddc169d47 100644 --- a/src/models/Service.js +++ b/src/models/Service.js | |||
@@ -192,19 +192,24 @@ export default class Service { | |||
192 | return userAgent; | 192 | return userAgent; |
193 | } | 193 | } |
194 | 194 | ||
195 | initializeWebViewEvents({ handleIPCMessage, openWindow }) { | 195 | initializeWebViewEvents({ handleIPCMessage, openWindow, stores }) { |
196 | const webContents = this.webview.getWebContents(); | ||
197 | |||
196 | this.webview.addEventListener('ipc-message', e => handleIPCMessage({ | 198 | this.webview.addEventListener('ipc-message', e => handleIPCMessage({ |
197 | serviceId: this.id, | 199 | serviceId: this.id, |
198 | channel: e.channel, | 200 | channel: e.channel, |
199 | args: e.args, | 201 | args: e.args, |
200 | })); | 202 | })); |
201 | 203 | ||
202 | this.webview.addEventListener('new-window', (event, url, frameName, options) => openWindow({ | 204 | this.webview.addEventListener('new-window', (event, url, frameName, options) => { |
203 | event, | 205 | console.log('open window', event, url, frameName, options); |
204 | url, | 206 | openWindow({ |
205 | frameName, | 207 | event, |
206 | options, | 208 | url, |
207 | })); | 209 | frameName, |
210 | options, | ||
211 | }); | ||
212 | }); | ||
208 | 213 | ||
209 | this.webview.addEventListener('did-start-loading', (event) => { | 214 | this.webview.addEventListener('did-start-loading', (event) => { |
210 | debug('Did start load', this.name, event); | 215 | debug('Did start load', this.name, event); |
@@ -238,6 +243,28 @@ export default class Service { | |||
238 | debug('Service crashed', this.name); | 243 | debug('Service crashed', this.name); |
239 | this.hasCrashed = true; | 244 | this.hasCrashed = true; |
240 | }); | 245 | }); |
246 | |||
247 | webContents.on('login', (event, request, authInfo, callback) => { | ||
248 | // const authCallback = callback; | ||
249 | debug('browser login event', authInfo); | ||
250 | event.preventDefault(); | ||
251 | |||
252 | if (authInfo.isProxy && authInfo.scheme === 'basic') { | ||
253 | debug('Sending service echo ping'); | ||
254 | webContents.send('get-service-id'); | ||
255 | |||
256 | debug('Received service id', this.id); | ||
257 | |||
258 | const ps = stores.settings.proxy[this.id]; | ||
259 | |||
260 | if (ps) { | ||
261 | debug('Sending proxy auth callback for service', this.id); | ||
262 | callback(ps.user, ps.password); | ||
263 | } else { | ||
264 | debug('No proxy auth config found for', this.id); | ||
265 | } | ||
266 | } | ||
267 | }); | ||
241 | } | 268 | } |
242 | 269 | ||
243 | initializeWebViewListener() { | 270 | initializeWebViewListener() { |
diff --git a/src/stores/ServicesStore.js b/src/stores/ServicesStore.js index 3173004d4..076ecc204 100644 --- a/src/stores/ServicesStore.js +++ b/src/stores/ServicesStore.js | |||
@@ -370,6 +370,7 @@ export default class ServicesStore extends Store { | |||
370 | service.initializeWebViewEvents({ | 370 | service.initializeWebViewEvents({ |
371 | handleIPCMessage: this.actions.service.handleIPCMessage, | 371 | handleIPCMessage: this.actions.service.handleIPCMessage, |
372 | openWindow: this.actions.service.openWindow, | 372 | openWindow: this.actions.service.openWindow, |
373 | stores: this.stores, | ||
373 | }); | 374 | }); |
374 | service.initializeWebViewListener(); | 375 | service.initializeWebViewListener(); |
375 | } | 376 | } |
@@ -727,6 +728,8 @@ export default class ServicesStore extends Store { | |||
727 | const serviceData = data; | 728 | const serviceData = data; |
728 | const recipe = this.stores.recipes.one(recipeId); | 729 | const recipe = this.stores.recipes.one(recipeId); |
729 | 730 | ||
731 | if (!recipe) return; | ||
732 | |||
730 | if (recipe.hasTeamId && recipe.hasCustomUrl && data.team && data.customUrl) { | 733 | if (recipe.hasTeamId && recipe.hasCustomUrl && data.team && data.customUrl) { |
731 | delete serviceData.team; | 734 | delete serviceData.team; |
732 | } | 735 | } |
diff --git a/src/webview/recipe.js b/src/webview/recipe.js index b30199f03..3f2338b68 100644 --- a/src/webview/recipe.js +++ b/src/webview/recipe.js | |||
@@ -19,6 +19,7 @@ import contextMenu from './contextMenu'; | |||
19 | import './notifications'; | 19 | import './notifications'; |
20 | 20 | ||
21 | import { DEFAULT_APP_SETTINGS } from '../config'; | 21 | import { DEFAULT_APP_SETTINGS } from '../config'; |
22 | import { isDevMode } from '../environment'; | ||
22 | 23 | ||
23 | const debug = require('debug')('Ferdi:Plugin'); | 24 | const debug = require('debug')('Ferdi:Plugin'); |
24 | 25 | ||
@@ -39,7 +40,7 @@ class RecipeController { | |||
39 | 'settings-update': 'updateAppSettings', | 40 | 'settings-update': 'updateAppSettings', |
40 | 'service-settings-update': 'updateServiceSettings', | 41 | 'service-settings-update': 'updateServiceSettings', |
41 | 'get-service-id': 'serviceIdEcho', | 42 | 'get-service-id': 'serviceIdEcho', |
42 | } | 43 | }; |
43 | 44 | ||
44 | constructor() { | 45 | constructor() { |
45 | this.initialize(); | 46 | this.initialize(); |
@@ -195,6 +196,7 @@ new RecipeController(); | |||
195 | // Patching window.open | 196 | // Patching window.open |
196 | const originalWindowOpen = window.open; | 197 | const originalWindowOpen = window.open; |
197 | 198 | ||
199 | |||
198 | window.open = (url, frameName, features) => { | 200 | window.open = (url, frameName, features) => { |
199 | if (!url && !frameName && !features) { | 201 | if (!url && !frameName && !features) { |
200 | // The service hasn't yet supplied a URL (as used in Skype). | 202 | // The service hasn't yet supplied a URL (as used in Skype). |
@@ -209,7 +211,7 @@ window.open = (url, frameName, features) => { | |||
209 | // Has the service changed the URL yet? | 211 | // Has the service changed the URL yet? |
210 | if (newWindow.location.href !== '') { | 212 | if (newWindow.location.href !== '') { |
211 | // Open the new URL | 213 | // Open the new URL |
212 | window.open(newWindow.location.href); | 214 | ipcRenderer.sendToHost('new-window', newWindow.location.href); |
213 | clearInterval(checkInterval); | 215 | clearInterval(checkInterval); |
214 | } | 216 | } |
215 | }, 0); | 217 | }, 0); |
@@ -223,9 +225,13 @@ window.open = (url, frameName, features) => { | |||
223 | } | 225 | } |
224 | 226 | ||
225 | // We need to differentiate if the link should be opened in a popup or in the systems default browser | 227 | // We need to differentiate if the link should be opened in a popup or in the systems default browser |
226 | if (!frameName && !features) { | 228 | if (!frameName && !features && typeof features !== 'string') { |
227 | return ipcRenderer.sendToHost('new-window', url); | 229 | return ipcRenderer.sendToHost('new-window', url); |
228 | } | 230 | } |
229 | 231 | ||
230 | return originalWindowOpen(url, frameName, features); | 232 | return originalWindowOpen(url, frameName, features); |
231 | }; | 233 | }; |
234 | |||
235 | if (isDevMode) { | ||
236 | window.log = console.log; | ||
237 | } | ||