From 0d6ccd7f615e4def7f187b4afd23d91d732e9dc8 Mon Sep 17 00:00:00 2001 From: azivner Date: Mon, 18 Dec 2017 23:41:13 -0500 Subject: [PATCH] change in default keyboard shortcuts --- public/javascripts/dialogs/add_link.js | 6 ++++- public/javascripts/dialogs/jump_to_note.js | 7 +++-- public/javascripts/dialogs/recent_notes.js | 6 ++++- public/javascripts/init.js | 13 +++++++--- public/javascripts/note_tree.js | 30 +++++++++++++++++----- services/notes.js | 2 +- 6 files changed, 48 insertions(+), 16 deletions(-) diff --git a/public/javascripts/dialogs/add_link.js b/public/javascripts/dialogs/add_link.js index c24c21d23..bd2062921 100644 --- a/public/javascripts/dialogs/add_link.js +++ b/public/javascripts/dialogs/add_link.js @@ -63,7 +63,11 @@ const addLink = (function() { return false; }); - $(document).bind('keydown', 'alt+l', showDialog); + $(document).bind('keydown', 'ctrl+l', e => { + showDialog(); + + e.preventDefault(); + }); return { showDialog diff --git a/public/javascripts/dialogs/jump_to_note.js b/public/javascripts/dialogs/jump_to_note.js index eff1ff509..cd0f6c2a2 100644 --- a/public/javascripts/dialogs/jump_to_note.js +++ b/public/javascripts/dialogs/jump_to_note.js @@ -4,7 +4,6 @@ const jumpToNote = (function() { const dialogEl = $("#jump-to-note-dialog"); const autoCompleteEl = $("#jump-to-note-autocomplete"); const formEl = $("#jump-to-note-form"); - const noteDetailEl = $('#note-detail'); async function showDialog() { glob.activeDialog = dialogEl; @@ -42,7 +41,11 @@ const jumpToNote = (function() { } } - $(document).bind('keydown', 'alt+j', showDialog); + $(document).bind('keydown', 'ctrl+j', e => { + showDialog(); + + e.preventDefault(); + }); formEl.submit(() => { const action = dialogEl.find("button:focus").val(); diff --git a/public/javascripts/dialogs/recent_notes.js b/public/javascripts/dialogs/recent_notes.js index bd5afe4a9..397be4e69 100644 --- a/public/javascripts/dialogs/recent_notes.js +++ b/public/javascripts/dialogs/recent_notes.js @@ -123,7 +123,11 @@ const recentNotes = (function() { reload(); - $(document).bind('keydown', 'alt+q', showDialog); + $(document).bind('keydown', 'ctrl+e', e => { + showDialog(); + + e.preventDefault(); + }); selectBoxEl.dblclick(e => { setActiveNoteBasedOnRecentNotes(); diff --git a/public/javascripts/init.js b/public/javascripts/init.js index e07f47521..b1c0d4a1e 100644 --- a/public/javascripts/init.js +++ b/public/javascripts/init.js @@ -1,22 +1,27 @@ "use strict"; // hot keys are active also inside inputs and content editables -jQuery.hotkeys.options.filterInputAcceptingElements = true; -jQuery.hotkeys.options.filterContentEditable = true; +jQuery.hotkeys.options.filterInputAcceptingElements = false; +jQuery.hotkeys.options.filterContentEditable = false; +jQuery.hotkeys.options.filterTextInputs = false; -$(document).bind('keydown', 'alt+m', () => { +$(document).bind('keydown', 'alt+m', e => { const toggle = $(".hide-toggle"); const hidden = toggle.css('visibility') === 'hidden'; toggle.css('visibility', hidden ? 'visible' : 'hidden'); + + e.preventDefault(); }); // hide (toggle) everything except for the note content for distraction free writing -$(document).bind('keydown', 'alt+t', () => { +$(document).bind('keydown', 'alt+t', e => { const date = new Date(); const dateString = formatDateTime(date); link.addTextToEditor(dateString); + + e.preventDefault(); }); $(document).bind('keydown', 'f5', () => { diff --git a/public/javascripts/note_tree.js b/public/javascripts/note_tree.js index 87c3e8dd9..63ebb5a18 100644 --- a/public/javascripts/note_tree.js +++ b/public/javascripts/note_tree.js @@ -357,12 +357,6 @@ const noteTree = (function() { function initFancyTree(noteTree) { const keybindings = { - "insert": node => { - const parentNoteId = node.data.note_pid; - const isProtected = treeUtils.getParentProtectedStatus(node); - - createNote(node, parentNoteId, 'after', isProtected); - }, "del": node => { treeChanges.deleteNode(node); }, @@ -644,10 +638,32 @@ const noteTree = (function() { showMessage("Created!"); } - $(document).bind('keydown', 'ctrl+insert', () => { + $(document).bind('keydown', 'ctrl+o', e => { + console.log("pressed O"); + + const node = getCurrentNode(); + const parentNoteId = node.data.note_pid; + const isProtected = treeUtils.getParentProtectedStatus(node); + + createNote(node, parentNoteId, 'after', isProtected); + + e.preventDefault(); + }); + + $(document).bind('keydown', 'ctrl+p', e => { const node = getCurrentNode(); createNote(node, node.data.note_id, 'into', node.data.is_protected); + + e.preventDefault(); + }); + + $(document).bind('keydown', 'ctrl+del', e => { + const node = getCurrentNode(); + + treeChanges.deleteNode(node); + + e.preventDefault(); }); $(document).bind('keydown', 'ctrl+.', scrollToCurrentNote); diff --git a/services/notes.js b/services/notes.js index bd6d1a229..37eef1eda 100644 --- a/services/notes.js +++ b/services/notes.js @@ -24,7 +24,7 @@ async function createNewNote(parentNoteId, note, sourceId) { // not updating date_modified to avoig having to sync whole rows await sql.execute('UPDATE notes_tree SET note_pos = note_pos + 1 WHERE note_pid = ? AND note_pos > ? AND is_deleted = 0', - [utils.nowDate(), parentNoteId, afterNote.note_pos]); + [parentNoteId, afterNote.note_pos]); await sync_table.addNoteReorderingSync(parentNoteId, sourceId); }