From 4559162d457cef014325c34ab27ef3e62c4c5a16 Mon Sep 17 00:00:00 2001 From: tophf Date: Tue, 6 Jun 2017 10:56:49 +0300 Subject: [PATCH] Alt-Enter in the editor to toggle&save the style --- _locales/en/messages.json | 4 ++++ edit.html | 5 ++++- edit.js | 15 ++++++++++++++- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 973eabf5..a5b7c4fe 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -514,6 +514,10 @@ "message": "Enabled", "description": "Label for the enabled state of styles" }, + "styleEnabledToggleHint": { + "message": "Press Alt-Enter to toggle enabled/disabled state and save the style", + "description": "Help text for the '[x] enable' checkbox in the editor" + }, "styleInstall": { "message": "Install '$stylename$' into Stylus?", "description": "Confirmation when installing a style", diff --git a/edit.html b/edit.html index 5d8df5a9..a263cc66 100644 --- a/edit.html +++ b/edit.html @@ -672,7 +672,10 @@
- + + +
diff --git a/edit.js b/edit.js index 702c8046..354f2c08 100644 --- a/edit.js +++ b/edit.js @@ -53,7 +53,8 @@ getCodeMirrorThemes(); var hotkeyRerouter = { commands: { save: true, jumpToLine: true, nextEditor: true, prevEditor: true, - find: true, findNext: true, findPrev: true, replace: true, replaceAll: true + find: true, findNext: true, findPrev: true, replace: true, replaceAll: true, + toggleStyle: true, }, setState: function(enable) { setTimeout(function() { @@ -166,6 +167,7 @@ function initCodeMirror() { theme: "default", keyMap: prefs.get("editor.keyMap"), extraKeys: { // independent of current keyMap + "Alt-Enter": "toggleStyle", "Alt-PageDown": "nextEditor", "Alt-PageUp": "prevEditor" } @@ -179,6 +181,7 @@ function initCodeMirror() { CM.commands.blockComment = function(cm) { cm.blockComment(cm.getCursor("from"), cm.getCursor("to"), {fullLines: false}); }; + CM.commands.toggleStyle = toggleStyle; // "basic" keymap only has basic keys by design, so we skip it @@ -849,6 +852,11 @@ function jumpToLine(cm) { }, {value: cur.line+1}); } +function toggleStyle() { + $('#enabled').checked = !$('#enabled').checked; + save(); +} + function refocusMinidialog(cm) { var section = cm.getSection(); if (!section.querySelector(".CodeMirror-dialog")) { @@ -1211,6 +1219,7 @@ function initHooks() { node.addEventListener("change", onChange); node.addEventListener("input", onChange); }); + document.getElementById("toggle-style-help").addEventListener("click", showToggleStyleHelp); document.getElementById("to-mozilla").addEventListener("click", showMozillaFormat, false); document.getElementById("to-mozilla-help").addEventListener("click", showToMozillaHelp, false); document.getElementById("from-mozilla").addEventListener("click", fromMozillaFormat); @@ -1581,6 +1590,10 @@ function showToMozillaHelp() { showHelp(t("styleMozillaFormatHeading"), t("styleToMozillaFormatHelp")); } +function showToggleStyleHelp() { + showHelp(t("helpAlt"), t("styleEnabledToggleHint")); +} + function showKeyMapHelp() { var keyMap = mergeKeyMaps({}, prefs.get("editor.keyMap"), CodeMirror.defaults.extraKeys); var keyMapSorted = Object.keys(keyMap)