aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Bennett <hello@vantezzen.io>2020-04-05 09:33:23 +0200
committerLibravatar GitHub <noreply@github.com>2020-04-05 08:33:23 +0100
commit5e53776f9b4f932b2eedebcd3b23ec95a66bf110 (patch)
tree421b301b3378a93926940dc798fcf88a323a1b55
parent#490 Add option to start Ferdi minimized (#534) (diff)
downloadferdium-app-5e53776f9b4f932b2eedebcd3b23ec95a66bf110.tar.gz
ferdium-app-5e53776f9b4f932b2eedebcd3b23ec95a66bf110.tar.zst
ferdium-app-5e53776f9b4f932b2eedebcd3b23ec95a66bf110.zip
#304 Add option to show draggable window area (#532)
* #304 Add option to show draggable window area * Address merge conflicts * Re-apply npm run manage-translations Co-authored-by: Amine Mouafik <amine@mouafik.fr>
-rw-r--r--src/components/settings/settings/EditSettingsForm.js2
-rw-r--r--src/config.js1
-rw-r--r--src/containers/settings/EditSettingsScreen.js10
-rw-r--r--src/features/appearance/index.js29
-rw-r--r--src/i18n/locales/defaultMessages.json13
-rw-r--r--src/i18n/locales/en-US.json4
-rw-r--r--src/i18n/locales/whitelist_en-US.json3
7 files changed, 59 insertions, 3 deletions
diff --git a/src/components/settings/settings/EditSettingsForm.js b/src/components/settings/settings/EditSettingsForm.js
index 1a36cedb5..055831e3b 100644
--- a/src/components/settings/settings/EditSettingsForm.js
+++ b/src/components/settings/settings/EditSettingsForm.js
@@ -401,6 +401,8 @@ export default @observer class EditSettingsForm extends Component {
401 <Toggle field={form.$('showDisabledServices')} /> 401 <Toggle field={form.$('showDisabledServices')} />
402 <Toggle field={form.$('showMessageBadgeWhenMuted')} /> 402 <Toggle field={form.$('showMessageBadgeWhenMuted')} />
403 403
404 {isMac && <Toggle field={form.$('showDragArea')} />}
405
404 <Hr /> 406 <Hr />
405 407
406 {isMac && <Toggle field={form.$('adaptableDarkMode')} />} 408 {isMac && <Toggle field={form.$('adaptableDarkMode')} />}
diff --git a/src/config.js b/src/config.js
index f617555df..cfb9a3658 100644
--- a/src/config.js
+++ b/src/config.js
@@ -95,6 +95,7 @@ export const DEFAULT_APP_SETTINGS = {
95 privateNotifications: false, 95 privateNotifications: false,
96 showDisabledServices: true, 96 showDisabledServices: true,
97 showMessageBadgeWhenMuted: true, 97 showMessageBadgeWhenMuted: true,
98 showDragArea: false,
98 enableSpellchecking: true, 99 enableSpellchecking: true,
99 spellcheckerLanguage: 'en-us', 100 spellcheckerLanguage: 'en-us',
100 darkMode: process.platform === 'darwin' ? nativeTheme.shouldUseDarkColors : false, // We can't use refs from `./environment` at this time 101 darkMode: process.platform === 'darwin' ? nativeTheme.shouldUseDarkColors : false, // We can't use refs from `./environment` at this time
diff --git a/src/containers/settings/EditSettingsScreen.js b/src/containers/settings/EditSettingsScreen.js
index 7bf721bb0..fd6b334f1 100644
--- a/src/containers/settings/EditSettingsScreen.js
+++ b/src/containers/settings/EditSettingsScreen.js
@@ -146,6 +146,10 @@ const messages = defineMessages({
146 id: 'settings.app.form.showMessagesBadgesWhenMuted', 146 id: 'settings.app.form.showMessagesBadgesWhenMuted',
147 defaultMessage: '!!!Show unread message badge when notifications are disabled', 147 defaultMessage: '!!!Show unread message badge when notifications are disabled',
148 }, 148 },
149 showDragArea: {
150 id: 'settings.app.form.showDragArea',
151 defaultMessage: '!!!Show draggable area on window',
152 },
149 enableSpellchecking: { 153 enableSpellchecking: {
150 id: 'settings.app.form.enableSpellchecking', 154 id: 'settings.app.form.enableSpellchecking',
151 defaultMessage: '!!!Enable spell checking', 155 defaultMessage: '!!!Enable spell checking',
@@ -223,6 +227,7 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e
223 iconSize: settingsData.iconSize, 227 iconSize: settingsData.iconSize,
224 accentColor: settingsData.accentColor, 228 accentColor: settingsData.accentColor,
225 showMessageBadgeWhenMuted: settingsData.showMessageBadgeWhenMuted, 229 showMessageBadgeWhenMuted: settingsData.showMessageBadgeWhenMuted,
230 showDragArea: settingsData.showDragArea,
226 enableSpellchecking: settingsData.enableSpellchecking, 231 enableSpellchecking: settingsData.enableSpellchecking,
227 spellcheckerLanguage: settingsData.spellcheckerLanguage, 232 spellcheckerLanguage: settingsData.spellcheckerLanguage,
228 beta: settingsData.beta, // we need this info in the main process as well 233 beta: settingsData.beta, // we need this info in the main process as well
@@ -422,6 +427,11 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e
422 value: settings.all.app.showMessageBadgeWhenMuted, 427 value: settings.all.app.showMessageBadgeWhenMuted,
423 default: DEFAULT_APP_SETTINGS.showMessageBadgeWhenMuted, 428 default: DEFAULT_APP_SETTINGS.showMessageBadgeWhenMuted,
424 }, 429 },
430 showDragArea: {
431 label: intl.formatMessage(messages.showDragArea),
432 value: settings.all.app.showDragArea,
433 default: DEFAULT_APP_SETTINGS.showDragArea,
434 },
425 enableSpellchecking: { 435 enableSpellchecking: {
426 label: intl.formatMessage(messages.enableSpellchecking), 436 label: intl.formatMessage(messages.enableSpellchecking),
427 value: !this.props.stores.user.data.isPremium && !spellcheckerConfig.isIncludedInCurrentPlan ? false : settings.all.app.enableSpellchecking, 437 value: !this.props.stores.user.data.isPremium && !spellcheckerConfig.isIncludedInCurrentPlan ? false : settings.all.app.enableSpellchecking,
diff --git a/src/features/appearance/index.js b/src/features/appearance/index.js
index 6dcdfc986..a14d1461e 100644
--- a/src/features/appearance/index.js
+++ b/src/features/appearance/index.js
@@ -63,6 +63,22 @@ function generateServiceRibbonWidthStyle(widthStr, iconSizeStr) {
63 `; 63 `;
64} 64}
65 65
66function generateShowDragAreaStyle(accentColor) {
67 return `
68 .sidebar {
69 padding-top: 0px !important;
70 }
71 .window-draggable {
72 position: initial;
73 background-color: ${accentColor};
74 }
75 #root {
76 /** Remove 22px from app height, otherwise the page will be to high */
77 height: calc(100% - 22px);
78 }
79 `;
80}
81
66function generateStyle(settings) { 82function generateStyle(settings) {
67 let style = ''; 83 let style = '';
68 84
@@ -70,6 +86,7 @@ function generateStyle(settings) {
70 accentColor, 86 accentColor,
71 serviceRibbonWidth, 87 serviceRibbonWidth,
72 iconSize, 88 iconSize,
89 showDragArea,
73 } = settings; 90 } = settings;
74 91
75 if (accentColor !== DEFAULT_APP_SETTINGS.accentColor) { 92 if (accentColor !== DEFAULT_APP_SETTINGS.accentColor) {
@@ -79,6 +96,9 @@ function generateStyle(settings) {
79 || iconSize !== DEFAULT_APP_SETTINGS.iconSize) { 96 || iconSize !== DEFAULT_APP_SETTINGS.iconSize) {
80 style += generateServiceRibbonWidthStyle(serviceRibbonWidth, iconSize); 97 style += generateServiceRibbonWidthStyle(serviceRibbonWidth, iconSize);
81 } 98 }
99 if (showDragArea) {
100 style += generateShowDragAreaStyle(accentColor);
101 }
82 102
83 return style; 103 return style;
84} 104}
@@ -121,4 +141,13 @@ export default function initAppearance(stores) {
121 updateStyle(settings.all.app); 141 updateStyle(settings.all.app);
122 }, 142 },
123 ); 143 );
144 // Update draggable area
145 reaction(
146 () => (
147 settings.all.app.showDragArea
148 ),
149 () => {
150 updateStyle(settings.all.app);
151 },
152 );
124} 153}
diff --git a/src/i18n/locales/defaultMessages.json b/src/i18n/locales/defaultMessages.json
index e6b457515..ea72edbd5 100644
--- a/src/i18n/locales/defaultMessages.json
+++ b/src/i18n/locales/defaultMessages.json
@@ -6725,6 +6725,19 @@
6725 } 6725 }
6726 }, 6726 },
6727 { 6727 {
6728 "defaultMessage": "!!!Toggle Dark Mode",
6729 "end": {
6730 "column": 3,
6731 "line": 117
6732 },
6733 "file": "src/lib/Menu.js",
6734 "id": "menu.view.toggleDarkMode",
6735 "start": {
6736 "column": 18,
6737 "line": 114
6738 }
6739 },
6740 {
6728 "defaultMessage": "!!!Toggle Todos Developer Tools", 6741 "defaultMessage": "!!!Toggle Todos Developer Tools",
6729 "end": { 6742 "end": {
6730 "column": 3, 6743 "column": 3,
diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json
index feb6ef124..14353e74e 100644
--- a/src/i18n/locales/en-US.json
+++ b/src/i18n/locales/en-US.json
@@ -157,8 +157,8 @@
157 "menu.view.reloadFranz": "Reload Ferdi", 157 "menu.view.reloadFranz": "Reload Ferdi",
158 "menu.view.reloadService": "Reload Service", 158 "menu.view.reloadService": "Reload Service",
159 "menu.view.resetZoom": "Actual Size", 159 "menu.view.resetZoom": "Actual Size",
160 "menu.view.toggleDevTools": "Toggle Developer Tools",
161 "menu.view.toggleDarkMode": "Toggle Dark Mode", 160 "menu.view.toggleDarkMode": "Toggle Dark Mode",
161 "menu.view.toggleDevTools": "Toggle Developer Tools",
162 "menu.view.toggleFullScreen": "Toggle Full Screen", 162 "menu.view.toggleFullScreen": "Toggle Full Screen",
163 "menu.view.toggleServiceDevTools": "Toggle Service Developer Tools", 163 "menu.view.toggleServiceDevTools": "Toggle Service Developer Tools",
164 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools", 164 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
@@ -512,4 +512,4 @@
512 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>", 512 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
513 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings", 513 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
514 "workspaces.switchingIndicator.switchingTo": "Switching to" 514 "workspaces.switchingIndicator.switchingTo": "Switching to"
515} 515} \ No newline at end of file
diff --git a/src/i18n/locales/whitelist_en-US.json b/src/i18n/locales/whitelist_en-US.json
index fe51488c7..32960f8ce 100644
--- a/src/i18n/locales/whitelist_en-US.json
+++ b/src/i18n/locales/whitelist_en-US.json
@@ -1 +1,2 @@
1[] 1[
2] \ No newline at end of file