From 03bb124cce7acf3a245baca1c109e5136979162e Mon Sep 17 00:00:00 2001 From: Shin'ya Ueoka Date: Thu, 11 Jan 2018 21:52:07 +0900 Subject: support custom chars as hintchars --- src/content/components/top-content/follow-controller.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/content/components/top-content') diff --git a/src/content/components/top-content/follow-controller.js b/src/content/components/top-content/follow-controller.js index d373177..1e7f3cd 100644 --- a/src/content/components/top-content/follow-controller.js +++ b/src/content/components/top-content/follow-controller.js @@ -1,8 +1,7 @@ import * as followControllerActions from 'content/actions/follow-controller'; import messages from 'shared/messages'; import HintKeyProducer from 'content/hint-key-producer'; - -const DEFAULT_HINT_CHARSET = 'abcdefghijklmnopqrstuvwxyz'; +import * as properties from 'shared/settings/properties'; const broadcastMessage = (win, message) => { let json = JSON.stringify(message); @@ -84,7 +83,7 @@ export default class FollowController { this.store.dispatch(followControllerActions.backspace()); break; default: - if (DEFAULT_HINT_CHARSET.includes(key)) { + if (this.hintchars().includes(key)) { this.store.dispatch(followControllerActions.keyPress(key)); } break; @@ -93,7 +92,7 @@ export default class FollowController { } count() { - this.producer = new HintKeyProducer(DEFAULT_HINT_CHARSET); + this.producer = new HintKeyProducer(this.hintchars()); let doc = this.win.document; let viewWidth = this.win.innerWidth || doc.documentElement.clientWidth; let viewHeight = this.win.innerHeight || doc.documentElement.clientHeight; @@ -135,4 +134,9 @@ export default class FollowController { type: messages.FOLLOW_REMOVE_HINTS, }); } + + hintchars() { + return this.store.getState().setting.properties.hintchars || + properties.defaults.hintchars; + } } -- cgit v1.2.3 From 8cc7d472dff5882e4379869345667dd4ba53ca45 Mon Sep 17 00:00:00 2001 From: Shin'ya Ueoka Date: Mon, 26 Feb 2018 21:20:13 +0900 Subject: Cancel following by --- src/content/components/common/follow.js | 1 + src/content/components/top-content/follow-controller.js | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'src/content/components/top-content') diff --git a/src/content/components/common/follow.js b/src/content/components/common/follow.js index 42dd897..a8682c5 100644 --- a/src/content/components/common/follow.js +++ b/src/content/components/common/follow.js @@ -63,6 +63,7 @@ export default class Follow { this.win.parent.postMessage(JSON.stringify({ type: messages.FOLLOW_KEY_PRESS, key: key.key, + ctrlKey: key.ctrlKey, }), '*'); return true; } diff --git a/src/content/components/top-content/follow-controller.js b/src/content/components/top-content/follow-controller.js index 1e7f3cd..1b5586b 100644 --- a/src/content/components/top-content/follow-controller.js +++ b/src/content/components/top-content/follow-controller.js @@ -32,7 +32,7 @@ export default class FollowController { case messages.FOLLOW_RESPONSE_COUNT_TARGETS: return this.create(message.count, sender); case messages.FOLLOW_KEY_PRESS: - return this.keyPress(message.key); + return this.keyPress(message.key, message.ctrlKey); } } @@ -69,7 +69,11 @@ export default class FollowController { }); } - keyPress(key) { + keyPress(key, ctrlKey) { + if (key === '[' && ctrlKey) { + this.store.dispatch(followControllerActions.disable()); + return true; + } switch (key) { case 'Enter': this.activate(); -- cgit v1.2.3 From 93bd0bc54fd5ce7a2803f2ebc7c834b1b815afda Mon Sep 17 00:00:00 2001 From: Shin'ya Ueoka Date: Tue, 6 Mar 2018 21:37:12 +0900 Subject: show message on find --- src/content/actions/find.js | 12 +++++++++++- src/content/actions/operation.js | 5 +---- src/content/components/top-content/find.js | 8 ++++++++ src/content/console-frames.js | 9 ++++++++- 4 files changed, 28 insertions(+), 6 deletions(-) (limited to 'src/content/components/top-content') diff --git a/src/content/actions/find.js b/src/content/actions/find.js index 80d6210..b266216 100644 --- a/src/content/actions/find.js +++ b/src/content/actions/find.js @@ -14,6 +14,13 @@ const postPatternNotFound = (pattern) => { 'Pattern not found: ' + pattern); }; +const postPatternFound = (pattern) => { + return consoleFrames.postInfo( + window.document, + 'Pattern found: ' + pattern, + ); +}; + const find = (string, backwards) => { let caseSensitive = false; let wrapScan = true; @@ -34,9 +41,12 @@ const findNext = (keyword, reset, backwards) => { window.getSelection().removeAllRanges(); found = find(keyword, backwards); } - if (!found) { + if (found) { + postPatternFound(keyword); + } else { postPatternNotFound(keyword); } + return { type: actions.FIND_SET_KEYWORD, keyword, diff --git a/src/content/actions/operation.js b/src/content/actions/operation.js index 5fd0f48..71b2470 100644 --- a/src/content/actions/operation.js +++ b/src/content/actions/operation.js @@ -62,10 +62,7 @@ const exec = (operation, repeat, settings) => { return focuses.focusInput(); case operations.URLS_YANK: urls.yank(window); - return consoleFrames.postMessage(window.document, { - type: messages.CONSOLE_SHOW_INFO, - text: 'Current url yanked', - }); + return consoleFrames.postInfo(window.document, 'Current url yanked'); case operations.URLS_PASTE: return urls.paste(window, operation.newTab ? operation.newTab : false); default: diff --git a/src/content/components/top-content/find.js b/src/content/components/top-content/find.js index bccf040..9967d36 100644 --- a/src/content/components/top-content/find.js +++ b/src/content/components/top-content/find.js @@ -38,6 +38,10 @@ export default class FindComponent { window.document, 'Pattern not found: ' + state.keyword); } + consoleFrames.postInfo( + window.document, + 'Pattern found: ' + state.keyword, + ); return this.store.dispatch(findActions.next(state.keyword, false)); } @@ -49,6 +53,10 @@ export default class FindComponent { window.document, 'Pattern not found: ' + state.keyword); } + consoleFrames.postInfo( + window.document, + 'Pattern found: ' + state.keyword, + ); return this.store.dispatch(findActions.prev(state.keyword, false)); } } diff --git a/src/content/console-frames.js b/src/content/console-frames.js index 515ae09..0c0ec02 100644 --- a/src/content/console-frames.js +++ b/src/content/console-frames.js @@ -28,4 +28,11 @@ const postError = (doc, message) => { }); }; -export { initialize, blur, postMessage, postError }; +const postInfo = (doc, message) => { + return postMessage(doc, { + type: messages.CONSOLE_SHOW_INFO, + text: message, + }); +}; + +export { initialize, blur, postError, postInfo }; -- cgit v1.2.3 From 4923cb20c77e7cc84d8ecdf1b12ee6c204701e71 Mon Sep 17 00:00:00 2001 From: Shin'ya Ueoka Date: Tue, 6 Mar 2018 21:59:08 +0900 Subject: remove redundant checks --- src/content/components/top-content/find.js | 21 --------------------- 1 file changed, 21 deletions(-) (limited to 'src/content/components/top-content') diff --git a/src/content/components/top-content/find.js b/src/content/components/top-content/find.js index 9967d36..4d46d79 100644 --- a/src/content/components/top-content/find.js +++ b/src/content/components/top-content/find.js @@ -1,6 +1,5 @@ import * as findActions from 'content/actions/find'; import messages from 'shared/messages'; -import * as consoleFrames from '../../console-frames'; export default class FindComponent { constructor(win, store) { @@ -32,31 +31,11 @@ export default class FindComponent { next() { let state = this.store.getState().find; - - if (!state.found) { - return consoleFrames.postError( - window.document, - 'Pattern not found: ' + state.keyword); - } - consoleFrames.postInfo( - window.document, - 'Pattern found: ' + state.keyword, - ); return this.store.dispatch(findActions.next(state.keyword, false)); } prev() { let state = this.store.getState().find; - - if (!state.found) { - return consoleFrames.postError( - window.document, - 'Pattern not found: ' + state.keyword); - } - consoleFrames.postInfo( - window.document, - 'Pattern found: ' + state.keyword, - ); return this.store.dispatch(findActions.prev(state.keyword, false)); } } -- cgit v1.2.3