Support global marks which select a tab
This commit is contained in:
parent
6e6e306275
commit
003742ec51
11 changed files with 179 additions and 4 deletions
|
@ -1,4 +1,5 @@
|
|||
import actions from 'content/actions';
|
||||
import messages from 'shared/messages';
|
||||
|
||||
const startSet = () => {
|
||||
return { type: actions.MARK_START_SET };
|
||||
|
@ -21,6 +22,25 @@ const setLocal = (key, x, y) => {
|
|||
};
|
||||
};
|
||||
|
||||
const setGlobal = (key, x, y) => {
|
||||
browser.runtime.sendMessage({
|
||||
type: messages.MARK_SET_GLOBAL,
|
||||
key,
|
||||
x,
|
||||
y,
|
||||
});
|
||||
return { type: '' };
|
||||
};
|
||||
|
||||
const jumpGlobal = (key) => {
|
||||
browser.runtime.sendMessage({
|
||||
type: messages.MARK_JUMP_GLOBAL,
|
||||
key,
|
||||
});
|
||||
return { type: '' };
|
||||
};
|
||||
|
||||
export {
|
||||
startSet, startJump, cancel, setLocal,
|
||||
setGlobal, jumpGlobal,
|
||||
};
|
||||
|
|
|
@ -30,8 +30,10 @@ export default class MarkComponent {
|
|||
|
||||
if (key.ctrlKey || key.metaKey || key.altKey) {
|
||||
consoleFrames.postError(window.document, 'Unknown mark');
|
||||
} else if (key.shiftKey) {
|
||||
consoleFrames.postError(window.document, 'Globa marks not supported');
|
||||
} else if (key.shiftKey && markStage.setMode) {
|
||||
this.doSetGlobal(key);
|
||||
} else if (key.shiftKey && markStage.jumpMode) {
|
||||
this.doJumpGlobal(key);
|
||||
} else if (markStage.setMode) {
|
||||
this.doSet(key);
|
||||
} else if (markStage.jumpMode) {
|
||||
|
@ -56,4 +58,13 @@ export default class MarkComponent {
|
|||
let { x, y } = marks[key.key];
|
||||
scrolls.scrollTo(x, y, smoothscroll);
|
||||
}
|
||||
|
||||
doSetGlobal(key) {
|
||||
let { x, y } = scrolls.getScroll();
|
||||
this.store.dispatch(markActions.setGlobal(key.key, x, y));
|
||||
}
|
||||
|
||||
doJumpGlobal(key) {
|
||||
this.store.dispatch(markActions.jumpGlobal(key.key));
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue