diff --git a/browser/main/Detail/MarkdownNoteDetail.js b/browser/main/Detail/MarkdownNoteDetail.js index 70de80a9..12553d04 100755 --- a/browser/main/Detail/MarkdownNoteDetail.js +++ b/browser/main/Detail/MarkdownNoteDetail.js @@ -23,7 +23,6 @@ import RestoreButton from './RestoreButton' import PermanentDeleteButton from './PermanentDeleteButton' import InfoButton from './InfoButton' import ToggleModeButton from './ToggleModeButton' -import ToggleStackDirectionButton from './ToggleStackDirectionButton' import InfoPanel from './InfoPanel' import InfoPanelTrashed from './InfoPanelTrashed' import { formatDate } from 'browser/lib/date-formatter' @@ -60,6 +59,7 @@ class MarkdownNoteDetail extends React.Component { this.toggleLockButton = this.handleToggleLockButton.bind(this) this.generateToc = this.handleGenerateToc.bind(this) this.handleUpdateContent = this.handleUpdateContent.bind(this) + this.handleSwitchStackDirection = this.handleSwitchStackDirection.bind(this) } focus() { @@ -67,6 +67,7 @@ class MarkdownNoteDetail extends React.Component { } componentDidMount() { + ee.on('editor:orientation', this.handleSwitchStackDirection) ee.on('topbar:togglelockbutton', this.toggleLockButton) ee.on('topbar:toggledirectionbutton', () => this.handleSwitchDirection()) ee.on('topbar:togglemodebutton', () => { @@ -393,13 +394,16 @@ class MarkdownNoteDetail extends React.Component { ) } - handleSwitchStackDirection(type) { - this.setState({ isStacking: type }, () => { - this.focus() - const newConfig = Object.assign({}, this.props.config) - newConfig.ui.isStacking = type - ConfigManager.set(newConfig) - }) + handleSwitchStackDirection() { + this.setState( + prevState => ({ isStacking: !prevState.isStacking }), + () => { + this.focus() + const newConfig = Object.assign({}, this.props.config) + newConfig.ui.isStacking = this.state.isStacking + ConfigManager.set(newConfig) + } + ) } handleSwitchDirection() { @@ -476,7 +480,7 @@ class MarkdownNoteDetail extends React.Component { render() { const { data, dispatch, location, config } = this.props - const { note, editorType, isStacking } = this.state + const { note, editorType } = this.state const storageKey = note.storage const folderKey = note.folder @@ -553,12 +557,6 @@ class MarkdownNoteDetail extends React.Component { />
- {editorType === 'SPLIT' ? ( - this.handleSwitchStackDirection(e)} - isStacking={isStacking} - /> - ) : null} this.handleSwitchMode(e)} editorType={editorType} diff --git a/browser/main/Detail/ToggleStackDirectionButton.js b/browser/main/Detail/ToggleStackDirectionButton.js deleted file mode 100644 index f3a0ac48..00000000 --- a/browser/main/Detail/ToggleStackDirectionButton.js +++ /dev/null @@ -1,32 +0,0 @@ -import PropTypes from 'prop-types' -import React from 'react' -import CSSModules from 'browser/lib/CSSModules' -import styles from './ToggleStackDirectionButton.styl' -import i18n from 'browser/lib/i18n' - -const ToggleStackDirectionButton = ({ onClick, isStacking }) => { - const imgSrc = isStacking - ? '../resources/icon/icon-panel-split-vertical.svg' - : '../resources/icon/icon-panel-split-horizontal.svg' - const text = isStacking - ? i18n.__('Split Panels Horizontally') - : i18n.__('Split Panels Vertically') - return ( - - ) -} - -ToggleStackDirectionButton.propTypes = { - onClick: PropTypes.func.isRequired, - isStacking: PropTypes.bool.isRequired -} - -export default CSSModules(ToggleStackDirectionButton, styles) diff --git a/browser/main/Detail/ToggleStackDirectionButton.styl b/browser/main/Detail/ToggleStackDirectionButton.styl deleted file mode 100644 index 9d8274f3..00000000 --- a/browser/main/Detail/ToggleStackDirectionButton.styl +++ /dev/null @@ -1,31 +0,0 @@ -.control-splitPanelDirection - topBarButtonRight() - position relative - .iconInfo - width 13px - height 13px - &:hover .tooltip - opacity 1 - -.tooltip - tooltip() - position absolute - pointer-events none - top 100% - left 50% - transform translateX(-50%) - white-space nowrap - z-index 200 - padding 5px - line-height normal - border-radius 2px - opacity 0 - transition 0.1s - -.tooltip:lang(ja) - @extend .tooltip - right 35px - -body[data-theme="dark"] - .control-splitPanelDirection - topBarButtonDark() \ No newline at end of file diff --git a/lib/main-menu.js b/lib/main-menu.js index 7caef0bf..0c91cf1f 100644 --- a/lib/main-menu.js +++ b/lib/main-menu.js @@ -314,6 +314,12 @@ const view = { mainWindow.webContents.send('editor:fullscreen') } }, + { + label: 'Toggle Editor Orientation', + click() { + mainWindow.webContents.send('editor:orientation') + } + }, { type: 'separator' },