From fbabdd7bdcea366c16d99ededfc77e7f67423a70 Mon Sep 17 00:00:00 2001 From: Lin Onetwo Date: Wed, 15 Jul 2020 21:59:41 +0800 Subject: [PATCH] Add option to show/hide keyboard shortcut hints on sidebar (#305) --- package.json | 4 +-- public/libs/preferences.js | 1 + src/components/dialog-preferences/index.js | 19 +++++++++++ src/components/main/workspace-selector.js | 39 +++++++++++++++++----- 4 files changed, 52 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 232194f5..5b1a56fd 100755 --- a/package.json +++ b/package.json @@ -29,10 +29,10 @@ "blueimp-md5": "2.16.0", "cheerio": "1.0.0-rc.3", "classnames": "2.2.6", - "darkreader": "4.9.14", "date-fns": "2.14.0", + "darkreader": "4.9.15", "download": "8.0.0", - "electron-context-menu": "2.1.0", + "electron-context-menu": "2.2.0", "electron-is-dev": "1.2.0", "electron-settings": "4.0.2", "electron-updater": "4.3.3", diff --git a/public/libs/preferences.js b/public/libs/preferences.js index 78167cc3..0ae3521f 100755 --- a/public/libs/preferences.js +++ b/public/libs/preferences.js @@ -58,6 +58,7 @@ const defaultPreferences = { rememberLastPageVisited: false, shareWorkspaceBrowsingData: false, sidebar: true, + sidebarShortcutHints: true, spellcheck: true, spellcheckLanguages: ['en-US'], swipeToNavigate: true, diff --git a/src/components/dialog-preferences/index.js b/src/components/dialog-preferences/index.js index 12492ac3..54c36c0f 100644 --- a/src/components/dialog-preferences/index.js +++ b/src/components/dialog-preferences/index.js @@ -202,6 +202,7 @@ const Preferences = ({ rememberLastPageVisited, shareWorkspaceBrowsingData, sidebar, + sidebarShortcutHints, spellcheck, spellcheckLanguages, swipeToNavigate, @@ -355,6 +356,22 @@ const Preferences = ({ + + + + { + requestSetPreference('sidebarShortcutHints', e.target.checked); + }} + /> + + + ({ rememberLastPageVisited: state.preferences.rememberLastPageVisited, shareWorkspaceBrowsingData: state.preferences.shareWorkspaceBrowsingData, sidebar: state.preferences.sidebar, + sidebarShortcutHints: state.preferences.sidebarShortcutHints, spellcheck: state.preferences.spellcheck, spellcheckLanguages: state.preferences.spellcheckLanguages, swipeToNavigate: state.preferences.swipeToNavigate, diff --git a/src/components/main/workspace-selector.js b/src/components/main/workspace-selector.js index d25c4851..d3c74f19 100644 --- a/src/components/main/workspace-selector.js +++ b/src/components/main/workspace-selector.js @@ -37,18 +37,31 @@ const styles = (theme) => ({ opacity: 1, }, avatar: { - height: 32, - width: 32, + height: 36, + width: 36, background: theme.palette.type === 'dark' ? theme.palette.common.black : theme.palette.common.white, borderRadius: 4, color: theme.palette.getContrastText(theme.palette.type === 'dark' ? theme.palette.common.black : theme.palette.common.white), - lineHeight: '32px', + lineHeight: '36px', textAlign: 'center', fontWeight: 500, textTransform: 'uppercase', border: theme.palette.type === 'dark' ? 'none' : '1px solid rgba(0, 0, 0, 0.12)', overflow: 'hidden', }, + avatarLarge: { + height: 44, + width: 44, + lineHeight: '44px', + }, + avatarPicture: { + height: 36, + width: 36, + }, + avatarPictureLarge: { + height: 44, + width: 44, + }, transparentAvatar: { background: 'transparent', border: 'none', @@ -58,10 +71,6 @@ const styles = (theme) => ({ background: theme.palette.type === 'dark' ? theme.palette.common.white : theme.palette.common.black, color: theme.palette.getContrastText(theme.palette.type === 'dark' ? theme.palette.common.white : theme.palette.common.black), }, - avatarPicture: { - height: '100%', - width: '100%', - }, shortcutText: { marginTop: 2, marginBottom: 0, @@ -85,6 +94,7 @@ const WorkspaceSelector = ({ onContextMenu, order, picturePath, + sidebarShortcutHints, transparentBackground, }) => (
{id !== 'add' ? ( - Icon + Icon ) : '+'}
- {(id === 'add' || order < 9) && ( + {sidebarShortcutHints && (id === 'add' || order < 9) && (

{id === 'add' ? 'Add' : `${window.process.platform === 'darwin' ? '⌘' : 'Ctrl'} + ${order + 1}`}

)} @@ -138,11 +157,13 @@ WorkspaceSelector.propTypes = { onContextMenu: PropTypes.func, order: PropTypes.number, picturePath: PropTypes.string, + sidebarShortcutHints: PropTypes.bool.isRequired, transparentBackground: PropTypes.bool, }; const mapStateToProps = (state, ownProps) => ({ badgeCount: state.workspaceMetas[ownProps.id] ? state.workspaceMetas[ownProps.id].badgeCount : 0, + sidebarShortcutHints: state.preferences.sidebarShortcutHints, }); export default connectComponent(