aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Vijay Raghavan Aravamudhan <vraravam@users.noreply.github.com>2021-05-15 18:34:25 +0530
committerLibravatar GitHub <noreply@github.com>2021-05-15 15:04:25 +0200
commit8ef5380b941a8f1483ee5d30e61a5086e669b12e (patch)
tree8e4db26f558722622738c17c21f97187cdb23ea0
parentMinor refactoring to have consistent command-line invocations. (diff)
downloadferdium-app-8ef5380b941a8f1483ee5d30e61a5086e669b12e.tar.gz
ferdium-app-8ef5380b941a8f1483ee5d30e61a5086e669b12e.tar.zst
ferdium-app-8ef5380b941a8f1483ee5d30e61a5086e669b12e.zip
Adding DuckDuckGo as an alternative search engine (#1414)
* Adding DuckDuckGo as an alternative search engine. * Fixing review comments. * Fixing review comments.
-rw-r--r--src/components/settings/settings/EditSettingsForm.js1
-rw-r--r--src/config.js13
-rw-r--r--src/containers/settings/EditSettingsScreen.js18
-rw-r--r--src/i18n/locales/defaultMessages.json137
-rw-r--r--src/i18n/locales/en-US.json1
-rw-r--r--src/i18n/messages/src/containers/settings/EditSettingsScreen.json137
-rw-r--r--src/stores/ServicesStore.js5
-rw-r--r--src/stores/SettingsStore.js20
-rw-r--r--src/webview/contextMenu.js4
-rw-r--r--src/webview/contextMenuBuilder.js9
-rw-r--r--src/webview/recipe.js2
11 files changed, 215 insertions, 132 deletions
diff --git a/src/components/settings/settings/EditSettingsForm.js b/src/components/settings/settings/EditSettingsForm.js
index 7a0aead15..e0687be12 100644
--- a/src/components/settings/settings/EditSettingsForm.js
+++ b/src/components/settings/settings/EditSettingsForm.js
@@ -334,6 +334,7 @@ export default @observer class EditSettingsForm extends Component {
334 334
335 <Hr /> 335 <Hr />
336 336
337 <Select field={form.$('searchEngine')} />
337 <Toggle field={form.$('sentry')} /> 338 <Toggle field={form.$('sentry')} />
338 <p>{intl.formatMessage(messages.sentryInfo)}</p> 339 <p>{intl.formatMessage(messages.sentryInfo)}</p>
339 340
diff --git a/src/config.js b/src/config.js
index b6a052de7..9117089c5 100644
--- a/src/config.js
+++ b/src/config.js
@@ -52,6 +52,18 @@ export const NAVIGATION_BAR_BEHAVIOURS = {
52 never: 'Never show navigation bar', 52 never: 'Never show navigation bar',
53}; 53};
54 54
55export const SEARCH_ENGINE_GOOGLE = 'google';
56export const SEARCH_ENGINE_DDG = 'duckDuckGo';
57export const SEARCH_ENGINE_NAMES = {
58 [SEARCH_ENGINE_GOOGLE]: 'Google',
59 [SEARCH_ENGINE_DDG]: 'DuckDuckGo',
60};
61
62export const SEARCH_ENGINE_URLS = {
63 [SEARCH_ENGINE_GOOGLE]: ({ searchTerm }) => `https://www.google.com/search?q=${searchTerm}`,
64 [SEARCH_ENGINE_DDG]: ({ searchTerm }) => `https://duckduckgo.com/?q=${searchTerm}`,
65};
66
55export const TODO_APPS = { 67export const TODO_APPS = {
56 'https://todoist.com/app': 'Todoist', 68 'https://todoist.com/app': 'Todoist',
57 'https://app.franztodos.com': 'Franz Todo', 69 'https://app.franztodos.com': 'Franz Todo',
@@ -135,6 +147,7 @@ export const DEFAULT_APP_SETTINGS = {
135 sentry: false, 147 sentry: false,
136 nightly: false, 148 nightly: false,
137 navigationBarBehaviour: 'custom', 149 navigationBarBehaviour: 'custom',
150 searchEngine: SEARCH_ENGINE_DDG,
138 useVerticalStyle: false, 151 useVerticalStyle: false,
139 alwaysShowWorkspaces: false, 152 alwaysShowWorkspaces: false,
140}; 153};
diff --git a/src/containers/settings/EditSettingsScreen.js b/src/containers/settings/EditSettingsScreen.js
index 49ef03664..831732940 100644
--- a/src/containers/settings/EditSettingsScreen.js
+++ b/src/containers/settings/EditSettingsScreen.js
@@ -10,7 +10,7 @@ import TodosStore from '../../features/todos/store';
10import Form from '../../lib/Form'; 10import Form from '../../lib/Form';
11import { APP_LOCALES, SPELLCHECKER_LOCALES } from '../../i18n/languages'; 11import { APP_LOCALES, SPELLCHECKER_LOCALES } from '../../i18n/languages';
12import { 12import {
13 DEFAULT_APP_SETTINGS, HIBERNATION_STRATEGIES, SIDEBAR_WIDTH, ICON_SIZES, NAVIGATION_BAR_BEHAVIOURS, TODO_APPS, 13 DEFAULT_APP_SETTINGS, HIBERNATION_STRATEGIES, SIDEBAR_WIDTH, ICON_SIZES, NAVIGATION_BAR_BEHAVIOURS, SEARCH_ENGINE_NAMES, TODO_APPS,
14} from '../../config'; 14} from '../../config';
15import { config as spellcheckerConfig } from '../../features/spellchecker'; 15import { config as spellcheckerConfig } from '../../features/spellchecker';
16 16
@@ -71,6 +71,10 @@ const messages = defineMessages({
71 id: 'settings.app.form.navigationBarBehaviour', 71 id: 'settings.app.form.navigationBarBehaviour',
72 defaultMessage: '!!!Navigation bar behaviour', 72 defaultMessage: '!!!Navigation bar behaviour',
73 }, 73 },
74 searchEngine: {
75 id: 'settings.app.form.searchEngine',
76 defaultMessage: '!!!Search engine',
77 },
74 sentry: { 78 sentry: {
75 id: 'settings.app.form.sentry', 79 id: 'settings.app.form.sentry',
76 defaultMessage: '!!!Send telemetry data', 80 defaultMessage: '!!!Send telemetry data',
@@ -241,6 +245,7 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e
241 privateNotifications: settingsData.privateNotifications, 245 privateNotifications: settingsData.privateNotifications,
242 notifyTaskBarOnMessage: settingsData.notifyTaskBarOnMessage, 246 notifyTaskBarOnMessage: settingsData.notifyTaskBarOnMessage,
243 navigationBarBehaviour: settingsData.navigationBarBehaviour, 247 navigationBarBehaviour: settingsData.navigationBarBehaviour,
248 searchEngine: settingsData.searchEngine,
244 sentry: settingsData.sentry, 249 sentry: settingsData.sentry,
245 hibernate: settingsData.hibernate, 250 hibernate: settingsData.hibernate,
246 hibernateOnStartup: settingsData.hibernateOnStartup, 251 hibernateOnStartup: settingsData.hibernateOnStartup,
@@ -313,6 +318,11 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e
313 sort: false, 318 sort: false,
314 }); 319 });
315 320
321 const searchEngines = getSelectOptions({
322 locales: SEARCH_ENGINE_NAMES,
323 sort: false,
324 });
325
316 const hibernationStrategies = getSelectOptions({ 326 const hibernationStrategies = getSelectOptions({
317 locales: HIBERNATION_STRATEGIES, 327 locales: HIBERNATION_STRATEGIES,
318 sort: false, 328 sort: false,
@@ -396,6 +406,12 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e
396 default: DEFAULT_APP_SETTINGS.navigationBarBehaviour, 406 default: DEFAULT_APP_SETTINGS.navigationBarBehaviour,
397 options: navigationBarBehaviours, 407 options: navigationBarBehaviours,
398 }, 408 },
409 searchEngine: {
410 label: intl.formatMessage(messages.searchEngine),
411 value: settings.all.app.searchEngine,
412 default: DEFAULT_APP_SETTINGS.searchEngine,
413 options: searchEngines,
414 },
399 sentry: { 415 sentry: {
400 label: intl.formatMessage(messages.sentry), 416 label: intl.formatMessage(messages.sentry),
401 value: settings.all.app.sentry, 417 value: settings.all.app.sentry,
diff --git a/src/i18n/locales/defaultMessages.json b/src/i18n/locales/defaultMessages.json
index 22e8b8b4a..adffa7f43 100644
--- a/src/i18n/locales/defaultMessages.json
+++ b/src/i18n/locales/defaultMessages.json
@@ -5029,406 +5029,419 @@
5029 } 5029 }
5030 }, 5030 },
5031 { 5031 {
5032 "defaultMessage": "!!!Send telemetry data", 5032 "defaultMessage": "!!!Search engine",
5033 "end": { 5033 "end": {
5034 "column": 3, 5034 "column": 3,
5035 "line": 77 5035 "line": 77
5036 }, 5036 },
5037 "file": "src/containers/settings/EditSettingsScreen.js", 5037 "file": "src/containers/settings/EditSettingsScreen.js",
5038 "id": "settings.app.form.searchEngine",
5039 "start": {
5040 "column": 16,
5041 "line": 74
5042 }
5043 },
5044 {
5045 "defaultMessage": "!!!Send telemetry data",
5046 "end": {
5047 "column": 3,
5048 "line": 81
5049 },
5050 "file": "src/containers/settings/EditSettingsScreen.js",
5038 "id": "settings.app.form.sentry", 5051 "id": "settings.app.form.sentry",
5039 "start": { 5052 "start": {
5040 "column": 10, 5053 "column": 10,
5041 "line": 74 5054 "line": 78
5042 } 5055 }
5043 }, 5056 },
5044 { 5057 {
5045 "defaultMessage": "!!!Enable service hibernation", 5058 "defaultMessage": "!!!Enable service hibernation",
5046 "end": { 5059 "end": {
5047 "column": 3, 5060 "column": 3,
5048 "line": 81 5061 "line": 85
5049 }, 5062 },
5050 "file": "src/containers/settings/EditSettingsScreen.js", 5063 "file": "src/containers/settings/EditSettingsScreen.js",
5051 "id": "settings.app.form.hibernate", 5064 "id": "settings.app.form.hibernate",
5052 "start": { 5065 "start": {
5053 "column": 13, 5066 "column": 13,
5054 "line": 78 5067 "line": 82
5055 } 5068 }
5056 }, 5069 },
5057 { 5070 {
5058 "defaultMessage": "!!!Keep services in hibernation on startup", 5071 "defaultMessage": "!!!Keep services in hibernation on startup",
5059 "end": { 5072 "end": {
5060 "column": 3, 5073 "column": 3,
5061 "line": 85 5074 "line": 89
5062 }, 5075 },
5063 "file": "src/containers/settings/EditSettingsScreen.js", 5076 "file": "src/containers/settings/EditSettingsScreen.js",
5064 "id": "settings.app.form.hibernateOnStartup", 5077 "id": "settings.app.form.hibernateOnStartup",
5065 "start": { 5078 "start": {
5066 "column": 22, 5079 "column": 22,
5067 "line": 82 5080 "line": 86
5068 } 5081 }
5069 }, 5082 },
5070 { 5083 {
5071 "defaultMessage": "!!!Hibernation strategy", 5084 "defaultMessage": "!!!Hibernation strategy",
5072 "end": { 5085 "end": {
5073 "column": 3, 5086 "column": 3,
5074 "line": 89 5087 "line": 93
5075 }, 5088 },
5076 "file": "src/containers/settings/EditSettingsScreen.js", 5089 "file": "src/containers/settings/EditSettingsScreen.js",
5077 "id": "settings.app.form.hibernationStrategy", 5090 "id": "settings.app.form.hibernationStrategy",
5078 "start": { 5091 "start": {
5079 "column": 23, 5092 "column": 23,
5080 "line": 86 5093 "line": 90
5081 } 5094 }
5082 }, 5095 },
5083 { 5096 {
5084 "defaultMessage": "!!!Todo Server", 5097 "defaultMessage": "!!!Todo Server",
5085 "end": { 5098 "end": {
5086 "column": 3, 5099 "column": 3,
5087 "line": 93 5100 "line": 97
5088 }, 5101 },
5089 "file": "src/containers/settings/EditSettingsScreen.js", 5102 "file": "src/containers/settings/EditSettingsScreen.js",
5090 "id": "settings.app.form.predefinedTodoServer", 5103 "id": "settings.app.form.predefinedTodoServer",
5091 "start": { 5104 "start": {
5092 "column": 24, 5105 "column": 24,
5093 "line": 90 5106 "line": 94
5094 } 5107 }
5095 }, 5108 },
5096 { 5109 {
5097 "defaultMessage": "!!!Custom TodoServer", 5110 "defaultMessage": "!!!Custom TodoServer",
5098 "end": { 5111 "end": {
5099 "column": 3, 5112 "column": 3,
5100 "line": 97 5113 "line": 101
5101 }, 5114 },
5102 "file": "src/containers/settings/EditSettingsScreen.js", 5115 "file": "src/containers/settings/EditSettingsScreen.js",
5103 "id": "settings.app.form.customTodoServer", 5116 "id": "settings.app.form.customTodoServer",
5104 "start": { 5117 "start": {
5105 "column": 20, 5118 "column": 20,
5106 "line": 94 5119 "line": 98
5107 } 5120 }
5108 }, 5121 },
5109 { 5122 {
5110 "defaultMessage": "!!!Enable Password Lock", 5123 "defaultMessage": "!!!Enable Password Lock",
5111 "end": { 5124 "end": {
5112 "column": 3, 5125 "column": 3,
5113 "line": 101 5126 "line": 105
5114 }, 5127 },
5115 "file": "src/containers/settings/EditSettingsScreen.js", 5128 "file": "src/containers/settings/EditSettingsScreen.js",
5116 "id": "settings.app.form.enableLock", 5129 "id": "settings.app.form.enableLock",
5117 "start": { 5130 "start": {
5118 "column": 14, 5131 "column": 14,
5119 "line": 98 5132 "line": 102
5120 } 5133 }
5121 }, 5134 },
5122 { 5135 {
5123 "defaultMessage": "!!!Password", 5136 "defaultMessage": "!!!Password",
5124 "end": { 5137 "end": {
5125 "column": 3, 5138 "column": 3,
5126 "line": 105 5139 "line": 109
5127 }, 5140 },
5128 "file": "src/containers/settings/EditSettingsScreen.js", 5141 "file": "src/containers/settings/EditSettingsScreen.js",
5129 "id": "settings.app.form.lockPassword", 5142 "id": "settings.app.form.lockPassword",
5130 "start": { 5143 "start": {
5131 "column": 16, 5144 "column": 16,
5132 "line": 102 5145 "line": 106
5133 } 5146 }
5134 }, 5147 },
5135 { 5148 {
5136 "defaultMessage": "!!!Allow using Touch ID to unlock", 5149 "defaultMessage": "!!!Allow using Touch ID to unlock",
5137 "end": { 5150 "end": {
5138 "column": 3, 5151 "column": 3,
5139 "line": 109 5152 "line": 113
5140 }, 5153 },
5141 "file": "src/containers/settings/EditSettingsScreen.js", 5154 "file": "src/containers/settings/EditSettingsScreen.js",
5142 "id": "settings.app.form.useTouchIdToUnlock", 5155 "id": "settings.app.form.useTouchIdToUnlock",
5143 "start": { 5156 "start": {
5144 "column": 22, 5157 "column": 22,
5145 "line": 106 5158 "line": 110
5146 } 5159 }
5147 }, 5160 },
5148 { 5161 {
5149 "defaultMessage": "!!!Lock after inactivity", 5162 "defaultMessage": "!!!Lock after inactivity",
5150 "end": { 5163 "end": {
5151 "column": 3, 5164 "column": 3,
5152 "line": 113 5165 "line": 117
5153 }, 5166 },
5154 "file": "src/containers/settings/EditSettingsScreen.js", 5167 "file": "src/containers/settings/EditSettingsScreen.js",
5155 "id": "settings.app.form.inactivityLock", 5168 "id": "settings.app.form.inactivityLock",
5156 "start": { 5169 "start": {
5157 "column": 18, 5170 "column": 18,
5158 "line": 110 5171 "line": 114
5159 } 5172 }
5160 }, 5173 },
5161 { 5174 {
5162 "defaultMessage": "!!!Enable scheduled Do-not-Disturb", 5175 "defaultMessage": "!!!Enable scheduled Do-not-Disturb",
5163 "end": { 5176 "end": {
5164 "column": 3, 5177 "column": 3,
5165 "line": 117 5178 "line": 121
5166 }, 5179 },
5167 "file": "src/containers/settings/EditSettingsScreen.js", 5180 "file": "src/containers/settings/EditSettingsScreen.js",
5168 "id": "settings.app.form.scheduledDNDEnabled", 5181 "id": "settings.app.form.scheduledDNDEnabled",
5169 "start": { 5182 "start": {
5170 "column": 23, 5183 "column": 23,
5171 "line": 114 5184 "line": 118
5172 } 5185 }
5173 }, 5186 },
5174 { 5187 {
5175 "defaultMessage": "!!!From", 5188 "defaultMessage": "!!!From",
5176 "end": { 5189 "end": {
5177 "column": 3, 5190 "column": 3,
5178 "line": 121 5191 "line": 125
5179 }, 5192 },
5180 "file": "src/containers/settings/EditSettingsScreen.js", 5193 "file": "src/containers/settings/EditSettingsScreen.js",
5181 "id": "settings.app.form.scheduledDNDStart", 5194 "id": "settings.app.form.scheduledDNDStart",
5182 "start": { 5195 "start": {
5183 "column": 21, 5196 "column": 21,
5184 "line": 118 5197 "line": 122
5185 } 5198 }
5186 }, 5199 },
5187 { 5200 {
5188 "defaultMessage": "!!!To", 5201 "defaultMessage": "!!!To",
5189 "end": { 5202 "end": {
5190 "column": 3, 5203 "column": 3,
5191 "line": 125 5204 "line": 129
5192 }, 5205 },
5193 "file": "src/containers/settings/EditSettingsScreen.js", 5206 "file": "src/containers/settings/EditSettingsScreen.js",
5194 "id": "settings.app.form.scheduledDNDEnd", 5207 "id": "settings.app.form.scheduledDNDEnd",
5195 "start": { 5208 "start": {
5196 "column": 19, 5209 "column": 19,
5197 "line": 122 5210 "line": 126
5198 } 5211 }
5199 }, 5212 },
5200 { 5213 {
5201 "defaultMessage": "!!!Language", 5214 "defaultMessage": "!!!Language",
5202 "end": { 5215 "end": {
5203 "column": 3, 5216 "column": 3,
5204 "line": 129 5217 "line": 133
5205 }, 5218 },
5206 "file": "src/containers/settings/EditSettingsScreen.js", 5219 "file": "src/containers/settings/EditSettingsScreen.js",
5207 "id": "settings.app.form.language", 5220 "id": "settings.app.form.language",
5208 "start": { 5221 "start": {
5209 "column": 12, 5222 "column": 12,
5210 "line": 126 5223 "line": 130
5211 } 5224 }
5212 }, 5225 },
5213 { 5226 {
5214 "defaultMessage": "!!!Dark Mode", 5227 "defaultMessage": "!!!Dark Mode",
5215 "end": { 5228 "end": {
5216 "column": 3, 5229 "column": 3,
5217 "line": 133 5230 "line": 137
5218 }, 5231 },
5219 "file": "src/containers/settings/EditSettingsScreen.js", 5232 "file": "src/containers/settings/EditSettingsScreen.js",
5220 "id": "settings.app.form.darkMode", 5233 "id": "settings.app.form.darkMode",
5221 "start": { 5234 "start": {
5222 "column": 12, 5235 "column": 12,
5223 "line": 130 5236 "line": 134
5224 } 5237 }
5225 }, 5238 },
5226 { 5239 {
5227 "defaultMessage": "!!!Synchronize dark mode with my OS's dark mode setting", 5240 "defaultMessage": "!!!Synchronize dark mode with my OS's dark mode setting",
5228 "end": { 5241 "end": {
5229 "column": 3, 5242 "column": 3,
5230 "line": 137 5243 "line": 141
5231 }, 5244 },
5232 "file": "src/containers/settings/EditSettingsScreen.js", 5245 "file": "src/containers/settings/EditSettingsScreen.js",
5233 "id": "settings.app.form.adaptableDarkMode", 5246 "id": "settings.app.form.adaptableDarkMode",
5234 "start": { 5247 "start": {
5235 "column": 21, 5248 "column": 21,
5236 "line": 134 5249 "line": 138
5237 } 5250 }
5238 }, 5251 },
5239 { 5252 {
5240 "defaultMessage": "!!!Enable universal Dark Mode", 5253 "defaultMessage": "!!!Enable universal Dark Mode",
5241 "end": { 5254 "end": {
5242 "column": 3, 5255 "column": 3,
5243 "line": 141 5256 "line": 145
5244 }, 5257 },
5245 "file": "src/containers/settings/EditSettingsScreen.js", 5258 "file": "src/containers/settings/EditSettingsScreen.js",
5246 "id": "settings.app.form.universalDarkMode", 5259 "id": "settings.app.form.universalDarkMode",
5247 "start": { 5260 "start": {
5248 "column": 21, 5261 "column": 21,
5249 "line": 138 5262 "line": 142
5250 } 5263 }
5251 }, 5264 },
5252 { 5265 {
5253 "defaultMessage": "!!!Sidebar width", 5266 "defaultMessage": "!!!Sidebar width",
5254 "end": { 5267 "end": {
5255 "column": 3, 5268 "column": 3,
5256 "line": 145 5269 "line": 149
5257 }, 5270 },
5258 "file": "src/containers/settings/EditSettingsScreen.js", 5271 "file": "src/containers/settings/EditSettingsScreen.js",
5259 "id": "settings.app.form.serviceRibbonWidth", 5272 "id": "settings.app.form.serviceRibbonWidth",
5260 "start": { 5273 "start": {
5261 "column": 22, 5274 "column": 22,
5262 "line": 142 5275 "line": 146
5263 } 5276 }
5264 }, 5277 },
5265 { 5278 {
5266 "defaultMessage": "!!!Service icon size", 5279 "defaultMessage": "!!!Service icon size",
5267 "end": { 5280 "end": {
5268 "column": 3, 5281 "column": 3,
5269 "line": 149 5282 "line": 153
5270 }, 5283 },
5271 "file": "src/containers/settings/EditSettingsScreen.js", 5284 "file": "src/containers/settings/EditSettingsScreen.js",
5272 "id": "settings.app.form.iconSize", 5285 "id": "settings.app.form.iconSize",
5273 "start": { 5286 "start": {
5274 "column": 12, 5287 "column": 12,
5275 "line": 146 5288 "line": 150
5276 } 5289 }
5277 }, 5290 },
5278 { 5291 {
5279 "defaultMessage": "!!!Use vertical style", 5292 "defaultMessage": "!!!Use vertical style",
5280 "end": { 5293 "end": {
5281 "column": 3, 5294 "column": 3,
5282 "line": 153 5295 "line": 157
5283 }, 5296 },
5284 "file": "src/containers/settings/EditSettingsScreen.js", 5297 "file": "src/containers/settings/EditSettingsScreen.js",
5285 "id": "settings.app.form.useVerticalStyle", 5298 "id": "settings.app.form.useVerticalStyle",
5286 "start": { 5299 "start": {
5287 "column": 20, 5300 "column": 20,
5288 "line": 150 5301 "line": 154
5289 } 5302 }
5290 }, 5303 },
5291 { 5304 {
5292 "defaultMessage": "!!!Always show workspace drawer", 5305 "defaultMessage": "!!!Always show workspace drawer",
5293 "end": { 5306 "end": {
5294 "column": 3, 5307 "column": 3,
5295 "line": 157 5308 "line": 161
5296 }, 5309 },
5297 "file": "src/containers/settings/EditSettingsScreen.js", 5310 "file": "src/containers/settings/EditSettingsScreen.js",
5298 "id": "settings.app.form.alwaysShowWorkspaces", 5311 "id": "settings.app.form.alwaysShowWorkspaces",
5299 "start": { 5312 "start": {
5300 "column": 24, 5313 "column": 24,
5301 "line": 154 5314 "line": 158
5302 } 5315 }
5303 }, 5316 },
5304 { 5317 {
5305 "defaultMessage": "!!!Accent color", 5318 "defaultMessage": "!!!Accent color",
5306 "end": { 5319 "end": {
5307 "column": 3, 5320 "column": 3,
5308 "line": 161 5321 "line": 165
5309 }, 5322 },
5310 "file": "src/containers/settings/EditSettingsScreen.js", 5323 "file": "src/containers/settings/EditSettingsScreen.js",
5311 "id": "settings.app.form.accentColor", 5324 "id": "settings.app.form.accentColor",
5312 "start": { 5325 "start": {
5313 "column": 15, 5326 "column": 15,
5314 "line": 158 5327 "line": 162
5315 } 5328 }
5316 }, 5329 },
5317 { 5330 {
5318 "defaultMessage": "!!!Display disabled services tabs", 5331 "defaultMessage": "!!!Display disabled services tabs",
5319 "end": { 5332 "end": {
5320 "column": 3, 5333 "column": 3,
5321 "line": 165 5334 "line": 169
5322 }, 5335 },
5323 "file": "src/containers/settings/EditSettingsScreen.js", 5336 "file": "src/containers/settings/EditSettingsScreen.js",
5324 "id": "settings.app.form.showDisabledServices", 5337 "id": "settings.app.form.showDisabledServices",
5325 "start": { 5338 "start": {
5326 "column": 24, 5339 "column": 24,
5327 "line": 162 5340 "line": 166
5328 } 5341 }
5329 }, 5342 },
5330 { 5343 {
5331 "defaultMessage": "!!!Show unread message badge when notifications are disabled", 5344 "defaultMessage": "!!!Show unread message badge when notifications are disabled",
5332 "end": { 5345 "end": {
5333 "column": 3, 5346 "column": 3,
5334 "line": 169 5347 "line": 173
5335 }, 5348 },
5336 "file": "src/containers/settings/EditSettingsScreen.js", 5349 "file": "src/containers/settings/EditSettingsScreen.js",
5337 "id": "settings.app.form.showMessagesBadgesWhenMuted", 5350 "id": "settings.app.form.showMessagesBadgesWhenMuted",
5338 "start": { 5351 "start": {
5339 "column": 29, 5352 "column": 29,
5340 "line": 166 5353 "line": 170
5341 } 5354 }
5342 }, 5355 },
5343 { 5356 {
5344 "defaultMessage": "!!!Show draggable area on window", 5357 "defaultMessage": "!!!Show draggable area on window",
5345 "end": { 5358 "end": {
5346 "column": 3, 5359 "column": 3,
5347 "line": 173 5360 "line": 177
5348 }, 5361 },
5349 "file": "src/containers/settings/EditSettingsScreen.js", 5362 "file": "src/containers/settings/EditSettingsScreen.js",
5350 "id": "settings.app.form.showDragArea", 5363 "id": "settings.app.form.showDragArea",
5351 "start": { 5364 "start": {
5352 "column": 16, 5365 "column": 16,
5353 "line": 170 5366 "line": 174
5354 } 5367 }
5355 }, 5368 },
5356 { 5369 {
5357 "defaultMessage": "!!!Enable spell checking", 5370 "defaultMessage": "!!!Enable spell checking",
5358 "end": { 5371 "end": {
5359 "column": 3, 5372 "column": 3,
5360 "line": 177 5373 "line": 181
5361 }, 5374 },
5362 "file": "src/containers/settings/EditSettingsScreen.js", 5375 "file": "src/containers/settings/EditSettingsScreen.js",
5363 "id": "settings.app.form.enableSpellchecking", 5376 "id": "settings.app.form.enableSpellchecking",
5364 "start": { 5377 "start": {
5365 "column": 23, 5378 "column": 23,
5366 "line": 174 5379 "line": 178
5367 } 5380 }
5368 }, 5381 },
5369 { 5382 {
5370 "defaultMessage": "!!!Enable GPU Acceleration", 5383 "defaultMessage": "!!!Enable GPU Acceleration",
5371 "end": { 5384 "end": {
5372 "column": 3, 5385 "column": 3,
5373 "line": 181 5386 "line": 185
5374 }, 5387 },
5375 "file": "src/containers/settings/EditSettingsScreen.js", 5388 "file": "src/containers/settings/EditSettingsScreen.js",
5376 "id": "settings.app.form.enableGPUAcceleration", 5389 "id": "settings.app.form.enableGPUAcceleration",
5377 "start": { 5390 "start": {
5378 "column": 25, 5391 "column": 25,
5379 "line": 178 5392 "line": 182
5380 } 5393 }
5381 }, 5394 },
5382 { 5395 {
5383 "defaultMessage": "!!!Include beta versions", 5396 "defaultMessage": "!!!Include beta versions",
5384 "end": { 5397 "end": {
5385 "column": 3, 5398 "column": 3,
5386 "line": 185 5399 "line": 189
5387 }, 5400 },
5388 "file": "src/containers/settings/EditSettingsScreen.js", 5401 "file": "src/containers/settings/EditSettingsScreen.js",
5389 "id": "settings.app.form.beta", 5402 "id": "settings.app.form.beta",
5390 "start": { 5403 "start": {
5391 "column": 8, 5404 "column": 8,
5392 "line": 182 5405 "line": 186
5393 } 5406 }
5394 }, 5407 },
5395 { 5408 {
5396 "defaultMessage": "!!!Enable updates", 5409 "defaultMessage": "!!!Enable updates",
5397 "end": { 5410 "end": {
5398 "column": 3, 5411 "column": 3,
5399 "line": 189 5412 "line": 193
5400 }, 5413 },
5401 "file": "src/containers/settings/EditSettingsScreen.js", 5414 "file": "src/containers/settings/EditSettingsScreen.js",
5402 "id": "settings.app.form.automaticUpdates", 5415 "id": "settings.app.form.automaticUpdates",
5403 "start": { 5416 "start": {
5404 "column": 20, 5417 "column": 20,
5405 "line": 186 5418 "line": 190
5406 } 5419 }
5407 }, 5420 },
5408 { 5421 {
5409 "defaultMessage": "!!!Enable Franz Todos", 5422 "defaultMessage": "!!!Enable Franz Todos",
5410 "end": { 5423 "end": {
5411 "column": 3, 5424 "column": 3,
5412 "line": 193 5425 "line": 197
5413 }, 5426 },
5414 "file": "src/containers/settings/EditSettingsScreen.js", 5427 "file": "src/containers/settings/EditSettingsScreen.js",
5415 "id": "settings.app.form.enableTodos", 5428 "id": "settings.app.form.enableTodos",
5416 "start": { 5429 "start": {
5417 "column": 15, 5430 "column": 15,
5418 "line": 190 5431 "line": 194
5419 } 5432 }
5420 }, 5433 },
5421 { 5434 {
5422 "defaultMessage": "!!!Keep all workspaces loaded", 5435 "defaultMessage": "!!!Keep all workspaces loaded",
5423 "end": { 5436 "end": {
5424 "column": 3, 5437 "column": 3,
5425 "line": 197 5438 "line": 201
5426 }, 5439 },
5427 "file": "src/containers/settings/EditSettingsScreen.js", 5440 "file": "src/containers/settings/EditSettingsScreen.js",
5428 "id": "settings.app.form.keepAllWorkspacesLoaded", 5441 "id": "settings.app.form.keepAllWorkspacesLoaded",
5429 "start": { 5442 "start": {
5430 "column": 27, 5443 "column": 27,
5431 "line": 194 5444 "line": 198
5432 } 5445 }
5433 } 5446 }
5434 ], 5447 ],
diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json
index 369d9a590..fc7f25249 100644
--- a/src/i18n/locales/en-US.json
+++ b/src/i18n/locales/en-US.json
@@ -319,6 +319,7 @@
319 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb", 319 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
320 "settings.app.form.scheduledDNDEnd": "To", 320 "settings.app.form.scheduledDNDEnd": "To",
321 "settings.app.form.scheduledDNDStart": "From", 321 "settings.app.form.scheduledDNDStart": "From",
322 "settings.app.form.searchEngine": "Search engine",
322 "settings.app.form.sentry": "Send telemetry data", 323 "settings.app.form.sentry": "Send telemetry data",
323 "settings.app.form.serviceRibbonWidth": "Sidebar width", 324 "settings.app.form.serviceRibbonWidth": "Sidebar width",
324 "settings.app.form.showDisabledServices": "Display disabled services tabs", 325 "settings.app.form.showDisabledServices": "Display disabled services tabs",
diff --git a/src/i18n/messages/src/containers/settings/EditSettingsScreen.json b/src/i18n/messages/src/containers/settings/EditSettingsScreen.json
index 089cf5fd1..4c4faf2e3 100644
--- a/src/i18n/messages/src/containers/settings/EditSettingsScreen.json
+++ b/src/i18n/messages/src/containers/settings/EditSettingsScreen.json
@@ -143,15 +143,28 @@
143 } 143 }
144 }, 144 },
145 { 145 {
146 "id": "settings.app.form.searchEngine",
147 "defaultMessage": "!!!Search engine",
148 "file": "src/containers/settings/EditSettingsScreen.js",
149 "start": {
150 "line": 74,
151 "column": 16
152 },
153 "end": {
154 "line": 77,
155 "column": 3
156 }
157 },
158 {
146 "id": "settings.app.form.sentry", 159 "id": "settings.app.form.sentry",
147 "defaultMessage": "!!!Send telemetry data", 160 "defaultMessage": "!!!Send telemetry data",
148 "file": "src/containers/settings/EditSettingsScreen.js", 161 "file": "src/containers/settings/EditSettingsScreen.js",
149 "start": { 162 "start": {
150 "line": 74, 163 "line": 78,
151 "column": 10 164 "column": 10
152 }, 165 },
153 "end": { 166 "end": {
154 "line": 77, 167 "line": 81,
155 "column": 3 168 "column": 3
156 } 169 }
157 }, 170 },
@@ -160,11 +173,11 @@
160 "defaultMessage": "!!!Enable service hibernation", 173 "defaultMessage": "!!!Enable service hibernation",
161 "file": "src/containers/settings/EditSettingsScreen.js", 174 "file": "src/containers/settings/EditSettingsScreen.js",
162 "start": { 175 "start": {
163 "line": 78, 176 "line": 82,
164 "column": 13 177 "column": 13
165 }, 178 },
166 "end": { 179 "end": {
167 "line": 81, 180 "line": 85,
168 "column": 3 181 "column": 3
169 } 182 }
170 }, 183 },
@@ -173,11 +186,11 @@
173 "defaultMessage": "!!!Keep services in hibernation on startup", 186 "defaultMessage": "!!!Keep services in hibernation on startup",
174 "file": "src/containers/settings/EditSettingsScreen.js", 187 "file": "src/containers/settings/EditSettingsScreen.js",
175 "start": { 188 "start": {
176 "line": 82, 189 "line": 86,
177 "column": 22 190 "column": 22
178 }, 191 },
179 "end": { 192 "end": {
180 "line": 85, 193 "line": 89,
181 "column": 3 194 "column": 3
182 } 195 }
183 }, 196 },
@@ -186,11 +199,11 @@
186 "defaultMessage": "!!!Hibernation strategy", 199 "defaultMessage": "!!!Hibernation strategy",
187 "file": "src/containers/settings/EditSettingsScreen.js", 200 "file": "src/containers/settings/EditSettingsScreen.js",
188 "start": { 201 "start": {
189 "line": 86, 202 "line": 90,
190 "column": 23 203 "column": 23
191 }, 204 },
192 "end": { 205 "end": {
193 "line": 89, 206 "line": 93,
194 "column": 3 207 "column": 3
195 } 208 }
196 }, 209 },
@@ -199,11 +212,11 @@
199 "defaultMessage": "!!!Todo Server", 212 "defaultMessage": "!!!Todo Server",
200 "file": "src/containers/settings/EditSettingsScreen.js", 213 "file": "src/containers/settings/EditSettingsScreen.js",
201 "start": { 214 "start": {
202 "line": 90, 215 "line": 94,
203 "column": 24 216 "column": 24
204 }, 217 },
205 "end": { 218 "end": {
206 "line": 93, 219 "line": 97,
207 "column": 3 220 "column": 3
208 } 221 }
209 }, 222 },
@@ -212,11 +225,11 @@
212 "defaultMessage": "!!!Custom TodoServer", 225 "defaultMessage": "!!!Custom TodoServer",
213 "file": "src/containers/settings/EditSettingsScreen.js", 226 "file": "src/containers/settings/EditSettingsScreen.js",
214 "start": { 227 "start": {
215 "line": 94, 228 "line": 98,
216 "column": 20 229 "column": 20
217 }, 230 },
218 "end": { 231 "end": {
219 "line": 97, 232 "line": 101,
220 "column": 3 233 "column": 3
221 } 234 }
222 }, 235 },
@@ -225,11 +238,11 @@
225 "defaultMessage": "!!!Enable Password Lock", 238 "defaultMessage": "!!!Enable Password Lock",
226 "file": "src/containers/settings/EditSettingsScreen.js", 239 "file": "src/containers/settings/EditSettingsScreen.js",
227 "start": { 240 "start": {
228 "line": 98, 241 "line": 102,
229 "column": 14 242 "column": 14
230 }, 243 },
231 "end": { 244 "end": {
232 "line": 101, 245 "line": 105,
233 "column": 3 246 "column": 3
234 } 247 }
235 }, 248 },
@@ -238,11 +251,11 @@
238 "defaultMessage": "!!!Password", 251 "defaultMessage": "!!!Password",
239 "file": "src/containers/settings/EditSettingsScreen.js", 252 "file": "src/containers/settings/EditSettingsScreen.js",
240 "start": { 253 "start": {
241 "line": 102, 254 "line": 106,
242 "column": 16 255 "column": 16
243 }, 256 },
244 "end": { 257 "end": {
245 "line": 105, 258 "line": 109,
246 "column": 3 259 "column": 3
247 } 260 }
248 }, 261 },
@@ -251,11 +264,11 @@
251 "defaultMessage": "!!!Allow using Touch ID to unlock", 264 "defaultMessage": "!!!Allow using Touch ID to unlock",
252 "file": "src/containers/settings/EditSettingsScreen.js", 265 "file": "src/containers/settings/EditSettingsScreen.js",
253 "start": { 266 "start": {
254 "line": 106, 267 "line": 110,
255 "column": 22 268 "column": 22
256 }, 269 },
257 "end": { 270 "end": {
258 "line": 109, 271 "line": 113,
259 "column": 3 272 "column": 3
260 } 273 }
261 }, 274 },
@@ -264,11 +277,11 @@
264 "defaultMessage": "!!!Lock after inactivity", 277 "defaultMessage": "!!!Lock after inactivity",
265 "file": "src/containers/settings/EditSettingsScreen.js", 278 "file": "src/containers/settings/EditSettingsScreen.js",
266 "start": { 279 "start": {
267 "line": 110, 280 "line": 114,
268 "column": 18 281 "column": 18
269 }, 282 },
270 "end": { 283 "end": {
271 "line": 113, 284 "line": 117,
272 "column": 3 285 "column": 3
273 } 286 }
274 }, 287 },
@@ -277,11 +290,11 @@
277 "defaultMessage": "!!!Enable scheduled Do-not-Disturb", 290 "defaultMessage": "!!!Enable scheduled Do-not-Disturb",
278 "file": "src/containers/settings/EditSettingsScreen.js", 291 "file": "src/containers/settings/EditSettingsScreen.js",
279 "start": { 292 "start": {
280 "line": 114, 293 "line": 118,
281 "column": 23 294 "column": 23
282 }, 295 },
283 "end": { 296 "end": {
284 "line": 117, 297 "line": 121,
285 "column": 3 298 "column": 3
286 } 299 }
287 }, 300 },
@@ -290,11 +303,11 @@
290 "defaultMessage": "!!!From", 303 "defaultMessage": "!!!From",
291 "file": "src/containers/settings/EditSettingsScreen.js", 304 "file": "src/containers/settings/EditSettingsScreen.js",
292 "start": { 305 "start": {
293 "line": 118, 306 "line": 122,
294 "column": 21 307 "column": 21
295 }, 308 },
296 "end": { 309 "end": {
297 "line": 121, 310 "line": 125,
298 "column": 3 311 "column": 3
299 } 312 }
300 }, 313 },
@@ -303,11 +316,11 @@
303 "defaultMessage": "!!!To", 316 "defaultMessage": "!!!To",
304 "file": "src/containers/settings/EditSettingsScreen.js", 317 "file": "src/containers/settings/EditSettingsScreen.js",
305 "start": { 318 "start": {
306 "line": 122, 319 "line": 126,
307 "column": 19 320 "column": 19
308 }, 321 },
309 "end": { 322 "end": {
310 "line": 125, 323 "line": 129,
311 "column": 3 324 "column": 3
312 } 325 }
313 }, 326 },
@@ -316,11 +329,11 @@
316 "defaultMessage": "!!!Language", 329 "defaultMessage": "!!!Language",
317 "file": "src/containers/settings/EditSettingsScreen.js", 330 "file": "src/containers/settings/EditSettingsScreen.js",
318 "start": { 331 "start": {
319 "line": 126, 332 "line": 130,
320 "column": 12 333 "column": 12
321 }, 334 },
322 "end": { 335 "end": {
323 "line": 129, 336 "line": 133,
324 "column": 3 337 "column": 3
325 } 338 }
326 }, 339 },
@@ -329,11 +342,11 @@
329 "defaultMessage": "!!!Dark Mode", 342 "defaultMessage": "!!!Dark Mode",
330 "file": "src/containers/settings/EditSettingsScreen.js", 343 "file": "src/containers/settings/EditSettingsScreen.js",
331 "start": { 344 "start": {
332 "line": 130, 345 "line": 134,
333 "column": 12 346 "column": 12
334 }, 347 },
335 "end": { 348 "end": {
336 "line": 133, 349 "line": 137,
337 "column": 3 350 "column": 3
338 } 351 }
339 }, 352 },
@@ -342,11 +355,11 @@
342 "defaultMessage": "!!!Synchronize dark mode with my OS's dark mode setting", 355 "defaultMessage": "!!!Synchronize dark mode with my OS's dark mode setting",
343 "file": "src/containers/settings/EditSettingsScreen.js", 356 "file": "src/containers/settings/EditSettingsScreen.js",
344 "start": { 357 "start": {
345 "line": 134, 358 "line": 138,
346 "column": 21 359 "column": 21
347 }, 360 },
348 "end": { 361 "end": {
349 "line": 137, 362 "line": 141,
350 "column": 3 363 "column": 3
351 } 364 }
352 }, 365 },
@@ -355,11 +368,11 @@
355 "defaultMessage": "!!!Enable universal Dark Mode", 368 "defaultMessage": "!!!Enable universal Dark Mode",
356 "file": "src/containers/settings/EditSettingsScreen.js", 369 "file": "src/containers/settings/EditSettingsScreen.js",
357 "start": { 370 "start": {
358 "line": 138, 371 "line": 142,
359 "column": 21 372 "column": 21
360 }, 373 },
361 "end": { 374 "end": {
362 "line": 141, 375 "line": 145,
363 "column": 3 376 "column": 3
364 } 377 }
365 }, 378 },
@@ -368,11 +381,11 @@
368 "defaultMessage": "!!!Sidebar width", 381 "defaultMessage": "!!!Sidebar width",
369 "file": "src/containers/settings/EditSettingsScreen.js", 382 "file": "src/containers/settings/EditSettingsScreen.js",
370 "start": { 383 "start": {
371 "line": 142, 384 "line": 146,
372 "column": 22 385 "column": 22
373 }, 386 },
374 "end": { 387 "end": {
375 "line": 145, 388 "line": 149,
376 "column": 3 389 "column": 3
377 } 390 }
378 }, 391 },
@@ -381,11 +394,11 @@
381 "defaultMessage": "!!!Service icon size", 394 "defaultMessage": "!!!Service icon size",
382 "file": "src/containers/settings/EditSettingsScreen.js", 395 "file": "src/containers/settings/EditSettingsScreen.js",
383 "start": { 396 "start": {
384 "line": 146, 397 "line": 150,
385 "column": 12 398 "column": 12
386 }, 399 },
387 "end": { 400 "end": {
388 "line": 149, 401 "line": 153,
389 "column": 3 402 "column": 3
390 } 403 }
391 }, 404 },
@@ -394,11 +407,11 @@
394 "defaultMessage": "!!!Use vertical style", 407 "defaultMessage": "!!!Use vertical style",
395 "file": "src/containers/settings/EditSettingsScreen.js", 408 "file": "src/containers/settings/EditSettingsScreen.js",
396 "start": { 409 "start": {
397 "line": 150, 410 "line": 154,
398 "column": 20 411 "column": 20
399 }, 412 },
400 "end": { 413 "end": {
401 "line": 153, 414 "line": 157,
402 "column": 3 415 "column": 3
403 } 416 }
404 }, 417 },
@@ -407,11 +420,11 @@
407 "defaultMessage": "!!!Always show workspace drawer", 420 "defaultMessage": "!!!Always show workspace drawer",
408 "file": "src/containers/settings/EditSettingsScreen.js", 421 "file": "src/containers/settings/EditSettingsScreen.js",
409 "start": { 422 "start": {
410 "line": 154, 423 "line": 158,
411 "column": 24 424 "column": 24
412 }, 425 },
413 "end": { 426 "end": {
414 "line": 157, 427 "line": 161,
415 "column": 3 428 "column": 3
416 } 429 }
417 }, 430 },
@@ -420,11 +433,11 @@
420 "defaultMessage": "!!!Accent color", 433 "defaultMessage": "!!!Accent color",
421 "file": "src/containers/settings/EditSettingsScreen.js", 434 "file": "src/containers/settings/EditSettingsScreen.js",
422 "start": { 435 "start": {
423 "line": 158, 436 "line": 162,
424 "column": 15 437 "column": 15
425 }, 438 },
426 "end": { 439 "end": {
427 "line": 161, 440 "line": 165,
428 "column": 3 441 "column": 3
429 } 442 }
430 }, 443 },
@@ -433,11 +446,11 @@
433 "defaultMessage": "!!!Display disabled services tabs", 446 "defaultMessage": "!!!Display disabled services tabs",
434 "file": "src/containers/settings/EditSettingsScreen.js", 447 "file": "src/containers/settings/EditSettingsScreen.js",
435 "start": { 448 "start": {
436 "line": 162, 449 "line": 166,
437 "column": 24 450 "column": 24
438 }, 451 },
439 "end": { 452 "end": {
440 "line": 165, 453 "line": 169,
441 "column": 3 454 "column": 3
442 } 455 }
443 }, 456 },
@@ -446,11 +459,11 @@
446 "defaultMessage": "!!!Show unread message badge when notifications are disabled", 459 "defaultMessage": "!!!Show unread message badge when notifications are disabled",
447 "file": "src/containers/settings/EditSettingsScreen.js", 460 "file": "src/containers/settings/EditSettingsScreen.js",
448 "start": { 461 "start": {
449 "line": 166, 462 "line": 170,
450 "column": 29 463 "column": 29
451 }, 464 },
452 "end": { 465 "end": {
453 "line": 169, 466 "line": 173,
454 "column": 3 467 "column": 3
455 } 468 }
456 }, 469 },
@@ -459,11 +472,11 @@
459 "defaultMessage": "!!!Show draggable area on window", 472 "defaultMessage": "!!!Show draggable area on window",
460 "file": "src/containers/settings/EditSettingsScreen.js", 473 "file": "src/containers/settings/EditSettingsScreen.js",
461 "start": { 474 "start": {
462 "line": 170, 475 "line": 174,
463 "column": 16 476 "column": 16
464 }, 477 },
465 "end": { 478 "end": {
466 "line": 173, 479 "line": 177,
467 "column": 3 480 "column": 3
468 } 481 }
469 }, 482 },
@@ -472,11 +485,11 @@
472 "defaultMessage": "!!!Enable spell checking", 485 "defaultMessage": "!!!Enable spell checking",
473 "file": "src/containers/settings/EditSettingsScreen.js", 486 "file": "src/containers/settings/EditSettingsScreen.js",
474 "start": { 487 "start": {
475 "line": 174, 488 "line": 178,
476 "column": 23 489 "column": 23
477 }, 490 },
478 "end": { 491 "end": {
479 "line": 177, 492 "line": 181,
480 "column": 3 493 "column": 3
481 } 494 }
482 }, 495 },
@@ -485,11 +498,11 @@
485 "defaultMessage": "!!!Enable GPU Acceleration", 498 "defaultMessage": "!!!Enable GPU Acceleration",
486 "file": "src/containers/settings/EditSettingsScreen.js", 499 "file": "src/containers/settings/EditSettingsScreen.js",
487 "start": { 500 "start": {
488 "line": 178, 501 "line": 182,
489 "column": 25 502 "column": 25
490 }, 503 },
491 "end": { 504 "end": {
492 "line": 181, 505 "line": 185,
493 "column": 3 506 "column": 3
494 } 507 }
495 }, 508 },
@@ -498,11 +511,11 @@
498 "defaultMessage": "!!!Include beta versions", 511 "defaultMessage": "!!!Include beta versions",
499 "file": "src/containers/settings/EditSettingsScreen.js", 512 "file": "src/containers/settings/EditSettingsScreen.js",
500 "start": { 513 "start": {
501 "line": 182, 514 "line": 186,
502 "column": 8 515 "column": 8
503 }, 516 },
504 "end": { 517 "end": {
505 "line": 185, 518 "line": 189,
506 "column": 3 519 "column": 3
507 } 520 }
508 }, 521 },
@@ -511,11 +524,11 @@
511 "defaultMessage": "!!!Enable updates", 524 "defaultMessage": "!!!Enable updates",
512 "file": "src/containers/settings/EditSettingsScreen.js", 525 "file": "src/containers/settings/EditSettingsScreen.js",
513 "start": { 526 "start": {
514 "line": 186, 527 "line": 190,
515 "column": 20 528 "column": 20
516 }, 529 },
517 "end": { 530 "end": {
518 "line": 189, 531 "line": 193,
519 "column": 3 532 "column": 3
520 } 533 }
521 }, 534 },
@@ -524,11 +537,11 @@
524 "defaultMessage": "!!!Enable Franz Todos", 537 "defaultMessage": "!!!Enable Franz Todos",
525 "file": "src/containers/settings/EditSettingsScreen.js", 538 "file": "src/containers/settings/EditSettingsScreen.js",
526 "start": { 539 "start": {
527 "line": 190, 540 "line": 194,
528 "column": 15 541 "column": 15
529 }, 542 },
530 "end": { 543 "end": {
531 "line": 193, 544 "line": 197,
532 "column": 3 545 "column": 3
533 } 546 }
534 }, 547 },
@@ -537,11 +550,11 @@
537 "defaultMessage": "!!!Keep all workspaces loaded", 550 "defaultMessage": "!!!Keep all workspaces loaded",
538 "file": "src/containers/settings/EditSettingsScreen.js", 551 "file": "src/containers/settings/EditSettingsScreen.js",
539 "start": { 552 "start": {
540 "line": 194, 553 "line": 198,
541 "column": 27 554 "column": 27
542 }, 555 },
543 "end": { 556 "end": {
544 "line": 197, 557 "line": 201,
545 "column": 3 558 "column": 3
546 } 559 }
547 } 560 }
diff --git a/src/stores/ServicesStore.js b/src/stores/ServicesStore.js
index 21ed0a234..afb370341 100644
--- a/src/stores/ServicesStore.js
+++ b/src/stores/ServicesStore.js
@@ -130,6 +130,11 @@ export default class ServicesStore extends Store {
130 () => this.stores.settings.app.universalDarkMode, 130 () => this.stores.settings.app.universalDarkMode,
131 () => this._shareSettingsWithServiceProcess(), 131 () => this._shareSettingsWithServiceProcess(),
132 ); 132 );
133
134 reaction(
135 () => this.stores.settings.app.searchEngine,
136 () => this._shareSettingsWithServiceProcess(),
137 );
133 } 138 }
134 139
135 initialize() { 140 initialize() {
diff --git a/src/stores/SettingsStore.js b/src/stores/SettingsStore.js
index 83f6f9c89..ced286052 100644
--- a/src/stores/SettingsStore.js
+++ b/src/stores/SettingsStore.js
@@ -3,7 +3,9 @@ import {
3 action, computed, observable, reaction, 3 action, computed, observable, reaction,
4} from 'mobx'; 4} from 'mobx';
5import localStorage from 'mobx-localstorage'; 5import localStorage from 'mobx-localstorage';
6import { DEFAULT_APP_SETTINGS, FILE_SYSTEM_SETTINGS_TYPES, LOCAL_SERVER } from '../config'; 6import {
7 DEFAULT_APP_SETTINGS, FILE_SYSTEM_SETTINGS_TYPES, LOCAL_SERVER, SEARCH_ENGINE_DDG,
8} from '../config';
7import { API } from '../environment'; 9import { API } from '../environment';
8import { getLocale } from '../helpers/i18n-helpers'; 10import { getLocale } from '../helpers/i18n-helpers';
9import { hash } from '../helpers/password-helpers'; 11import { hash } from '../helpers/password-helpers';
@@ -301,5 +303,21 @@ export default class SettingsStore extends Store {
301 303
302 debug('Migrated updates settings'); 304 debug('Migrated updates settings');
303 } 305 }
306
307 if (!this.all.migration['5.6.0-beta.6-settings']) {
308 this.actions.settings.update({
309 type: 'app',
310 data: {
311 searchEngine: SEARCH_ENGINE_DDG,
312 },
313 });
314
315 this.actions.settings.update({
316 type: 'migration',
317 data: {
318 '5.6.0-beta.6-settings': true,
319 },
320 });
321 }
304 } 322 }
305} 323}
diff --git a/src/webview/contextMenu.js b/src/webview/contextMenu.js
index 679bf5aaa..5858e89ef 100644
--- a/src/webview/contextMenu.js
+++ b/src/webview/contextMenu.js
@@ -3,7 +3,7 @@ import ContextMenuBuilder from './contextMenuBuilder';
3 3
4const webContents = remote.getCurrentWebContents(); 4const webContents = remote.getCurrentWebContents();
5 5
6export default async function setupContextMenu(isSpellcheckEnabled, getDefaultSpellcheckerLanguage, getSpellcheckerLanguage) { 6export default async function setupContextMenu(isSpellcheckEnabled, getDefaultSpellcheckerLanguage, getSpellcheckerLanguage, getSearchEngine) {
7 const contextMenuBuilder = new ContextMenuBuilder( 7 const contextMenuBuilder = new ContextMenuBuilder(
8 webContents, 8 webContents,
9 ); 9 );
@@ -11,7 +11,7 @@ export default async function setupContextMenu(isSpellcheckEnabled, getDefaultSp
11 webContents.on('context-menu', (e, props) => { 11 webContents.on('context-menu', (e, props) => {
12 // TODO?: e.preventDefault(); 12 // TODO?: e.preventDefault();
13 contextMenuBuilder.showPopupMenu( 13 contextMenuBuilder.showPopupMenu(
14 props, 14 { ...props, searchEngine: getSearchEngine() },
15 isSpellcheckEnabled(), 15 isSpellcheckEnabled(),
16 getDefaultSpellcheckerLanguage(), 16 getDefaultSpellcheckerLanguage(),
17 getSpellcheckerLanguage(), 17 getSpellcheckerLanguage(),
diff --git a/src/webview/contextMenuBuilder.js b/src/webview/contextMenuBuilder.js
index b5095915c..49c4550a9 100644
--- a/src/webview/contextMenuBuilder.js
+++ b/src/webview/contextMenuBuilder.js
@@ -8,6 +8,8 @@
8 */ 8 */
9import { isMac } from '../environment'; 9import { isMac } from '../environment';
10 10
11import { SEARCH_ENGINE_NAMES, SEARCH_ENGINE_URLS } from '../config';
12
11const { 13const {
12 clipboard, nativeImage, remote, shell, 14 clipboard, nativeImage, remote, shell,
13} = require('electron'); 15} = require('electron');
@@ -27,7 +29,7 @@ const contextMenuStringTable = {
27 cut: () => 'Cut', 29 cut: () => 'Cut',
28 copy: () => 'Copy', 30 copy: () => 'Copy',
29 paste: () => 'Paste', 31 paste: () => 'Paste',
30 searchGoogle: () => 'Search with Google', 32 searchWith: ({ searchEngine }) => `Search with ${searchEngine}`,
31 openLinkUrl: () => 'Open Link', 33 openLinkUrl: () => 'Open Link',
32 openLinkInFerdiUrl: () => 'Open Link in Ferdi', 34 openLinkInFerdiUrl: () => 'Open Link in Ferdi',
33 openInBrowser: () => 'Open in Browser', 35 openInBrowser: () => 'Open in Browser',
@@ -286,10 +288,9 @@ module.exports = class ContextMenuBuilder {
286 } 288 }
287 289
288 const search = new MenuItem({ 290 const search = new MenuItem({
289 label: this.stringTable.searchGoogle(), 291 label: this.stringTable.searchWith({ searchEngine: SEARCH_ENGINE_NAMES[menuInfo.searchEngine] }),
290 click: () => { 292 click: () => {
291 const url = `https://www.google.com/search?q=${encodeURIComponent(menuInfo.selectionText)}`; 293 const url = SEARCH_ENGINE_URLS[menuInfo.searchEngine]({ searchTerm: encodeURIComponent(menuInfo.selectionText) });
292
293 shell.openExternal(url); 294 shell.openExternal(url);
294 }, 295 },
295 }); 296 });
diff --git a/src/webview/recipe.js b/src/webview/recipe.js
index 2319e8e2a..2701603cb 100644
--- a/src/webview/recipe.js
+++ b/src/webview/recipe.js
@@ -152,6 +152,7 @@ class RecipeController {
152 () => this.settings.app.enableSpellchecking, 152 () => this.settings.app.enableSpellchecking,
153 () => this.settings.app.spellcheckerLanguage, 153 () => this.settings.app.spellcheckerLanguage,
154 () => this.spellcheckerLanguage, 154 () => this.spellcheckerLanguage,
155 () => this.settings.app.searchEngine,
155 ); 156 );
156 157
157 autorun(() => this.update()); 158 autorun(() => this.update());
@@ -230,6 +231,7 @@ class RecipeController {
230 debug('System spellcheckerLanguage', this.settings.app.spellcheckerLanguage); 231 debug('System spellcheckerLanguage', this.settings.app.spellcheckerLanguage);
231 debug('Service spellcheckerLanguage', this.settings.service.spellcheckerLanguage); 232 debug('Service spellcheckerLanguage', this.settings.service.spellcheckerLanguage);
232 debug('darkReaderSettigs', this.settings.service.darkReaderSettings); 233 debug('darkReaderSettigs', this.settings.service.darkReaderSettings);
234 debug('searchEngine', this.settings.app.searchEngine);
233 235
234 if (this.userscript && this.userscript.internal_setSettings) { 236 if (this.userscript && this.userscript.internal_setSettings) {
235 this.userscript.internal_setSettings(this.settings); 237 this.userscript.internal_setSettings(this.settings);