From da0222f2130ceec48889e7671a6a8ed6f4e58b0b Mon Sep 17 00:00:00 2001 From: Rokt33r Date: Tue, 19 Jan 2016 18:58:27 +0900 Subject: [PATCH] esc to show preview when rightclick to toggle set --- browser/components/CodeEditor.js | 6 +++++- browser/main/HomePage/ArticleDetail/ArticleEditor.js | 1 + browser/main/HomePage/ArticleDetail/index.js | 6 ++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/browser/components/CodeEditor.js b/browser/components/CodeEditor.js index 843d644a..86dbf5ec 100644 --- a/browser/components/CodeEditor.js +++ b/browser/components/CodeEditor.js @@ -87,7 +87,11 @@ export default class CodeEditor extends React.Component { name: 'Focus title', bindKey: {win: 'Esc', mac: 'Esc'}, exec: function (editor, e) { - remote.getCurrentWebContents().send('list-focus') + let currentWindow = remote.getCurrentWebContents() + if (config['switch-preview'] === 'rightclick') { + currentWindow.send('detail-preview') + } + currentWindow.send('list-focus') }, readOnly: true }) diff --git a/browser/main/HomePage/ArticleDetail/ArticleEditor.js b/browser/main/HomePage/ArticleDetail/ArticleEditor.js index b106104f..1f1b2070 100644 --- a/browser/main/HomePage/ArticleDetail/ArticleEditor.js +++ b/browser/main/HomePage/ArticleDetail/ArticleEditor.js @@ -65,6 +65,7 @@ export default class ArticleEditor extends React.Component { } switchPreviewMode (isTemporary = false) { + if (this.props.article.mode !== 'markdown') return true let cursorPosition = this.refs.editor.getCursorPosition() let firstVisibleRow = this.refs.editor.getFirstVisibleRow() this.setState({ diff --git a/browser/main/HomePage/ArticleDetail/index.js b/browser/main/HomePage/ArticleDetail/index.js index 59fda2c2..21b78fc5 100644 --- a/browser/main/HomePage/ArticleDetail/index.js +++ b/browser/main/HomePage/ArticleDetail/index.js @@ -102,6 +102,10 @@ export default class ArticleDetail extends React.Component { if (isModalOpen()) return true if (this.refs.editor) this.refs.editor.switchEditMode() } + this.previewHandler = e => { + if (isModalOpen()) return true + if (this.refs.editor) this.refs.editor.switchPreviewMode() + } this.state = { article: Object.assign({content: ''}, props.activeArticle), @@ -120,6 +124,7 @@ export default class ArticleDetail extends React.Component { ipc.on('detail-uncache', this.uncacheHandler) ipc.on('detail-title', this.titleHandler) ipc.on('detail-edit', this.editHandler) + ipc.on('detail-preview', this.previewHandler) } componentWillUnmount () { @@ -130,6 +135,7 @@ export default class ArticleDetail extends React.Component { ipc.removeListener('detail-uncache', this.uncacheHandler) ipc.removeListener('detail-title', this.titleHandler) ipc.removeListener('detail-edit', this.editHandler) + ipc.removeListener('detail-preview', this.previewHandler) } componentDidUpdate (prevProps, prevState) {